This Home Assistant integration provides comprehensive control and monitoring of EVSE chargers that are compatible with the EVSEMaster app. While all testing was done on Telestar device, it should work with all devices that use the app like the one from Besen, Telestar, evseODM, Morec, Deltacom, etc.
The underlying implementation is factored out to a separate Python package: https://github.com/RafaelSchridi/evsemaster
- Telestar EC311S6
- Besen B20
This Home Assistant integration is based on the excellent work by @johnwoo-nl in the emproto Node.js library that reverse-engineered the EVSEMaster protocol. All the hard work of understanding the protocol, packet structures, and communication patterns was done by @johnwoo-nl.
- Various sensors for monitoring charger status, energy consumption, and more (see specifics below).
- Start/stop charging control.
- Custom Action to start a single charging session with start delay and optional stop time.
- Currently supports only a single charger per Home Assistant instance.
Start a charging session with optional parameters for delayed start and maximum duration.
Parameters:
max_amps(optional): Maximum charging amperage in Amperes (A). If not specified, the charger's configured max amps will be used. Values above the configured max are clamped to it; values above the device hardware limit raise an error.start_datetime(optional): When to start charging. Format: ISO 8601 datetime string. If not specified, charging starts immediately. Needs to be within 24 hours from now. If timezone is not specified, the local timezone will be assumed.duration_hours(optional): Maximum charging duration in hours. Range: 1-24 hours. If not specified, charging will continue until manually stopped or the vehicle is fully charged.target.device_id: The device ID of the charger to control. Currently, only a single charger is supported per Home Assistant instance. so nothing is done with this yet.
Example:
service: evsemaster.start_charging
target:
device_id: YOUR_DEVICE_ID
data:
max_amps: 16
start_datetime: "2024-01-25T14:30:00+01:00"
duration_hours: 2Shows the current operational state of the charger.
I.e., whether it is idle, charging, waiting, or not connected.
Real-time charging power consumption in Watts (W) while charging.
Should be over all 3 phases, but not tested.
Indicates whether a connector is plugged into the vehicle. I.e., whether the vehicle is connected to the charger or not and if its locked.
Internal charger temperature in Celsius (°C).
Ambient/external temperature reading in Celsius (°C).
- Note: On some devices like the Telestar and Besen this sensor is just the inner temperature again.
Total cumulative energy delivered by the charger since it was first installed. This is a persistent counter that only increases.
Total cumulative energy delivered by the charger in the current charging session. This counter resets back to 0 when the next charging session starts.
Duration of the current charging session in seconds. This counter resets back to 0 when the next charging session starts.
Date/time when the current or last charging session started.
The scheduled start time for a charging session if one is set via the start_charging service.
The duration for a reserved charging session in minutes. set via the start_charging service.
Indicates whether a connector is currently plugged into a vehicle.
Indicates whether the charger is actively charging.
Triggers a charging session immediately or with optional start delay and duration.
- Availability: Only available when a vehicle is connected
Stops the current charging session.
- Availability: Only available when a vehicle is connected
These appear in the Configuration section of the device page.
Sets the maximum charging current for the charger. Range: 6 A to the device hardware limit.
- Warning: Some devices (e.g. Besen B20) support changing this value during an active charging session, while others do not (e.g. Telestar EC311S6) and will return an error. If your device does not support dynamic current adjustment, only change this value when the charger is idle.
Custom name for the charger device for easy identification. Also changes the name displayed on the charger itself.
- Max Length: Device-dependent (typically 28-32 characters)
These entities are disabled by default and appear in the Diagnostic section of the device page.
Clock skew between the charger's internal clock and local time in seconds. Some firmware versions have a bug where the device clock drifts by weeks; when a discrepancy of more than 24 hours is detected, this integration automatically compensates when scheduling sessions. 0 means no workaround is active.
Per-phase voltage in Volts (V).
Per-phase current in Amperes (A).