no supporter feture fork of evcc.io
Find a file
2022-01-18 16:43:53 +01:00
.github chore: fix rebase 2022-01-15 21:35:08 +01:00
.storybook Notifications: all messages in chrono order; added timestamps and grouping (#1102) 2021-05-30 20:31:31 +02:00
api Allow to define supported phases at vehicle level (#2209) 2022-01-16 09:31:52 +01:00
assets Fix uptime and energy calculation on charging start (#2253) 2022-01-10 16:40:02 +01:00
charger Add Alphatec charger (#2315) 2022-01-17 11:18:45 +01:00
cmd chore: reduce logging 2022-01-12 10:20:34 +01:00
core Fix pv deactivating when climater active (#2333) 2022-01-18 14:24:52 +01:00
detect chore: fix semgrep errors 2021-11-14 11:48:17 +01:00
dist Fix uptime and energy calculation on charging start (#2253) 2022-01-10 16:40:02 +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 Improve device id diagnostic 2022-01-10 14:44:38 +01:00
meter More template stuff (#2164) 2022-01-09 12:59:54 +01:00
mock Allow to define supported phases at vehicle level (#2209) 2022-01-16 09:31:52 +01:00
packaging Services definition improvements (#2017) 2021-12-11 12:00:44 +01:00
provider Modbus: expose request delay (#2109) 2022-01-10 17:12:10 +01:00
push Fix shoutrrr for services other then email/smtp (#1691) 2021-10-09 23:20:36 +02:00
server chore: simplify 2022-01-18 16:43:53 +01:00
tariff Ersparnisanzeige (#2105) 2022-01-02 22:58:13 +01:00
templates Vehicle template udpates (#2264) 2022-01-16 13:17:13 +01:00
util chore: log cache on trace level 2022-01-11 18:58:52 +01:00
vehicle Vehicle template udpates (#2264) 2022-01-16 13:17:13 +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 Experimentelle geführte Erstellung der Konfigurationsdatei (#1888) 2021-11-30 14:29:09 +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 Ersparnisanzeige (#2105) 2022-01-02 22:58:13 +01:00
go.mod chore: upgrade dependencies 2022-01-18 16:11:46 +01:00
go.sum chore: upgrade dependencies 2022-01-18 16:11:46 +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 PC Electric/ Garo charger (#2147) 2022-01-15 21:02:53 +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, EVSEWifi (includes smartWB)
    • Other commercial: ABL eMH1, Alfen Eve, cFos PowerBrain, Daheimladen, go-eCharger, Heidelberg Energy Control, Innogy eBox, KEBA/BMW, NRGkick, PC Electric (includes Garo), Wallbe, Mobile Charger Connect, EEBUS (experimental)
    • Build-your-own: Phoenix (includes ESL Walli), SimpleEVSE
    • 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, Kia, 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