ha-myenergi

Home Assistant integration for MyEnergi devices

https://github.com/cjne/ha-myenergi

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.2%) to scientific vocabulary

Keywords

ev-charging green-energy home-assistant myenergi

Keywords from Contributors

projection interactive serializer cycles packaging charts network-simulation archival shellcodes hacking
Last synced: 11 months ago · JSON representation

Repository

Home Assistant integration for MyEnergi devices

Basic Info
  • Host: GitHub
  • Owner: CJNE
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 783 KB
Statistics
  • Stars: 174
  • Watchers: 25
  • Forks: 43
  • Open Issues: 7
  • Releases: 36
Topics
ev-charging green-energy home-assistant myenergi
Created almost 5 years ago · Last pushed 11 months ago
Metadata Files
Readme Contributing License

README.md

Myenergi for Home Assistant

GitHub Release GitHub Activity License

pre-commit Black

hacs Project Maintenance BuyMeCoffee

Discord Community Forum

Myenergi custom component for Home Assistant. This component will make all supported myenergi devices connected to your myenergi hub accessible in Home Assistant. The energy sensors are fully compatible with the energy dashboard in Home Assistant.

It will create HA devices depending on what you have installed:

  • Hub

    • Grid power sensor (W)
    • Grid voltage sensor (V)
    • Grid frequency sensor (Hz)
    • Generation power sensor (W)
    • Charging/heating power sensor (W)
    • Home power sensor (W); consumed power that is not charging, heating, generation and export
    • Energy generated today sensor (kWh)
    • Energy exported today sensor (kWh)
    • Energy imported today sensor (kWh)
    • Green energy today sensor (kWh); this is the amount of generated energy that was used for charging or heating instead of being exported
  • Zappi

    • Charge mode selector (Stopped, Fast, Eco and Eco+)
    • Phase setting (Automatic, 1 phase, 3 phase); Used in Eco+ charge mode
    • Charge added this session sensor (kWh)
    • Energy consumed today sensor (kWh)
    • Energy diverted today sensor (kWh)
    • Power sensors for internal and external CT clamps (W)
    • Plug status sensor (EV Connected, Waiting for EV, Charging, EV Disconnected)
    • Charger status sensor (Paused, Charging, Boosting, Completed)
    • Minimum green level number input (%); how much power must be sourced from green sources (local generation) to do diversion charging
    • Service to start boost (provide boost amount in kWh as parameter)
    • Service to start smart boost (provide boost amount in kWh and desired finished time as parameters)
    • Service to stop boost
    • Service to unlock the Zappi
    • Sensor for PIN Lock Status (This is not very useful in the real world)
    • Sensor for Charge when Locked Status (This is the sensor that relates to the "unlock" service call and is the one you will want to use)
    • Sensor for lock when plugged in status
    • Sensor for lock when unplugged status
  • Eddi

    • Operating mode selector that let you switch between Stopped (no heating will take place) and Normal modes
    • Power sensors for internal and external CT clamps (W)
    • Temperature sensors if fitted
    • Service to start boost (provide boost amount in minutes as parameter)
    • Heater priority; whether the first or second heater should be used first
  • Harvi

    • Power sensors for internal and external CT clamps (W)

Common sensor entities may also include:

  • Serial number
  • Firmware version
  • Device priority; used for deciding which gets power first

This Home Assistant integration talks to the myenergi API using the pymyenergi python library.

This component will set up the following platforms.

| Platform | Description | | -------- | --------------------------------------------------- | | sensor | Provides various readings for your myenergi devices | | select | Configure devices | | number | Configure devices |

example

HACS Installation

Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.

This is the recommended way to install.

  1. Search for myenergi in HACS.
  2. Install.
  3. Restart Home Assistant.
  4. In the HA UI, click Settings in the left nav bar, then click "Devices & Services". By default you should be viewing the Integrations tab. Click "+ Add Integration" button at bottom right and then search for "myenergi".

Manual Installation

  1. Using the tool of choice open the directory (folder) for your HA configuration (where you find configuration.yaml).
  2. If you do not have a custom_components directory (folder) there, you need to create it.
  3. In the custom_components directory (folder) create a new folder called myenergi.
  4. Download all the files from the custom_components/myenergi/ directory (folder) in this repository.
  5. Place the files you downloaded in the new directory (folder) you created.
  6. Restart Home Assistant.
  7. In the HA UI, click Settings in the left nav bar, then click "Devices & Services". By default you should be viewing the Integrations tab. Click "+ Add Integration" button at bottom right and then search for "myenergi".

Using your HA configuration directory (folder) as a starting point you should now also have this:

text custom_components/myenergi/translations/en.json custom_components/myenergi/translations/fr.json custom_components/myenergi/translations/sv.json custom_components/myenergi/translations/nb.json custom_components/myenergi/__init__.py custom_components/myenergi/config_flow.py custom_components/myenergi/const.py custom_components/myenergi/entity.py custom_components/myenergi/manifest.json custom_components/myenergi/number.py custom_components/myenergi/select.py custom_components/myenergi/sensor.py custom_components/myenergi/services.yaml

Configuration is done in the UI

If you have trouble logging in you might need to request an API key from myenergi. You can generate one at your myenergi account page. See the myenergi support article for more information.

Commonly used helpers and automations

Plugged in (binary sensor)

Helpers > Create Helper > Template > Template a binary sensor

  • Name: Zappi Plugged in
  • Template: {{ is_state('sensor.zappi_plug_status', ['Waiting for EV', 'EV Connected', 'Charging']) }}
  • Device class: Plug
  • Device: Myenergi Zappi

Charging (binary sensor)

