Skip to content
smart charging

Contribute

evcc is built by the community. Most ways to help don’t need any code.

Don’t start with your favourite big feature, even though AI agents make that incredibly easy and tempting. Read along in discussions and issues first and get a feel for how the community works. Your idea has probably come up before, so search for it and join the existing conversation. Begin with something small and grow from there. Bigger changes need agreement in an issue or discussion before moving on to implementation and a pull request.

Many questions in the discussions can be answered by someone who owns the same device or had the same problem. Triage helps too: reproduce reported bugs, ask for missing logs and point to duplicates. Report a Problem explains what a helpful issue contains.

The nightly build contains everything that has been merged since the last release. All installation guides (e.g. Linux, Docker or Home Assistant) explain how to switch to it. Back up your installation before you switch. New features often start as experimental and need to be enabled in Configuration → Experimental.

For a pull request, maintainers can publish a test build with binaries and a Docker image evcc/evcc:pr-<number>. A short test report from someone with the matching hardware is often what gets a change merged. If a pull request has no test build yet but you could test it, feel free to ask for one in the pull request.

To try new versions of the iOS and Android app early, see the beta section of the app.

The best first contributions come from your own setup. You own an inverter, home battery, vehicle or charger that maintainers can’t test. Confirm fixes or improve the instructions of a template. Your device isn’t supported yet? Set it up as a user-defined device first and, once it works, turn it into a template for everyone.

The interface is translated on Weblate. Add a new language or check and improve an existing one, no developer tools needed.

Every page has an Edit page link at the bottom that takes you to its source on GitHub. The documentation is written in English and German. If you only speak one of them, mention it in your pull request and we’ll help with the other.

The contribution guidelines cover the ground rules, the development setup and how to test locally. General development topics are discussed on Slack.

Dashboards, displays, utilities or hardware gadgets that help other users are contributions too. The REST API and MQTT API give you access to all data of your evcc instance. Show your project in the discussions and add it to More Awesome Projects.

RepositoryWhat it isTech
evcc-io/evccCore, web interface and device templatesGo, Vue
evcc-io/appiOS and Android appReact Native
evcc-io/optimizerOptimizer servicePython
evcc-io/docsThis documentationAstro, Markdown
evcc-io/imagesLinux images for Raspberry Pi and other boardsArmbian
evcc-io/hassio-addonHome Assistant appDocker
evcc-io/evcc.ioWebsiteHugo

Report a Problem lists which repository a problem belongs to.

The project lives on the contributions of many people, with code, templates, docs, translations, answers in the discussions or detailed test reports.

Already contributed a fair bit? Send us a short email with your GitHub username and we’ll issue you an unlimited sponsor token.