no supporter feture fork of evcc.io
Find a file
2022-03-23 17:16:02 +01:00
.github chore: prepare for Go 1.18 deprecations 2022-03-21 18:01:29 +01:00
.storybook Notifications: all messages in chrono order; added timestamps and grouping (#1102) 2021-05-30 20:31:31 +02:00
api Redesign phase handling (#2613) 2022-02-28 14:40:06 +01:00
assets fix urls 2022-03-16 20:50:07 +01:00
charger Revert "Alfen: Fix status mapping (#2843)" 2022-03-22 09:55:17 +01:00
cmd Replace interface designator with address 2022-03-17 13:26:16 +01:00
core Allow grace period before out of sync error is displayed (#2937) 2022-03-23 17:16:02 +01: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 Go to 1.17 2022-02-27 20:08:37 +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 Use request variables instead of mux 2022-03-17 13:49:22 +01:00
tariff Ersparnisanzeige (#2105) 2022-01-02 22:58:13 +01:00
templates Warp: remove deprecated useMeter 2022-03-22 11:02:43 +01:00
util Fix a race condition in waiter 2022-03-21 13:09:07 +01:00
vehicle chore: simplify 2022-03-23 07:33:20 +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 Updates (#2447) 2022-02-17 18:16:20 +01:00
.golangci.yml chore: prepare for Go 1.18 deprecations 2022-03-21 18:01:29 +01:00
.goreleaser-nightly.yml Upgrade spf13/viper (#2754) 2022-03-02 13:01:20 +01:00
.goreleaser.yml Upgrade spf13/viper (#2754) 2022-03-02 13:01:20 +01:00
.prettierrc.js Refactor UI into single file components (#491) 2020-12-02 08:29:54 +01:00
Dockerfile Upgrade Go to 1.17 2022-02-27 20:08:37 +01:00
evcc.dist.yaml Simplify charge meter configuration (#2386) 2022-01-23 15:08:34 +01:00
go.mod Add Silence S01 vehicle support (#2916) 2022-03-17 16:39:38 +01:00
go.sum Add Silence S01 vehicle support (#2916) 2022-03-17 16:39:38 +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 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 upgrade to node 16; removed npm-force-resolutions (#2218) 2022-01-07 09:41:33 +01: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 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
  • 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