Custom component to support Easee EV chargers and equalizers.
The status sensor is the default sensor and has the following values
disconnected
awaiting_start
charging
ready_to_charge
completed
error
Some of the other non-common sensors like Current and Voltage are disabled by default (shown as "unavailable"). They can be enabled in the HA GUI via Integrations->[Easee Name]->Devices->[Easee Equilizer Name] and under Diagnostic click on Current/Voltage->gear_icon and then Enable it. Each of these sensors has also attributes which contain values like current and voltage per phase. See #271 on how to use these attributes.
There are 2 different methods of installing the custom component
- Add this repository from HACS->Integrations.
- Restart Home Assistant.
- Install the component from Settings->Integrations. You may have to clear the browser cache to make the Easee integration appear in the list.
- Make sure you have git installed on your machine.
- Navigate to you home assistant configuration folder.
- Create a
custom_components
folder of it does not exist, navigate down into it after creation. - Execute the following command:
git clone https://github.com/nordicopen/easee_hass.git easee
- Run
bash links.sh
Since v0.9.47 the integration only includes the chargers and equalizers that has been added to the Easee official app, rather than showing all that are available to the logged in user. This change was done becuase in larger installations there could be 10s or 100s of chargers listed which in most cases does not make much sense. So if you do not see all your products in the integration, open the official app and make sure they are listed there first. Note also that if no chargers at all are added to the app the error message "No sites found in this account" will be displayed at installation.
Configuration is done through in Configuration > Integrations where you first configure it and then set the options for what you want to monitor.
The basic use of the integrations from the UI should be self-explanatory. The integration defines a number of services that can be used from automations and scripts to control the charger and the charging process. The available services can be found in Home Assistant at Developer tools->Services.
The easiest way to set up services and their parameters is to use the automation editor or the developer tools. However, you can also write the code in plain yaml. The UI will use device_id as target for the services. This is a random string generated internally by HA and is not very user friendly. To simplify for hard-core coders and to be backward compatible with previous versions of this integration you can also use charger_id or circuit_id as targets. Three examples that will do the same thing:
service: easee.set_circuit_dynamic_limit
data:
device_id: b40f1f45d28b0891
currentP1: 10
service: easee.set_circuit_dynamic_limit
data:
charger_id: EVK1234
currentP1: 10
service: easee.set_circuit_dynamic_limit
data:
circuit_id: 30456
currentP1: 10
For details on the Easee API, please refer to https://developer.easee.cloud/reference
A full debug log can be enabled by entering following into configuration.yaml
and restarting Home Assistant
logger:
default: info
logs:
pyeasee: debug
custom_components.easee: debug
One option for development is to use the VS Code Dev Container. You need to have Docker installed.
- Open a new blank vscode
- Select Command palette->Dev containers: Clone repository in named container volume
- Follow the prompts
- Wait for the container to be built.
- Press
Ctrl
+Shift
+P
and selectTasks: Run Task
>Run Home Assistant on port 9125
. - Wait for Home Assistant to start and go to http://localhost:9125/.
- Walk through the Home Assistant first-launch UI.
- Go to http://localhost:9125/config/integrations, click
Add Integration
and add theEasee
integration. - To debug, press
F5
to attach to the Home Assistant running in the container.
Always run
$ make lint
before pushing your changes.
We are using Lokalise to handle submission of translations. They provide us with an amazing platform that is easy to use and maintain.
To help out with the translation of the Easee integration click here. If you are asked to login it is normally easiest to use "Log in with GitHub".
If you want to add a new language, please open an issue here in this repo.
The translations are pulled when a new release of the integration is prepared. So you must wait until there is a new release until your look for your updates.
If you want to add new elements that needs translation you should enter them in /translations/en.json and submit a PR. The new keys will appear in Lokalise when the PR is merged.
This project was started by the late Niklas Fondberg, @fondberg. The repository has been inherited by his collaborators.
The project is supported by