Hi everyone,
I built a Venus OS EV charger service for Cerbo GX / Venus OS that exposes EV charging setups as a native EV charger tile with DBus integration, GX GUI / VRM visibility, local control logic, and GX-friendly deployment.
The project started with Shelly-controlled relay paths for simple portable EVSE / charging-brick setups, but it has since grown into a broader Venus OS wallbox service that also supports native charger integrations, modular multi-device topologies, and configurable backend adapters.
What it does:
Shows up as a native EV charger tile in the GX GUI and VRM
Manual mode: direct start/stop control from the Victron GUI
Auto mode: charging control based on PV surplus, grid import/export, battery SOC, delays, and recovery logic
Scheduled / Plan mode: daytime Auto policy plus optional night-boost behavior
Native Shelly backends plus configurable HTTP and Modbus adapters
Native charger integrations for go-e, SimpleEVSE, SmartEVSE, and generic Modbus charger profiles
Support for combined, split, and multi-device topologies
Optional external phase-switch coordination
Runtime diagnostics for charging state, faults, recovery, scheduling, backend state, and phase state
GX-focused installation, bootstrap, and updater flow for deployment under /data
Typical setups include:
Shelly relay + charging brick
Native charger integrations
Native charger + external phase switching
Split meter / switch / charger setups
Modbus-based EVSE integrations
The service runs entirely on the Cerbo. There is no cloud dependency in the core runtime.
GitHub: GitHub - martinthebrain/dbus-shelly-evcharger
The README covers installation, configuration, deployment, and backend topology patterns. The example Venus config is documented and intended as a practical starting point.