/ha-myenergi

Home Assistant integration for MyEnergi devices

Primary LanguagePythonMIT LicenseMIT

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 (libbi is not currently supported) connected to your 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 today sensor (W); consumption - 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 that let you switch between Stopped, Fast, Eco and Eco+ charge modes
    • Phase setting to switch between Automatic, 1, or 3 phase charging 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
    • Charger status sensor
    • Minumum 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 paramters)
    • Service to stop boost
    • Service to unlock the Zappi
  • 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 add-on 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:

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.

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. Historical data will not be lost.

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.