MCPcopy
hub / github.com/evcc-io/evcc

github.com/evcc-io/evcc @0.310.1 sqlite

repository ↗ · DeepWiki ↗ · release 0.310.1 ↗
11,145 symbols 36,679 edges 1,306 files 5,001 documented · 45%
README

evcc 🚘☀️

Build Statuspage Translation Docker Pulls OSS hosting by cloudsmith Latest Version

Built with Depot

evcc is an extensible EV Charge Controller and home energy management system.

Screenshot

Our goal is to provide local energy management, without relying on cloud services. Featured in PV Magazine and c’t Magazin.

Features

  • simple and clean user interface
  • support for many EV chargers:
  • ABB, ABL, Alfen, Alphatec, Amperfied, Ampure, Audi, AUTEL, Autoaid, Bender, BMW, cFos, Charge Amps, Compleo, CUBOS, Cupra, Dadapower, DaheimLaden, Delta, E.ON Drive, E3/DC, Easee, Ebee, echarge, EcoHarmony, Edgetech, Elecq, eledio, Elli, EM2GO, EN+, enercab, Ensto, EntraTek, ESL, eSystems, Etrel, EVBox, Free2Move, Free2move eSolutions, Fronius, Garo, go-e, Hardy Barth, Heidelberg, Hesotec, Homecharge, Huawei, Innogy, INRO, Juice, Kathrein, KEBA, Kontron Solar, Kostal, KSE, LadeFoxx, LRT, Mennekes, NRGkick, OBO Bettermann, OpenEVSE, openWB, Optec, Orbis, PC Electric, Peblar, Phoenix Contact, Plugchoice, Porsche, Pracht, Pulsares, Pulsatrix, Qcells, Schneider, Schrack, SENEC, Siemens, Skoda, SMA, Smartfox, SolarEdge, Solax, Sonnen, Spelsberg, Stark in Strom, Sungrow, TechniSat, Tesla, Tigo, TinkerForge, Ubitricity, V2C Trydan, Vestel, Victron, Viridian EV, Volkswagen, Volt Time, Wallbe, wallbox, Walther Werke, Webasto, Weidmüller, Zaptec, ZJ Beny. Read more.
  • EEBus support (Elli, PMCC)
  • OCPP support
  • build-your-own: Phoenix Contact (includes ESL Walli), EVSE DIN
  • smart switches: AVM, FRITZ!, Home Assistant, Homematic IP, HomeWizard, myStrom, Shelly, Tasmota, TP-Link. Read more.
  • heat pumps and electric heaters: alpha innotec, Bosch, Buderus, Bösch, CTA All-In-One, Daikin, Elco, IDM, Junkers, Kermi, Lambda, my-PV, Nibe, Novelan, Roth, Stiebel Eltron, Tecalor, Vaillant, Viessmann, Wolf, Zewotherm. Read more.
  • support for many energy meters:
  • solar inverters and battery systems: A-Tronix, Acrel, Ads-tec, Alpha ESS, Ampere, Anker, APsystems, AVM, Axitec, BGEtech, Bosch, Bosswerk, Carlo Gavazzi, Deye, E3/DC, Eastron, Enphase, FENECON, FRITZ!, FoxESS, Fronius, Ginlong, go-e, GoodWe, Growatt, Homematic IP, HomeWizard, Hoymiles, Huawei, IAMMETER, IGEN Tech, Kostal, LG, Loxone, M-TEC, Marstek, myStrom, OpenEMS, Powerfox, Qcells, RCT, SAJ, SAX, SENEC, Senergy, Shelly, Siemens, Sigenergy, SMA, Smartfox, SofarSolar, Solaranzeige, SolarEdge, SolarMax, Solarwatt, Solax, Solinteng, Sonnen, St-ems, Steca, Sungrow, Sunsynk, Sunway, Tasmota, Tesla, TP-Link, VARTA, Victron, Wattsonic, Youless, ZCS Azzurro, Zendure. Read more.
  • general energy meters: A-Tronix, ABB, Acrel, Alpha ESS, Ampere, AVM, Axitec, Bernecker Engineering, BGEtech, Bosch, Carlo Gavazzi, cFos, Deye, DSMR, DZG, E3/DC, Eastron, Enphase, ESPHome, FENECON, FoxESS, FRITZ!, Fronius, Ginlong, go-e, GoodWe, Growatt, Homematic IP, HomeWizard, Huawei, IAMMETER, inepro, IOmeter, Janitza, KEBA, Kostal, LG, Loxone, M-TEC, mhendriks, my-PV, myStrom, OpenEMS, ORNO, P1Monitor, Powerfox, Qcells, RCT, Saia-Burgess Controls (SBC), SAJ, SAX, Schneider Electric, SENEC, Shelly, Siemens, Sigenergy, SMA, Smartfox, SofarSolar, Solaranzeige, SolarEdge, SolarMax, Solarwatt, Solax, Solinteng, Sonnen, St-ems, Sungrow, Sunsynk, Sunway, Tasmota, Tesla, Tibber, TQ, VARTA, Victron, Volkszähler, Wago, Wattsonic, Weidmüller, Youless, ZCS Azzurro, Zuidwijk. Read more.
  • integrated systems: SMA Sunny Home Manager and Energy Meter, KOSTAL Smart Energy Meter (KSEM, EMxx)
  • sunspec-compatible inverter or home battery devices
  • mbmd-compatible devices, see volkszaehler/mbmd for a complete list
  • vehicle integrations (state of charge, remote charge, battery and preconditioning status):
  • Aiways, Audi, BMW, Citroën, Dacia, DS, Fiat, Ford, Genesis, Hyundai, Jeep, Kia, Mercedes-Benz, MG, Mini, Nissan, NIU, Opel, Peugeot, Polestar, Renault, Seat, Skoda, Smart, Subaru, Tesla, Toyota, Volkswagen, Volvo, Zero Motorcycles. Read more.
  • services: OVMS, Tronity, evNotify, ioBroker.bmw, mg2mqtt, mz2mqtt, TeslaLogger, TeslaMate, Tessi, volvo2mqtt
  • plugins for integrating with any charger, smartswitch, heatpump, electric heater, meter, solar- / battery-inverter or vehicle:
  • Modbus, HTTP, MQTT, JavaScript, WebSocket, Go and shell scripts
  • status notifications using Telegram, PushOver and many more
  • logging using InfluxDB and Grafana
  • REST and MQTT APIs for integration with home automation systems
  • Add-ons for Home Assistant and openHAB (not maintained by the evcc core team)

