Hey all,
Like a lot of folks running a Victron EV Charging Station (EVCS / EVCS NS / Pro), I spent months running it off a sprawling block of raw modbus YAML, custom template sensors, and automations to sync holding registers back and forth. It worked, but keeping 50 lines of YAML alive across core Modbus changes was getting tedious.
I put together a native custom integration to treat it like a proper first-class Home Assistant device:
GitHub: https://github.com/Brazen00/victron-evse-homeassistant
What it does:
- Clean UI setup: Configure it right from Settings → Devices & Services → Add Integration. Just punch in the station’s IP address and you’re done.
- Plays nice with HA’s updated Modbus stack: Hooks straight into Home Assistant’s central connection broker.
- Single-PDU batched reads: Pulls the holding register block in one single request per poll cycle, avoiding station socket lockups and random timeout drops.
- Native entities out of the box:
- switch for charging control
- number slider for charging current limits
- Sensors for Mode, Charger Status, L1/2/3 Power, Session Energy, Session Time, and Total Energy (odometer)
Firmware Notes (v1.30 vs v2.x):
- Tested and rock-solid on v1.30: This is what I run daily.
- Should work fine on v2.x: The underlying Modbus TCP register map is the same, but remember that the v2.x firmware upgrade often flips Modbus TCP back to Disabled by default. Just make sure Modbus TCP is enabled in the station’s web UI, and keep the station in Manual mode so Home Assistant can dictate the start/stop state without the internal scheduler fighting it.
How to install:
Currently awaiting default HACS indexing, but you can grab it right now via HACS custom repos:
- Open HACS → Integrations.
- Click the top-right menu → Custom repositories.
- Add
https://github.com/Brazen00/victron-evse-homeassistantwith category Integration. - Download, restart Home Assistant, then add Victron EV Charging Station from the Integrations page.
(Or just hit the blue “Open in My Home Assistant” badge on the GitHub repo.)
I’ve tested it on single-phase hardware. If you’re running a three-phase setup or running a v2.x build, give it a spin and let me know how it behaves—feedback and PRs are welcome!
