Elektroauto lädt Solarstrom an einer Wallbox. Person verwendet evcc auf dem Smartphone.

Solar charging. Super simple.

evcc is an energy management system with a focus on electromobility. The software controls your EV charger or smart plug. It communicates with your vehicle, inverter or home storage to make intelligent charging decisions. The software is open source and community-driven.

Get Started Raspberry Pi, Docker and co.


Charge when the sun is shining

Your charging process starts as soon as enough solar power is produced. The charging power is permanently adjusted to the available surplus.

This increases self-sufficiency and saves money.


Use green & cheap grid power

Too little sun or no PV system? Charge when the renewables share is high to support the energy revolution.

With a dynamic electricity tariff you even save a lot of money.


We 💚 good UI

We want to make solar charging easy for everyone. In the best-case scenario, this works without manual interventions and regular setting adjustments. But if you do want to see what the system is doing, we have a clean and responsive web interface ready to go.

You can choose between light- and dark-mode.

We have set up a sample installation you can use to try the interface.

Try demo instance


We communicate with all manufacturers

Closed ecosystems, cloud services and proprietary solutions are not our cup of tea. evcc runs on your own hardware and lets your devices work together intelligently - no matter the manufacturer. We are also not interested in your data.

More details can be found in our documentation. If your device is not supported yet, let us know on GitHub. If it has an interface, we can connect it.

Plugin architecture and smart home integration

You have a special setup or use exotic devices? evcc comes with a flexible plugin architecture and allows you to build custom implementations via Modbus, SunSpec, HTTP, JSON, REST, MQTT, JavaScript and Shell.

Already have a smart home system? We integrate nicely with Home Assistant, openHAB and ioBroker. evcc even works with higher-level energy managers and can take commands via SEMP and EEBUS protocol.

How evcc works

How it works

The core functionality of evcc is relatively simple. The system collects information about energy generation, the state of the home battery, the electricity price, and the charging status of the electric vehicle.

With this data, evcc controls your EV charger to maximize your PV surplus usage. If you have a dynamic electricity tariff, you can define a charging plan or set a price limit and charge at the cheapest times.

Vehicle integration

If your electric vehicle has an API, evcc can query information like the current charge level. This data can be used to enable comfort functions like charge limits for battery care or a minimum charge level for immediate charging when needed.

You can see all charging sessions in the web interface. If your vehicle supports it, you’ll not only see solar share and costs per session but also the odometer reading of your vehicle.

Home battery integration

With the home battery control, you can define whether surplus energy should first flow into the home battery or the electric vehicle. Newer hybrid inverters can also be controlled directly via evcc. This way, evcc can prevent the unwanted discharge of the home battery or charge the home battery at times of low grid prices in the winter months.

Large systems, small systems

Even more complex scenarios like charging multiple vehicles, integrating multiple PV and storage systems, or load management to avoid overloading the home connection are possible.

Do you have a balcony PV system and switchable sockets? Even then, evcc helps you to charge your e-bike battery with solar power or activate your ice cube machine when there is a surplus. Many micro inverters and smart sockets are supported.


Install evcc at your home

System requirements

evcc is written in Go, and is extremely efficient: you don’t need a system with a lot of CPU or RAM. Typically you can run it on a Raspberry Pi or in Docker (e.g. Synology NAS). Windows, macOS and Linux are all fully supported.

Setting up evcc

evcc is very flexible. However, the initial setup still requires a fair amount of technical knowledge. If you’re familiar with the command line, and you’ve ever edited a YAML file, then you should be able to get it configured. You’ll find everything you need to know in the documentation.

Get Started


Professional support

You are a solar installer or electrician, you set up charging solutions professionally and you need support with configuring evcc? Unfortunately, we cannot provide individual support. However, if you need advice, support or training, we will be happy to refer you to experts and power users from the community who know the system very well.

Request support


Support the project

Actively participating

Join the development team, and help us support the project by fixing bugs, adding features, and improving documentation.

You can get in touch, ask questions, and get support from other users in the Forum. Feel free to chat with us on our Slack. We don’t bite!

Financial support

In order to sustain a project of this size we need your support. Here you can learn more about our sponsoring model.

You work for a company which offers wallboxes, energy measurement systems, or solar / PV systems? Do you want to help enable your customers to charge their cars with their own solar power? Get in touch with us. Contributing code or sponsoring us with hardware greatly helps us to expand evcc’s capabilities.

Contact us

Sponsors

GitHub Community

Core Team

Andiandig
Ulipremultiply
Michaelnaltatis