no supporter feture fork of evcc.io
Find a file
2022-02-03 18:19:55 +01:00
.github Prevent building twice when pushing to a PR (#2345) 2022-01-19 12:44:15 +01:00
.storybook Notifications: all messages in chrono order; added timestamps and grouping (#1102) 2021-05-30 20:31:31 +02:00
api Implement oauth login proxy (#2425) 2022-01-31 19:42:32 +01:00
assets Mercedes: generalize provider login (#2384) 2022-01-26 08:21:30 +01:00
charger OpenWB: ensure sending retained messages (#2446) 2022-02-03 18:19:55 +01:00
cmd Implement oauth login proxy (#2425) 2022-01-31 19:42:32 +01:00
core Allow decorating powerless switch charger with separate meter (#2472) 2022-02-03 08:59:57 +01:00
detect Fix ping issue on Windows 10 2022-01-22 10:34:49 +01:00
dist Mercedes: generalize provider login (#2384) 2022-01-26 08:21:30 +01:00
docker Install tools depedencies using go list 2021-10-13 20:06:42 +02: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 OpenWB: ensure sending retained messages (#2446) 2022-02-03 18:19:55 +01:00
mock Allow to define supported phases at vehicle level (#2209) 2022-01-16 09:31:52 +01:00
packaging Fix service file 2022-01-27 11:27:16 +01:00
provider OpenWB: ensure sending retained messages (#2446) 2022-02-03 18:19:55 +01:00
push Fix shoutrrr for services other then email/smtp (#1691) 2021-10-09 23:20:36 +02:00
server Implement oauth login proxy (#2425) 2022-01-31 19:42:32 +01:00
tariff Ersparnisanzeige (#2105) 2022-01-02 22:58:13 +01:00
templates TP Link: fix template (#2471) 2022-02-03 09:05:39 +01:00
util Implement oauth login proxy (#2425) 2022-01-31 19:42:32 +01:00
vehicle Jaguar/Landrover: add more apis (#2480) 2022-02-03 18:05:15 +01: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 enhancements (#2274) 2022-01-23 15:21:13 +01:00
.golangci.yml Minor cleanup 2021-09-09 10:52:30 +02:00
.goreleaser-nightly.yml Fix unstable armhf apt builds 2021-12-31 10:29:24 +01:00
.goreleaser.yml Only build armv6 since the goreleaser bug is fixed (#2149) 2021-12-29 17:09:12 +01:00
.prettierrc.js Refactor UI into single file components (#491) 2020-12-02 08:29:54 +01:00
Dockerfile upgrade to node 16; removed npm-force-resolutions (#2218) 2022-01-07 09:41:33 +01:00
evcc.dist.yaml Simplify charge meter configuration (#2386) 2022-01-23 15:08:34 +01:00
go.mod Template enhancements (#2274) 2022-01-23 15:21:13 +01:00
go.sum Template enhancements (#2274) 2022-01-23 15:21:13 +01: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 Update install instructions (#2077) 2022-01-15 10:20:27 +01:00
package-lock.json Refactor savings (#2226) 2022-01-09 12:20:38 +01:00
package.json upgrade to node 16; removed npm-force-resolutions (#2218) 2022-01-07 09:41:33 +01:00
README.md Add Jaguar/Landrover api (#2468) 2022-02-02 15:55:47 +01:00
schema.json Fix ModeNow value in schema 2021-12-16 14:05:24 +01:00
tools.go Easee: improve logging 2021-10-13 19:06:50 +02: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
  • multiple chargers:
    • Open source: openWB (including Pro), EVSEWifi (includes smartWB)
    • Other commercial: ABL eMH1, Alfen Eve, cFos PowerBrain, Daheimladen, go-eCharger, Heidelberg Energy Control, Innogy eBox, KEBA/BMW, Menneckes Amtron (Xtra/Premium), NRGkick, PC Electric (includes Garo), Wallbe, Mobile Charger Connect, EEBUS (experimental)
    • Build-your-own: Phoenix (includes ESL Walli), EVSE DIN
    • Smart-Home outlets: FritzDECT, Shelly, Tasmota, TP-Link
  • multiple meters: ModBus (Eastron SDM, MPM3PM, SBC ALE3 and many more), Discovergy (using HTTP plugin), SMA Sunny Home Manager and Energy Meter, KOSTAL Smart Energy Meter (KSEM, EMxx), any Sunspec-compatible inverter or home battery devices (Fronius, SMA, SolarEdge, KOSTAL, STECA, E3DC, ...), Tesla PowerWall, LG ESS HOME
  • wide support of vendor-specific vehicles interfaces (remote charge, battery and preconditioning status): Audi, BMW, Fiat, Ford, Hyundai, Jaguar, Kia, Landrover, Mini, Nissan, Niu, Porsche, Renault, Seat, Smart, Skoda, Tesla, Volkswagen, Volvo, Tronity
  • plugins for integrating with any charger/ meter/ vehicle: Modbus (meters and grid inverters), 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 (e.g. HomeAssistant)

Getting Started

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

Build

To build EVCC from source, Go 1.16 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 hours 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