Getting Started

You'll find everything you need in our documentation.

Contributing

Technical details on how to contribute, how to add translations and how to build evcc from source can be found here.

Weblate Hosted

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 otherwise closed hardware. Where this is not the case, evcc requires "sponsor token" to finance ongoing development and support of evcc.

Learn more about our sponsorship model.

License

This project is licensed under the MIT License. See the LICENSE file for details.

For additional license information regarding fonts, icons, and other assets, please see the LICENSES folder.

Note: All sponsor-required components are excluded from the MIT License. See file license header for details. If you want to use them in your own project, one evcc sponsorship token is required per evcc instance. Custom licensing agreements are available - please contact us to discuss your specific requirements.

Extension points exported contracts — how you extend this code

StringGetter (Interface)
plugin types [15 implementers]
plugin/config.go
Meter (Interface)
Meter defines the interface for Fritz connections (both legacy LUA and REST) [69 implementers]
meter/fritz/api.go
Controller (Interface)
go:generate go tool mockgen -package loadpoint -destination mock.go -mock_names API=MockAPI github.com/evcc-io/evcc/core [13 …
core/loadpoint/api.go
Meter (Interface)
go:generate go tool mockgen -package api -destination mock.go github.com/evcc-io/evcc/api Charger,ChargeState,CurrentLim [69 …
api/api.go
Meter (Interface)
(no doc) [69 implementers]
assets/js/types/evcc.ts
TaskHandler (Interface)
(no doc) [8 implementers]
cmd/detect/tasks/types.go
Capable (Interface)
Capable is implemented by decorated types that support dynamic capability lookup. This allows O(n) decorator code instea [4 …
api/capable.go
TokenProvider (Interface)
(no doc) [14 implementers]
vehicle/aiways/identity.go

Core symbols most depended-on inside this repo

expect
called by 1956
core/loadpoint_phases.go
Errorf
called by 893
charger/ocpp/cs_log.go
Printf
called by 817
util/modbus/log.go
Add
called by 809
util/config/instance.go
ReadHoldingRegisters
called by 454
util/modbus/connection.go
Unlock
called by 448
core/loadpoint_mutex.go
Lock
called by 437
core/loadpoint_mutex.go
Println
called by 415
charger/easee/log.go

Shape

Method 6,024
Function 3,164
Struct 1,584
Interface 216
TypeAlias 112
Enum 31
FuncType 10
Class 4

Languages

Go94%
TypeScript6%

Modules by API surface

vehicle/mercedes/pb/vehicle-commands.pb.go645 symbols
vehicle/mercedes/pb/vehicle-events.pb.go498 symbols
api/mock.go194 symbols
core/loadpoint/mock.go164 symbols
vehicle/mercedes/pb/user-events.pb.go157 symbols
vehicle/mercedes/pb/protos/protos.pb.go140 symbols
api/api.go129 symbols
vehicle/mercedes/pb/vehicleapi.pb.go122 symbols
api/implement/implementations.go95 symbols
core/loadpoint_api.go91 symbols
core/loadpoint/api.go83 symbols
vehicle/mercedes/pb/client.pb.go80 symbols

Dependencies from manifests, versioned

dario.cat/mergov1.0.2 · 1×
github.com/AlecAivazis/survey/v2v2.3.7 · 1×
github.com/Masterminds/goutilsv1.1.1 · 1×
github.com/Masterminds/semver/v3v3.5.0 · 1×
github.com/PanterSoft/comlynx-gov0.1.0 · 1×
github.com/WulfgarW/sensonetv0.0.7 · 1×
github.com/andig/go-powerwallv0.3.0 · 1×
github.com/andig/gosunspecv0.0.0-2026052312543 · 1×
github.com/andig/mbserverv0.0.0-2023031021105 · 1×
github.com/andybalholm/cascadiav1.3.3 · 1×

For agents

$ claude mcp add evcc \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact