no supporter feture fork of evcc.io
Find a file
2022-03-29 15:54:02 +02:00
.github Yaml: apply prettier (#3023) 2022-03-29 15:54:02 +02:00
.storybook Notifications: all messages in chrono order; added timestamps and grouping (#1102) 2021-05-30 20:31:31 +02:00
api Unify charge start/stop interfaces (#3002) 2022-03-25 18:18:35 +01:00
assets fix urls 2022-03-16 20:50:07 +01:00
charger Add TP-Link Tapo Charger (P100,P110) (#3005) 2022-03-27 17:54:16 +02:00
cmd Yaml: apply prettier (#3023) 2022-03-29 15:54:02 +02:00
core Ignore battery charging above inverter AC rating (#3015) 2022-03-27 17:42:02 +02:00
detect Fix ping issue on Windows 10 2022-01-22 10:34:49 +01:00
dist fix urls 2022-03-16 20:50:07 +01:00
docker Upgrade infrastructure to Go 1.18 without requiring it (#2976) 2022-03-23 17:19:43 +01:00
docs updated screenshot 2021-08-17 22:42:23 +02:00
hems Template enhancements (#2274) 2022-01-23 15:21:13 +01:00
meter Kostal Plenticore: fix template 2022-03-21 16:38:26 +01:00
mock Redesign phase handling (#2613) 2022-02-28 14:40:06 +01:00
packaging Fix binary path 2022-03-09 22:08:51 +00:00
provider Remove deprecated use of type instead of source for specifying plugin (#2899) 2022-03-17 16:39:22 +01:00
push Skip sending empty msg after template rendering (#2720) 2022-02-27 09:57:09 +01:00
server Revert "chore: fix build tags" 2022-03-24 17:43:10 +01:00
tariff Ersparnisanzeige (#2105) 2022-01-02 22:58:13 +01:00
templates Yaml: apply prettier (#3023) 2022-03-29 15:54:02 +02:00
util Yaml: apply prettier (#3023) 2022-03-29 15:54:02 +02:00
vehicle Porsche: fix mobile api status request 2022-03-29 09:29:25 +02:00
.dockerignore Fix CI build 2021-08-23 08:03:27 +02:00
.editorconfig Revert undesired markdown changes 2021-02-24 11:53:00 +01:00
.eslintrc.js Updated Links in Navbar (#2045) 2021-12-17 22:27:51 +01:00
.gitignore Template Updates (#2447) 2022-02-17 18:16:20 +01:00
.golangci.yml Yaml: apply prettier (#3023) 2022-03-29 15:54:02 +02:00
.goreleaser-nightly.yml Yaml: apply prettier (#3023) 2022-03-29 15:54:02 +02:00
.goreleaser.yml Yaml: apply prettier (#3023) 2022-03-29 15:54:02 +02:00
.prettierrc.js Refactor UI into single file components (#491) 2020-12-02 08:29:54 +01:00
Dockerfile Upgrade infrastructure to Go 1.18 without requiring it (#2976) 2022-03-23 17:19:43 +01:00
evcc.dist.yaml Yaml: apply prettier (#3023) 2022-03-29 15:54:02 +02:00
go.mod chore: upgrade rct 2022-03-28 09:37:37 +02:00
go.sum chore: upgrade rct 2022-03-28 09:37:37 +02:00
icon.png Implement basic hardware detection (#435) 2020-11-21 17:13:59 +01:00
jest.config.js Visualisation of Site Energy Flow (#1148) 2021-08-04 14:53:51 +02:00
LICENSE Update license 2021-01-25 17:27:08 +01:00
main.go Fail build when golang version doesn't match (#1734) 2021-10-27 10:01:54 +02:00
Makefile Upgrade spf13/viper (#2754) 2022-03-02 13:01:20 +01:00
package-lock.json Refactor savings (#2226) 2022-01-09 12:20:38 +01:00
package.json Yaml: apply prettier (#3023) 2022-03-29 15:54:02 +02:00
README.md chore: cleanup supported devices 2022-03-22 11:27:24 +01:00
schema.json Fix ModeNow value in schema 2021-12-16 14:05:24 +01:00
tools.go Revert "chore: fix build tags" 2022-03-24 17:43:10 +01:00
vue.config.js Replace bundler with webpack 2021-01-03 23:34:13 +01:00

evcc 🚘☀️

Open in Visual Studio Code Build Status Code Quality Latest Version Pulls from Docker Hub Donate

Evcc is an extensible EV Charge Controller with PV integration implemented in Go. Featured in PV magazine.

Screenshot

Features

  • simple and clean user interface
  • wide range of supported chargers:
    • ABL eMH1, Alfen Eve, cFos PowerBrain, Daheimladen, EVSEWifi/ smartWB, go-eCharger, HardyBarth (eCB1, cPH1, cPH2) Heidelberg Energy Control, Innogy (eBox), KEBA/BMW, Menneckes Amtron (Xtra/Premium), NRGkick, openWB (includes Pro), PC Electric (includes Garo), Vestel, Wallbe, Webasto Live, Mobile Charger Connect
    • experimental EEBus support (PMCC)
    • Build-your-own: Phoenix (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 als OLC)
  • REST and MQTT APIs for integration with home automation systems
  • HomeAssistant add-on

Getting Started

You'll find everything you need in our documentation (German).

Build

To build EVCC from source, Go 1.17 and Node 16 are required:

make

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 otherwised 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 cloud.evcc.io. A sponsor token is valid for one year and can be renewed any time with active sponsorship.

Background

Evcc is heavily inspired by OpenWB. However, in 2019, I found OpenWB's architecture slightly intimidating with everything basically global state and heavily relying on shell scripting. On the other side, especially the scripting aspect is one that contributes to OpenWB's flexibility.

Hence, for a simplified and stricter implementation of an EV charge controller, the design goals for evcc were:

  • typed language with ability for systematic testing - achieved by using Go
  • structured configuration - supports YAML-based config file
  • avoidance of feature bloat, simple and clean UI - utilizes Vue.js and Bootstrap
  • containerized operation beyond Raspberry Pi - provide multi-arch Docker Image