evcc-io/evcc

Hardware & IoT

Local control software that decides when and how fast to charge an EV using surplus solar power, grid limits and battery state.

7,418
1,587
Go
MIT
6 years old

evcc is worth considering if you already have (or are planning) a PV system, a controllable wallbox and some way to read your meters locally; it is not a plug-and-play consumer app, and its value depends heavily on whether your specific hardware appears on its supported device lists.

The problem

A home with solar panels and an EV usually ends up manually juggling three things: charging the car while the sun is up, avoiding importing expensive grid power, and not tripping a main fuse when the oven and the charger run together. Wallbox vendor apps typically control only their own charger and rarely know what the PV inverter, battery or house meter is doing. evcc sits in the middle: it reads meters, inverters and vehicle state, then issues charge-current setpoints to the wallbox so the car absorbs surplus production or respects a grid limit. The result is a charging session you no longer have to start and stop by hand.

What's different

Rather than owning hardware, evcc is an integration layer. Its README lists a large catalogue of chargers, meters, inverters, batteries, heat pumps and vehicles, plus EEBus and OCPP support and a plugin system for Modbus, HTTP, MQTT, JavaScript, WebSocket, Go and shell scripts (project README, plugin docs). That breadth is the point: one controller adapts to a mixed-vendor installation instead of requiring a single ecosystem.

The project states its goal is local energy management without relying on cloud services (project page). That matters for a system that may need to keep charging while the internet is down, but some capabilities still depend on external accounts: vehicle state-of-charge and remote-charge integrations include vendor cloud services and aggregators such as Tronity and TeslaMate (vehicle integrations). The trade-off is configuration effort. A functioning setup means describing your meters and chargers accurately, and unusual devices may need a custom plugin before evcc can control them.

A second, less obvious design choice: charging logic can extend beyond the car. The same controller can drive smart switches and electric heaters or heat pumps (heating devices, smart switches), so surplus energy can be diverted when the car is full. That makes evcc a small home energy manager rather than only a charger scheduler — useful, but also more surface area to configure and keep correct.

Who should try it

Good fit: a technically comfortable owner with a PV installation, a supported wallbox and a meter or inverter that evcc can read, who wants charging to follow production rather than a fixed schedule. If you also run Home Assistant or openHAB, the REST and MQTT APIs and the community add-ons give you a way to observe and combine evcc with the rest of the house (REST API, MQTT API, Home Assistant add-on).

Poor fit: someone with a single vendor ecosystem whose app already does solar charging, or someone unwilling to maintain a self-hosted service. A renter with only a dumb charger and no local meter access will find little to control. Also note that evcc documents a sponsorship model: where vendors do not provide open documentation or hardware support, some components require a sponsor token to finance development and support (sponsorship). That is a real cost decision, not a licensing trap to ignore.

Requirements and limitations

Support is device-list-driven. Before installing, check your wallbox, meter, inverter and car against the device documentation (chargers, meters); a device absent from those lists is not automatically unusable, but it will require the plugin route and your own integration work. Vehicle APIs are another weak point to check: cloud integrations can change or be rate-limited, so a car connection is convenient rather than something to depend on for every session.

The software runs as a self-hosted service; the README points to the documentation for getting started and to a nightly build workflow and releases for versions (documentation, releases). Ongoing upkeep means updating when device APIs or your equipment change, and reviewing configuration after hardware swaps. Expect configuration and debugging time proportional to how many non-standard devices you have.

HotRepo's take

HotRepo recorded evcc on the daily trending board once, on 2026-10-26, at 7,418 stars with +6 that day; that single observation cannot establish whether interest is rising or fading. Use it as a signal that the project exists and is noticed, not as a maturity score. The practical check before committing: confirm that your exact wallbox and meter models appear in evcc's supported-device documentation, because that determines whether this is a weekend configuration job or a custom-integration project.

Written by AI from the project's README, updated October 26, 2026. The project's own docs are the source of truth.