no supporter feture fork of evcc.io
Find a file
2022-03-17 16:38:05 +01:00
.github Update stale.yml 2022-03-13 16:46:32 +00: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 Remove deprecated configuration options (#2900) 2022-03-17 11:42:15 +01:00
cmd Replace interface designator with address 2022-03-17 13:26:16 +01:00
core Offset available power by dc-generated battery charge (#2735) 2022-03-17 16:38:05 +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 LG ESS: cleanup code and require paramters on all instantiations 2022-03-15 21:43:54 +00: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 Prepare for removing deprecated type identifier (#2685) 2022-02-23 14:28:53 +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 Shelly: allow as charge or pv meter (#2892) 2022-03-17 11:41:57 +01:00
util Fix data race 2022-03-15 21:44:22 +00:00
vehicle Merge pull request #2911 from evcc-io/fix/provider_login 2022-03-17 14:15:54 +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 Minor cleanup 2021-09-09 10:52:30 +02: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 Upgrade spf13/viper (#2754) 2022-03-02 13:01:20 +01:00
go.sum Upgrade spf13/viper (#2754) 2022-03-02 13:01:20 +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 Add Webasto Live charger (#2752) 2022-03-05 12:09:01 +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, Webasto Live, 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, OpenEMS (FENECON)
  • 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.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