evcc is an open-source home energy management system and solar charging optimization engine. It coordinates solar inverters, electric vehicle chargers, home batteries, and smart devices to route surplus solar energy to load points, optimizing energy use and minimizing grid costs.
The platform functions as a multi-protocol charger orchestrator and ISO 15118-2 plug and charge controller, enabling automatic vehicle identification and battery state retrieval. It distinguishes itself through a plugin-based device abstraction layer and protocol-agnostic drivers that unify control across diverse hardware using native protocols, OCPP, and EEBus standards.
Its capability surface covers energy cost optimization via dynamic tariffs and carbon intensity tracking, multi-device load balancing, and the coordination of smart home devices like heat pumps and smart sockets. It also provides detailed home energy flow monitoring and integrates with automation platforms via an MQTT bridge.
The system supports extensibility through custom script execution in Go, JavaScript, and shell.