Helpers > Create Helper > Template > Template a binary sensor

  • Name: Charging
  • Template: {{ is_state('sensor.zappi_charger_status', 'Charging') or ( is_state('sensor.zappi_charger_status', 'Boosting') and is_state('binary_sensor.zappi_plugged_in', 'on'))}}
  • Device class: Charging
  • Device: Myenergi Zappi

Troubleshooting

  1. Check the MyEnergi app first to ensure everything works in the MyEnergi eco system.
  2. Update the integration to the latest version and restart Home Assistant.
  3. Check the (closed) issues and Community Forum

Updating to the latest (beta) version

go to:

  • HACS > Myenergi.
  • from the 3-dot menu, select Redownload.
  • slecht Need a different version.
  • Choose the latest (beta) version.

Updating API key

If you need to change your API key for any reason, you will need to remove the device from "Integration entries", and re-add it again with the new API key.

If the master device is changed or replaced, a new API key is needed.

If an additional device is added, it can take a few hours before it shows up.

This integration is incompatible with Octopus. If Octopus controls your devices, this integration will no longer function correctly.

Contributions are welcome!

If you want to contribute to this please read the Contribution guidelines.

Credits

This project was generated from @oncleben31's Home Assistant Custom Component Cookiecutter template.

Code template was mainly taken from @Ludeeus's integration_blueprint template.


Owner

  • Name: Johan Isacsson
  • Login: CJNE
  • Kind: user
  • Location: Sweden
  • Company: Hälsa Hemma

GitHub Events

Total
  • Create event: 25
  • Release event: 4
  • Issues event: 93
  • Watch event: 25
  • Delete event: 24
  • Issue comment event: 373
  • Push event: 64
  • Pull request review event: 3
  • Pull request event: 52
  • Fork event: 9
Last Year
  • Create event: 25
  • Release event: 4
  • Issues event: 93
  • Watch event: 25
  • Delete event: 24
  • Issue comment event: 373
  • Push event: 64
  • Pull request review event: 3
  • Pull request event: 52
  • Fork event: 9

Committers

Last synced: 12 months ago

All Time
  • Total Commits: 373
  • Total Committers: 23
  • Avg Commits per committer: 16.217
  • Development Distribution Score (DDS): 0.579
Past Year
  • Commits: 103
  • Committers: 13
  • Avg Commits per committer: 7.923
  • Development Distribution Score (DDS): 0.65
Top Committers
Name Email Commits
dependabot[bot] 4****] 157
Johan Isacsson j****n@g****e 106
Johnny Willemsen j****n@r****l 29
Jaap P. a****m@g****m 22
trizmark z****a@g****m 18
G6EJD - David d****d@s****m 7
Sam Reed s****m@r****t 6
Cormac 9****e 3
JosyBan j****c@y****m 3
Samuel s****l@s****k 3
Alex Bennée a****e@l****g 2
Jonathan McCrohan j****n@g****m 2
Loïc 1****1 2
Mark Cocker m****r@u****m 2
Nicholas Orr n****k@g****u 2
azekeil 7****l 2
Gertjan g****p@f****m 1
LeiChat g****m@l****m 1
Pydrex a****y@l****k 1
Richard Burford r****d@m****m 1
Rob Ferrer r****b@f****k 1
Zeppen z****n@g****m 1
sparks1372 s****2 1

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 117
  • Total pull requests: 217
  • Average time to close issues: about 1 year
  • Average time to close pull requests: 28 days
  • Total issue authors: 97
  • Total pull request authors: 18
  • Average comments per issue: 6.68
  • Average comments per pull request: 0.64
  • Merged pull requests: 108
  • Bot issues: 0
  • Bot pull requests: 166
Past Year
  • Issues: 38
  • Pull requests: 65
  • Average time to close issues: 3 days
  • Average time to close pull requests: 2 months
  • Issue authors: 37
  • Pull request authors: 9
  • Average comments per issue: 3.42
  • Average comments per pull request: 0.57
  • Merged pull requests: 37
  • Bot issues: 0
  • Bot pull requests: 41
Top Authors
Issue Authors
  • G6EJD (5)
  • ProximusAl (4)
  • LeiChat (3)
  • DuzAwe (2)
  • reedy (2)
  • scotflieger (2)
  • thunder2k (2)
  • cconnoruk (2)
  • jwillemsen (2)
  • newbuilder22 (2)
  • Ulrar (2)
  • sjs-1956 (2)
  • olej24 (2)
  • lozzd (2)
  • JanDetrez (1)
Pull Request Authors
  • dependabot[bot] (166)
  • jwillemsen (20)
  • AJediIAm (9)
  • Computerwhz (3)
  • zoic21 (2)
  • narjekdjcusbe (2)
  • jeroenribbink (2)
  • LeiChat (2)
  • Pydrex (2)
  • DReffects (1)
  • videojedi (1)
  • trizmark (1)
  • JosyBan (1)
  • Zeppen (1)
  • nickorr (1)
Top Labels
Issue Labels
bug (1)
Pull Request Labels
dependencies (166) python (126) github_actions (40)

Dependencies

.github/workflows/labeler.yml actions
  • actions/checkout v3.1.0 composite
  • crazy-max/ghaction-github-labeler v4.1.0 composite
.github/workflows/release-drafter.yml actions
  • release-drafter/release-drafter v5.21.1 composite
.github/workflows/tests.yaml actions
  • actions/checkout v3.1.0 composite
  • actions/setup-python v4.3.0 composite
  • hacs/action 22.5.0 composite
  • home-assistant/actions/hassfest master composite
requirements_dev.txt pypi
  • flake8 * development
  • homeassistant * development
  • pymyenergi * development
  • pytest * development
  • reorder-python-imports * development
requirements_test.txt pypi
  • pytest-homeassistant-custom-component ==0.12.29 test