Analysis updated 2026-05-18
Automatically charge an EV using solar surplus power to avoid pulling more expensive grid electricity.
Shift EV charging to cheaper time of use pricing windows using real utility tariff data.
Set a target battery charge level and a ready by time so charging finishes when needed.
Test the OpenADR and MQTT integration with fake telemetry before connecting a real charger and Home Assistant.
| jeef84/openadr_evse | 0xallam/my-recipe | 0xhassaan/nn-from-scratch | |
|---|---|---|---|
| Stars | 0 | — | 0 |
| Language | Python | Python | Python |
| Last pushed | — | 2022-11-22 | — |
| Maintenance | — | Dormant | — |
| Setup difficulty | hard | moderate | moderate |
| Complexity | 4/5 | 2/5 | 4/5 |
| Audience | ops devops | general | developer |
Figures from each repo's GitHub metadata at analysis time.
Needs Docker, a Postgres database, an MQTT broker, and existing Home Assistant sensors already configured.
OpenADR_EVSE is a Python project that connects an OpenEVSE electric vehicle charger to Home Assistant through a local implementation of the OpenADR 3.1 standard, a protocol utilities use to signal electricity price and demand information. The project's stated goal, described in the README as HOME_EV_FLEX, is to turn editable utility tariff settings and telemetry from Home Assistant, sent over MQTT, into specific amp limits sent to the charger. The system has several pieces working together. Home Assistant, or a set of test fixtures, publishes site data such as solar production and grid import and export power over MQTT. A tariff engine reads a configuration file describing time of use pricing and export credit, then calculates a marginal cost for each situation, whether power is coming from solar surplus or being imported from the grid. This information passes through an OpenADR VTN server, built with OpenLEADR and Postgres, which acts as the standards boundary. A Python VEN adapter then reads the resulting price signal and site data and calculates an integer amp value for the charger, smoothing changes to avoid rapid jumps. A bridge component translates that amp value into MQTT commands the OpenEVSE charger understands. The README lists four operating modes: economic, solar_only, charge_now, and stopped, along with an overlay feature that lets a user set a target state of charge and a time they need the car ready by. Setup requires Docker and Docker Compose to run the backend services on a Linux host or virtual machine, plus Python 3.11 or newer for tests and lab helpers. Home Assistant needs specific sensor entities configured, such as solar production and grid import and export power, before the system can run against real data. The README provides a lab stack option that uses fake telemetry fixtures instead of live sensors, letting someone test the setup with a real OpenEVSE charger before connecting Home Assistant. This is a home energy automation project aimed at someone who already owns an OpenEVSE charger and runs Home Assistant, and wants to charge an EV based on real-time electricity costs and solar availability rather than a fixed schedule.
A Python OpenADR 3.1 system that reads utility electricity prices and Home Assistant solar data to automatically set charging limits on an OpenEVSE electric vehicle charger.
Mainly Python. The stack also includes Python, MQTT, Docker.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly ops devops.
This repo across BitVibe Labs
Verify against the repo before relying on details.