Hi everyone,
I’ve been using my EM2GO Home EV wallbox for a while now. While I previously used a custom Node-RED flow to provide PV surplus charging, I wanted to move toward a cleaner, more robust, and native Home Assistant solution. Since I was also looking for a project to test the new fable5 AI model, I decided to create this extension from scratch.
I am happy to share my new native Home Assistant Custom Integration for the EM2GO Home wallbox. It communicates directly via Modbus TCP, ensuring a fast, local-only connection without any cloud dependencies or API polling.
Development Background: This integration was built by migrating my long-term Node-RED implementation into a native Python component. A significant part of the architecture and code structure was developed with the help of the AI model fable5, which acted as my primary co-pilot in ensuring the code follows Home Assistant's best practices for custom integrations, async handling, and sensor state management.
Key Features:
- 100% Local: No cloud, no external APIs—direct communication with the charger.
- Native Energy Dashboard Support: Includes energy sensors fully compatible with the official HA Energy Dashboard.
- Performance: Significantly lower resource usage compared to external automation flows.
- Comprehensive Monitoring: Real-time data including charging status, current, power output, total energy consumption, and PV-surplus metrics.
- HACS Ready: Easy to install via HACS as a custom repository.
GitHub Repository: GitHub - Lu-Fi/ha-em2go-pvsc: EM2GO Home PV Surplus Charging (pvsc) · GitHub
This integration is based on the register mapping I’ve refined over time. Since these wallbox models (often rebadged Injet units) can sometimes vary in their register configuration (e.g., using different Slave IDs like 255), I’d love to get some feedback from the community. If you have an EM2GO charger, please feel free to test it out and report your findings.
Any feedback, suggestions, or PRs are highly appreciated!
Best regards,
Lu-Fi