evcc coordinates the charger with the rest of the house
evcc's useful unit is the whole energy system, not the wallbox alone. It can read grid import, solar generation, battery state, vehicle state of charge, and tariff information, then adjust charging toward a selected goal. The web interface exposes those choices while REST and MQTT connect the controller to broader home automation. That is more useful than a charger vendor app when several brands must cooperate.
The README lists a very large set of chargers, meters, solar and battery systems, vehicles, heat pumps, and smart switches. Brand presence is only the first filter. Different models and firmware can use different APIs, and vehicle state may come from a cloud service rather than the car on the local network. Check the device-specific documentation for every component before buying hardware around evcc.
What happened when we ran it
Our sandbox installed 682 npm packages in 23 seconds and occupied 469 MB. The root package exposed no build script or target, so the build step was skipped. It also exposed no test script or target, so tests were skipped. We did not convert either absence into a pass. Npm audit reported 4 known vulnerabilities: 2 high and 2 moderate, with 0 critical and 0 low.
The measured checkout was commit 5960e9f in an unprivileged Node 22 container with 3 CPUs and 8 GB of RAM. It contained 2,606 files, about 257,727 lines of source, and occupied 13.3 MB before the npm install. Our scan found 25 CI workflow files, a Dockerfile, and a tests directory. The root package scripts provide linting, development, Playwright, simulation, Storybook, and license checks, but no generic build or test command.
These results describe the repository's JavaScript tooling, not the Go controller's runtime. We did not compile the daemon, connect a charger, simulate solar surplus, change a current limit, or run its Go tests. The 469 MB footprint matters to contributors and UI tooling. It is not a measurement of the published evcc container or appliance storage.
Local control still depends on outside services for some devices
The project goal is local energy management without relying on an evcc cloud service. Many Modbus, SunSpec, MQTT, HTTP, EEBus, and OCPP paths can communicate on the home network. Vehicle and tariff integrations may still depend on manufacturer or provider clouds. An outage, changed login flow, expired token, or vendor rate limit can remove state that a charging rule expects.
Configuration therefore needs failure behavior, not just successful credentials. Decide what charging should do when the vehicle state of charge is unknown, a meter stops reporting energy, or an inverter disappears. Release 0.314.3 added a fallback to power integration when a meter loses its energy register and kept OCPP WebSockets alive between heartbeats. Those fixes show the kind of partial telemetry a real installation encounters.
Sponsor tokens alter the open-source calculation
The repository is licensed under MIT, with an explicit exception. The README says sponsor-required components are excluded from that license and require one evcc sponsorship token per instance; custom licensing is available. This is not a hidden hosted subscription, but it means hardware selection can determine whether a nominally self-hosted setup needs a paid token.
Read the sponsorship page and the source header for the chosen device before committing to it. A supported charger that requires a token has a different total cost from one using an unrestricted local protocol. The model funds integration work, and buyers still need the condition stated up front because a long brand list can obscure per-device terms.
Physical limits must remain outside the software
Charging current and phase switching affect real electrical equipment. evcc should operate inside limits enforced by the charger, installation, breaker, cable, and vehicle. Software settings are useful for optimization, but they should not be the only protection against an unsafe command or stale reading. Start with conservative current bounds and watch several complete charging sessions before enabling unattended tariff or surplus rules.
The August 27 issue queue included a report that phase and current settings conflict or do not stick, plus work on restoring a configured default mode after restart. Another issue described one-phase scaling being blocked in continuous modes, with a related fix in progress. Those are specific live reports rather than a claim that all phase switching is broken. They identify regression cases for installations using the same modes.
Release 0.314.3 reflects fast device maintenance
Version 0.314.3 was published August 23, 2026, and GitHub recorded a push on August 27. The repository had 7,143 stars and 142 combined open issues and pull requests when fetched. Device fixes and additions were active on August 26 and 27. That cadence suits a project tracking changing firmware and vendor APIs, though frequent updates also call for staged deployment.
evcc is compelling when its compatibility matrix matches the entire house. The controller can then turn otherwise separate devices into one understandable charging policy. Our limited Node result leaves the central Go runtime unverified, so adoption should begin with the project's own simulator or conservative live setup, followed by checks for disconnects, restarts, phase changes, sponsor requirements, and device-side safety limits.

