no supporter feture fork of evcc.io
Find a file
Weblate (bot) 1a9ed42fdc
Some checks failed
Release / call-build-workflow (push) Has been cancelled
Release / Publish Docker :release (push) Has been cancelled
Release / Github & APT (push) Has been cancelled
Release / Demo (push) Has been cancelled
Release / Hassio Addon (push) Has been cancelled
Translations update from Hosted Weblate (#13449)
* Translated using Weblate (Swedish)

Currently translated at 100.0% (412 of 412 strings)

Translated using Weblate (Swedish)

Currently translated at 98.3% (405 of 412 strings)

Translated using Weblate (Swedish)

Currently translated at 98.2% (402 of 409 strings)

Translated using Weblate (Swedish)

Currently translated at 98.0% (401 of 409 strings)

Co-authored-by: Jonas Gate <tidy.koala8317@brot.se>
Translate-URL: https://hosted.weblate.org/projects/evcc/evcc/sv/
Translation: evcc/evcc

* Translated using Weblate (Dutch)

Currently translated at 99.7% (408 of 409 strings)

Translated using Weblate (Dutch)

Currently translated at 98.5% (403 of 409 strings)

Co-authored-by: Bart <bart.wunnik@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/evcc/evcc/nl/
Translation: evcc/evcc

* Translated using Weblate (Dutch)

Currently translated at 98.5% (403 of 409 strings)

Co-authored-by: Ewout <ewoutdecoster@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/evcc/evcc/nl/
Translation: evcc/evcc

* Translated using Weblate (Dutch)

Currently translated at 99.2% (406 of 409 strings)

Co-authored-by: Renatus Ro <renatus.rohde@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/evcc/evcc/nl/
Translation: evcc/evcc

* Translated using Weblate (Spanish)

Currently translated at 100.0% (412 of 412 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (409 of 409 strings)

Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Translate-URL: https://hosted.weblate.org/projects/evcc/evcc/es/
Translation: evcc/evcc

* Translated using Weblate (Lithuanian)

Currently translated at 100.0% (412 of 412 strings)

Translated using Weblate (Lithuanian)

Currently translated at 100.0% (412 of 412 strings)

Co-authored-by: RTTTC <94727758+RTTTC@users.noreply.github.com>
Translate-URL: https://hosted.weblate.org/projects/evcc/evcc/lt/
Translation: evcc/evcc

* Translated using Weblate (Danish)

Currently translated at 100.0% (412 of 412 strings)

Co-authored-by: amtssp <amtssp@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/evcc/evcc/da/
Translation: evcc/evcc

* Translated using Weblate (French)

Currently translated at 99.5% (410 of 412 strings)

Co-authored-by: FraBoCH <fraboch@proton.me>
Translate-URL: https://hosted.weblate.org/projects/evcc/evcc/fr/
Translation: evcc/evcc

* Translated using Weblate (Dutch)

Currently translated at 99.7% (411 of 412 strings)

Co-authored-by: luccie007 <luc.theunissen@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/evcc/evcc/nl/
Translation: evcc/evcc

* fix toml

---------

Co-authored-by: Jonas Gate <tidy.koala8317@brot.se>
Co-authored-by: Bart <bart.wunnik@gmail.com>
Co-authored-by: Ewout <ewoutdecoster@gmail.com>
Co-authored-by: Renatus Ro <renatus.rohde@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: RTTTC <94727758+RTTTC@users.noreply.github.com>
Co-authored-by: amtssp <amtssp@gmail.com>
Co-authored-by: FraBoCH <fraboch@proton.me>
Co-authored-by: luccie007 <luc.theunissen@gmail.com>
Co-authored-by: premultiply <4681172+premultiply@users.noreply.github.com>
2024-05-01 22:24:20 +02:00
.github chore: upgrade github actions 2024-05-01 13:19:37 +02:00
api Revert "Loadpoint: add welcomecharge feature (#13534)" 2024-04-29 09:03:55 +02:00
assets Revert "UI: adaptive power digits (#13619)" (#13653) 2024-04-30 16:36:01 +02:00
charger sungrow-charger: add more diagnostics 2024-04-30 14:00:36 +00:00
cmd PSA: change authentication from user/password to token (#13612) 2024-05-01 16:33:31 +02:00
core Revert "Loadpoint: add welcomecharge feature (#13534)" 2024-04-29 09:03:55 +02:00
docs chore: add some docs 2022-11-05 17:35:25 +01:00
hems Revert "chore: upgrade standard packages" due to https://github.com/golangci/golangci-lint/issues/4415 2024-02-25 13:20:25 +01:00
i18n Translations update from Hosted Weblate (#13449) 2024-05-01 22:24:20 +02:00
meter Add E3DC native implementation (#13413) 2024-04-27 10:28:49 +02:00
packaging chore: simplify and fix indents for postremove (#12849) 2024-03-10 20:17:41 +01:00
provider chore: require script parameter 2024-04-21 11:27:32 +02:00
push chore: migrate to sprout (#13477) 2024-04-18 08:37:14 +02:00
server Load Management and Peak Shaving (#13207) 2024-04-27 10:50:35 +02:00
tariff Octopusenergy: support API keys for tariff data lookup (#13637) 2024-04-30 08:05:01 +02:00
templates chore: remove duplicate param 2024-05-01 16:51:21 +02:00
tests Revert "UI: adaptive power digits (#13619)" (#13653) 2024-04-30 16:36:01 +02:00
util Fix log ui accidentally depending on console log level (#13669) 2024-05-01 13:15:50 +02:00
vehicle PSA: change authentication from user/password to token (#13612) 2024-05-01 16:33:31 +02:00
.dockerignore chore: ignore zipped images 2022-10-17 20:11:28 +02:00
.editorconfig Revert undesired markdown changes 2021-02-24 11:53:00 +01:00
.eslintrc.cjs chore: upgrade npm deps (#13051) 2024-03-20 16:46:02 +01:00
.gitignore Site: add config UI (BC) (#9812) 2024-01-27 13:38:16 +01:00
.golangci.yml chore: use go 1.22 (#11007) 2024-02-16 15:49:38 +01:00
.goreleaser-nightly.yml Tesla: fix build 2024-02-18 17:14:47 +01:00
.goreleaser.yml Tesla: fix build 2024-02-18 17:14:47 +01:00
.prettierrc.js chore: upgrade npm deps (#13051) 2024-03-20 16:46:02 +01:00
Dockerfile chore: upgrade alpine image (#13128) 2024-03-24 13:06:23 +01:00
env.d.ts Site: add config UI (BC) (#9812) 2024-01-27 13:38:16 +01:00
evcc.dist.yaml Ngeso: correct Co2 configuration (#13085) 2024-03-22 19:19:59 +01:00
go.mod Add E3DC native implementation (#13413) 2024-04-27 10:28:49 +02:00
go.sum Add E3DC native implementation (#13413) 2024-04-27 10:28:49 +02:00
histoire.config.js Add option to show current price and co2 info (#6048) 2023-02-06 21:57:00 +01:00
icon.png Implement basic hardware detection (#435) 2020-11-21 17:13:59 +01:00
jest.config.js chore: upgrade npm deps (#13051) 2024-03-20 16:46:02 +01:00
LICENSE Update license 2021-01-25 17:27:08 +01:00
lm.md Load Management and Peak Shaving (#13207) 2024-04-27 10:50:35 +02:00
main.go chore: use go 1.22 (#11007) 2024-02-16 15:49:38 +01:00
Makefile chore: add TESLA_CLIENT_ID to local docker builds 2024-03-23 17:31:20 +01:00
package-lock.json Chore: npm deps upgrade (#13595) 2024-04-26 22:22:34 +02:00
package.json Chore: npm deps upgrade (#13595) 2024-04-26 22:22:34 +02:00
playwright.config.js chore: upgrade npm deps (#13051) 2024-03-20 16:46:02 +01:00
README.md chore: minor (#13647) 2024-04-30 14:19:44 +02:00
schema.json Config: remove more ui-enabled settings (#10982) 2023-12-10 17:24:30 +01:00
tools.go Revert "chore: add gofmt" 2024-02-25 12:33:18 +01:00
tsconfig.json Site: add config UI (BC) (#9812) 2024-01-27 13:38:16 +01:00
vite.config.js chore: upgrade npm dependencies (#8664) 2023-06-29 11:25:12 +02:00
vitest.config.js Add Target Charge Plan Visualisation (#5860) 2023-01-29 21:53:37 +01:00

evcc 🚘☀️

Build Translation Open in Visual Studio Code OSS hosting by cloudsmith Latest Version

evcc is an extensible EV Charge Controller and home energy management system. Featured in PV magazine.

Screenshot

Features

  • simple and clean user interface
  • wide range of supported chargers:
    • ABL eMH1, Alfen (Eve), Bender (CC612/613), cFos (PowerBrain), Daheimladen, Ebee (Wallbox), Ensto (Chago Wallbox), EVSEWifi/ smartWB, Garo (GLB, GLB+, LS4), go-eCharger, HardyBarth (eCB1, cPH1, cPH2), Heidelberg (Energy Control), Innogy (eBox), Juice (Charger Me), KEBA/BMW, Mennekes (Amedio, Amtron Premium/Xtra, Amtron ChargeConrol), older NRGkicks (before 2022/2023), openWB (includes Pro), Optec (Mobility One), PC Electric (includes Garo), Siemens, TechniSat (Technivolt), Tinkerforge Warp Charger, Ubitricity (Heinz), Vestel, Wallbe, Webasto (Live), Mobile Charger Connect and many more
    • experimental EEBus support (Elli, PMCC)
    • experimental OCPP support
    • Build-your-own: Phoenix Contact (includes ESL Walli), EVSE DIN
    • Smart-Home outlets: FritzDECT, Shelly, Tasmota, TP-Link
  • wide range of supported meters for grid, pv, battery and charger:
    • ModBus: Eastron SDM, MPM3PM, ORNO WE, SBC ALE3 and many more, see https://github.com/volkszaehler/mbmd#supported-devices for a complete list
    • Integrated systems: SMA Sunny Home Manager and Energy Meter, KOSTAL Smart Energy Meter (KSEM, EMxx)
    • Sunspec-compatible inverter or home battery devices: Fronius, SMA, SolarEdge, KOSTAL, STECA, E3DC, ...
    • and various others: Discovergy, Tesla PowerWall, LG ESS HOME, OpenEMS (FENECON)
  • vehicle integration (state of charge, remote charge, battery and preconditioning status):
    • Audi, BMW, Citroën, Dacia, Fiat, Ford, Hyundai, Jaguar, Kia, Landrover, Mercedes, Mini, Nissan, Opel, Peugeot, Porsche, Renault, Seat, Smart, Skoda, Tesla, Volkswagen, Volvo, ...
    • Services: OVMS, Tronity
    • Scooters: Niu, Silence
  • plugins for integrating with any charger/ meter/ vehicle:
    • Modbus, HTTP, MQTT, Javascript, WebSockets and shell scripts
  • status notifications using Telegram, PushOver and many more
  • logging using InfluxDB and Grafana
  • granular charge power control down to mA steps with supported chargers (labeled by e.g. smartWB as OLC)
  • REST and MQTT APIs for integration with home automation systems
  • Add-ons for Home Assistant and OpenHAB (not maintained by the evcc core team)

Getting Started

You'll find everything you need in our documentation.

Contribute

To build evcc from source, Go 1.22 and Node 18 are required.

Build and run go backend. The UI becomes available at http://127.0.0.1:7070/

make install-ui
make ui
make install
make
./evcc

Cross Compile

To compile a version for an ARM device like a Raspberry Pi set GO command variables as needed, eg:

GOOS=linux GOARCH=arm GOARM=6 make

UI development

For frontend development start the Vue toolchain in dev-mode. Open http://127.0.0.1:7071/ to get to the livelreloading development server. It pulls its data from port 7070 (see above).

npm install
npm run dev

Integration tests

We use Playwright for end-to-end integration tests. They start a local evcc instance with different configuration yamls and prefilled databases. To run them, you have to do a local build first.

make ui build
npm run playwright

Simulating device state

Since we don't want to run tests against real devices or cloud services, we've build a simple simulator that lets you emulated meters, vehicles and loadpoints. The simulators web interface runs on http://localhost:7072.

npm run simulator

Run an evcc instance that uses simulator data. This configuration runs with a very high refresh interval to speed up testing.

make ui build
./evcc --config tests/simulator.evcc.yaml

Code formatting

We use linters (golangci-lint, Prettier) to keep a coherent source code formatting. It's recommended to use the format-on-save feature of your editor. For VSCode use the Go, Prettier and Vetur extension. You can manually reformat your code by running:

make lint
make lint-ui

Changing templates

evcc supports a massive amount of different devices. To keep our documentation and website in sync with the latest software the core project (this repo) generates meta-data that's pushed to the docs and evcc.io repository. Make sure to update this meta-data every time you make changes to a templates.

make docs

If you miss one of the above steps Gitub Actions will likely trigger a Porcelain error.

Adding or modifying translations

evcc already includes many translations for the UI. Weblate Hosted is used to maintain all languages. Feel free to add more languages or verify and edit existing translations. Weblate will automatically push all modifications on a regular base to the evcc repository.

Weblate Hosted Languages

https://hosted.weblate.org/projects/evcc/evcc/

Sponsorship

evcc believes in open source software. We're committed to provide best in class EV charging experience. Maintaining evcc consumes time and effort. With the vast amount of different devices to support, we depend on community and vendor support to keep evcc alive.

While evcc is open source, we would also like to encourage vendors to provide open source hardware devices, public documentation and support open source projects like ours that provide additional value to otherwise closed hardware. Where this is not the case, evcc requires "sponsor token" to finance ongoing development and support of evcc.

The personal sponsor token requires a Github Sponsorship and can be requested at sponsor.evcc.io.