EVCC · open-source · 2026
EVCC + Deye: surplus-laden zonder maandkosten
Open-source EV-charge-controller die je Deye uitleest en jouw wallbox stuurt voor maximale zonnewinst.
Open-source licentie
Wallboxen ondersteund
Lokaal Modbus protocol
Geen abonnement of cloud
Wat is EVCC en waarom kies je het?
EVCC (Electric Vehicle Charge Controller) is een open-source orchestrator die je PV-installatie, batterij, wallbox en auto leest en aanstuurt. Het is geschreven in Go, draait lokaal op een NAS of Raspberry Pi, en heeft een MIT-licentie. De community telt 25.000-plus users en de release-cadans is wekelijks. Voor wie een Deye hybride omvormer combineert met een EV is EVCC in 2026 de defacto-standaard.
Vergeleken met de OEM-app van je wallbox (Easee app, Wallbox app, Alfen ACE) regelt EVCC werkelijk surplus-laden op basis van realtime PV-productie minus huishoudverbruik. De OEM-apps kennen vaak alleen tijdslots of een statische maximum-stroom; ze weten niets van je inverter. Vergeleken met Tibber Pulse Charger (cloud, maandfee, beperkt tot Tibber als energie-bron) is EVCC volledig lokaal en gratis, met integraties voor elke Nederlandse dynamische leverancier (Tibber, Frank, EnergyZero, Awattar).
Het tweede grote winstpunt: EVCC ziet je Deye-batterij als eigenstandige resource. Je kunt regelen dat eerst de batterij vol moet voor de auto begint, of juist andersom als je morgen vroeg vertrekt. Met dynamische tarieven actief stapelt EVCC drie optimalisaties: zonnewinst, dal-uur-laden, en arbitrage tussen huisbatterij en auto.
Architectuur: hoe EVCC met Deye en je wallbox praat
EVCC draait in een Docker-container op je LAN. Twee verbindingen zijn essentieel: lezen van de Deye via Modbus TCP, en sturen van de wallbox via OCPP of Modbus.
EVCC ↔ Deye via lokaal Modbus TCP
EVCC opent een TCP-sessie naar de Deye WiFi-logger op poort 502. Per polling-cyclus (default 10 seconden) leest het de registers voor PV-vermogen, grid-power, batterij-SoC en batterij-vermogen. Geen cloud, geen Deye-account nodig in deze stap. De logger en de EVCC-host moeten in hetzelfde lokale subnet zitten of via een ACL expliciet poort 502 mogen.
EVCC ↔ wallbox via OCPP of Modbus
Easee Home gebruikt OCPP 1.6-J (websocket op poort 8887). Alfen Eve en Wallbox Pulsar Plus spreken Modbus TCP rechtstreeks. Tesla Wall Connector werkt via Tesla Vehicle Command. EVCC abstrakteert deze verschillen: in de yaml definieer je type easee, type alfen of type wallbox en de driver kiest de juiste protocol-laag.
Stappenplan: EVCC + Deye in 6 stappen draaiend
Reken op 30 tot 45 minuten, exclusief Tesla Vehicle Command setup. Voorwaarde: een Deye WiFi-logger met firmware MW3.16 of nieuwer en een wallbox met OCPP of Modbus.
- 1
Docker Compose starten op NAS of Raspberry Pi
EVCC draait als losse container of via Docker Compose. Een Synology NAS, Raspberry Pi 4 of mini-PC volstaat. Reserveer 200 MB RAM en 1 GB schijfruimte. De compose file mount evcc.yaml en exposeert poort 7070 voor de UI.
- 2
Modbus TCP enable in Deye Cloud Settings
Log in op Deye Cloud, ga naar Plant, Logger Settings, Advanced. Activeer Modbus TCP op poort 502. Reserveer het logger-IP statisch in je router (DHCP-reservering). Noteer het IP, dat heb je in de yaml nodig.
- 3
Wallbox OCPP of Modbus enable
Easee Home zet je in op OCPP 1.6-J via de Easee app, Settings, Advanced. Wallbox Pulsar Plus en Alfen Eve hebben Modbus TCP via een eigen poort (502 of 5020). Bij Tesla Wall Connector gebruik je het Tesla Vehicle Command via Bluetooth.
- 4
evcc.yaml schrijven met Deye + wallbox + auto
Maak de evcc.yaml. Definieer je Deye als grid-meter en pv-meter via Modbus TCP, je wallbox als charger, en je auto als vehicle. Onderaan deze pagina staat een complete voorbeeldconfig voor Deye SUN-12K + Easee Home + Tesla Model 3.
- 5
UI openen op http://evcc.local:7070
Na docker compose up is de web-UI bereikbaar. Je ziet realtime PV-productie, batterij-SoC, grid-import/-export, laadpunt-status en huidige laadmodus. Voeg evcc.local toe aan je router DNS of gebruik direct het IP.
- 6
Modes kiezen: pv, minpv, now of off
EVCC heeft vier modes per laadpunt. PV laadt alleen op overschot. MinPV combineert minimum-stroom uit grid met overschot. Now laadt direct op vol vermogen. Off pauzeert. Switch via UI, API of Home Assistant.
Voorbeeld evcc.yaml · Deye SUN-12K + Easee + Tesla Model 3
Werkende config voor een veelvoorkomende Nederlandse setup. Pas IP-adres, secrets en charger-id aan op je eigen omgeving. Secrets staan in een aparte secrets.yaml.
# evcc.yaml — Deye SUN-12K-SG04LP3 + Easee Home + Tesla Model 3
network:
schema: http
host: evcc.local
port: 7070
interval: 10s
site:
title: Thuis
meters:
grid: deye_grid
pv: deye_pv
battery: deye_batt
residualPower: 200
meters:
- name: deye_grid
type: modbus
uri: 192.168.1.42:502
id: 1
register:
address: 0x00A7
type: holding
decode: int16
- name: deye_pv
type: modbus
uri: 192.168.1.42:502
id: 1
register:
address: 0x006D
type: holding
decode: uint16
- name: deye_batt
type: modbus
uri: 192.168.1.42:502
id: 1
power:
address: 0x00BB
type: holding
decode: int16
soc:
address: 0x00B8
type: holding
decode: uint16
chargers:
- name: easee_home
type: easee
user: jouw@mail.nl
password: !secret easee_pw
charger: EH123456
vehicles:
- name: tesla_m3
type: tesla
title: Tesla Model 3
capacity: 75
user: jouw@mail.nl
tokens:
access: !secret tesla_access
refresh: !secret tesla_refresh
loadpoints:
- title: Oprit
charger: easee_home
vehicle: tesla_m3
mode: pv
minCurrent: 6
maxCurrent: 16
phases: 3
enable:
delay: 60s
threshold: 0
disable:
delay: 180s
threshold: 50
tariffs:
currency: EUR
grid:
type: tibber
token: !secret tibber_token
mqtt:
broker: 192.168.1.10:1883
topic: evcc
Tibber + EVCC + Deye: de trifecta voor automatische arbitrage
Met deze drie ingredienten draait je hele energie-stack vol-automatisch op spotprijs. EVCC ziet de Tibber-feed en weet welk komend uur goedkoop of duur wordt. De logica per uur:
- Dal-uur (onder 0,12 ct/kWh): EVCC zet de auto op minpv-mode en triggert force-charge op de Deye-batterij via Modbus-write op register 0x0094.
- Zonnig middag-uur: EVCC schakelt de auto naar pv-mode. Overschot vult eerst de batterij tot 90%, daarna gaat het surplus naar de auto. Hybride omvormers zoals de Deye SUN-X regelen dit op DC-niveau zonder extra conversie-verlies.
- Piek-uur avond (boven 0,35 ct/kWh): EVCC pauzeert het laden (mode off) en de batterij ontlaadt richting last. Net-import wordt zo dicht mogelijk bij nul gehouden.
- Negatief tarief (zeldzaam, lente-zondag): EVCC zet alles op now-mode. Auto laadt vol, batterij accepteert grid-import zolang de prijs onder nul blijft.
In de praktijk levert deze trifecta voor een huishouden met 6 kWp PV, 10 kWh batterij en EV (jaarverbruik 12.000 kWh inclusief auto) een besparing van 350 tot 500 euro per jaar bovenop wat losse self-consumption oplevert. De setup-tijd verdient zich binnen het eerste seizoen terug.
Troubleshooting · de meest voorkomende problemen
Modbus connection refused op poort 502
Logger en EVCC-host op verschillend subnet of VLAN. Ping eerst. Bij IoT-VLAN met ACL: open expliciet poort 502 vanaf de EVCC-host. Een tweede client (bijvoorbeeld Home Assistant) die al een Modbus-sessie open heeft kan de logger blokkeren; de meeste Deye-loggers accepteren maximaal 2 gelijktijdige TCP-sessies. Sluit Cloud-app tijdelijk om te testen.
OCPP-cert mismatch met Easee of Alfen
EVCC verwacht OCPP 1.6-J zonder TLS op poort 8887 (default). Easee accepteert WSS pas met geldig cert; gebruik plain ws://evcc.local:8887/ocpp/ als endpoint. Bij Alfen: ladeplek registreren in Alfen ACE Service Installer en het OCPP-endpoint matcht hostname plus chargepoint-id letterlijk.
EVCC ziet geen PV-overschot ondanks zon
Het grid-register bij Deye is signed: positieve waarde is import, negatieve waarde is export. Gebruik decode int16 niet uint16, anders interpreteert EVCC export als 65k-waarde. Verifieer in de UI: site.gridPower moet negatief worden bij export. Pas het register-adres aan op je inverter-serie (SG04LP1 versus SG04LP3 verschillen).
Laden start, stopt, start, stopt (jojo-gedrag)
PV-overschot fluctueert door wolken. Verhoog site.residualPower naar 200 W om hysteresis in te bouwen. Zet loadpoints.minDuration op 5m zodat een sessie minimaal 5 minuten doorgaat na start. Laat phases auto staan: bij eenfase-laden stopt de cycli pas onder 1,4 kW overschot in plaats van 4,1 kW.
Auto laadt sneller dan PV produceert (grid-import)
Mode staat op now of minpv in plaats van pv. Check de UI per laadpunt. In pv-mode mag EVCC nooit grid-vermogen gebruiken; als dat toch gebeurt: site.gridMeter wijst naar het verkeerde register. Een grid-meter die 0 W meldt terwijl je import hebt gaat altijd richting now-gedrag.
EVCC versus Deye Copilot · 6 dimensies
Beide tools optimaliseren je energiestroom, maar voor verschillende scopes. EVCC is laadpunt-georienteerd en open. Deye Copilot is batterij-georienteerd en cloud.
| Dimensie | EVCC | Deye Copilot |
|---|---|---|
| Licentie | MIT, open-source | Closed-source, Deye-eigen |
| Kosten | Gratis, eigen hardware | Inverter feature, geen losse fee |
| EV-laden orchestreren | Native, 80+ wallboxen | Beperkt, alleen via cloud-flag |
| Dynamische tarieven | Tibber, Awattar, Octopus, EPEX | Eigen Deye-feed, beperkt NL |
| Custom logica | Volledig via yaml en API | Cloud-UI presets, geen scripts |
| Werkt offline | Ja, lokaal Modbus TCP | Nee, cloud-dependency |
Veelgestelde vragen
Wat is EVCC precies?
+
Wat is EVCC precies?
+EVCC staat voor Electric Vehicle Charge Controller en is een open-source orchestrator (geschreven in Go) die je PV-installatie, batterij, wallbox en auto leest en aanstuurt. De software draait lokaal op een NAS, Raspberry Pi of Docker-host en kost niets. De community telt 25.000+ users en de release-cadans is wekelijks.
Werkt EVCC met elke Deye omvormer?
+
Werkt EVCC met elke Deye omvormer?
+EVCC werkt met alle Deye hybride omvormers die Modbus TCP spreken (SUN-X-SG04LP1 1-fase en SG04LP3 3-fase, zowel G2 als G3). Je hebt een Deye WiFi-logger met firmware MW3.16 of nieuwer nodig. Oudere V1-loggers met enkel RS485 vragen een TCP-bridge zoals USR-TCP232.
Heb ik internet nodig om EVCC te draaien?
+
Heb ik internet nodig om EVCC te draaien?
+Voor de basisfunctie (surplus EV-laden) niet. EVCC praat lokaal met de Deye-logger en de wallbox over Modbus TCP. Internet is alleen nodig voor optionele features: dynamische tarieven van Tibber, software-updates van EVCC, en cloud-API van een EV (Tesla Fleet, Audi e-tron Connect).
Welke wallboxen werken met EVCC?
+
Welke wallboxen werken met EVCC?
+De officiele lijst telt boven de 80 modellen. De meest gebruikte in NL: Easee Home en Charge, Wallbox Pulsar Plus, Alfen Eve Single Pro-line, Tesla Wall Connector Gen 3, ABL eMH1, Heidelberg Energy Control en go-eCharger. Voor Tesla heb je Tesla Vehicle Command nodig (Bluetooth of cloud) om laadstroom te beperken.
Kan ik EVCC parallel met Home Assistant draaien?
+
Kan ik EVCC parallel met Home Assistant draaien?
+Ja. Beide pollen Modbus TCP op poort 502. Hou de gecombineerde polling onder 1 query per seconde om de logger niet te overbelasten. EVCC pollt default elke 10 seconden, Home Assistant elke 5 seconden, samen prima. Optioneel kan EVCC zijn data ook via MQTT publiceren zodat HA niet zelf hoeft te pollen.
Hoe werkt de Tibber + EVCC + Deye trifecta?
+
Hoe werkt de Tibber + EVCC + Deye trifecta?
+EVCC leest Tibber elk uur uit voor de spotprijs. Tijdens dal-uren stuurt het je Deye-batterij naar force-charge via een Modbus-write op het time-of-use register (0x0094). Tijdens piek-uren ontlaadt de batterij naar last. EV-laden volgt de PV-overschot-logica plus optioneel cheap-mode (laden onder 0,12 ct/kWh).
Wat is het verschil tussen mode pv en mode minpv?
+
Wat is het verschil tussen mode pv en mode minpv?
+Mode pv laadt alleen wanneer er PV-overschot is. Onder 1,4 kW (eenfase) of 4,1 kW (driefase) stopt het laden. Mode minpv combineert: er wordt minimaal de minCurrent (typisch 6 A) gegarandeerd uit het net plus alle PV-overschot. Handig als je vóór 18:00 vol moet hebben en niet kunt wachten op zon.
Verbruikt EVCC zelf veel resources?
+
Verbruikt EVCC zelf veel resources?
+Nee. EVCC draait in onder de 100 MB RAM en gebruikt minder dan 1% CPU op een Raspberry Pi 4. De binary is rond 30 MB. Logging blijft default 7 dagen. Het is veruit de lichtste van de open-source EMS-opties (vergeleken met openHAB of Home Assistant).
Kan EVCC ook mijn Deye-batterij sturen, niet alleen lezen?
+
Kan EVCC ook mijn Deye-batterij sturen, niet alleen lezen?
+Beperkt. EVCC heeft batterij-controle voor een aantal merken (Sungrow, SMA) volledig geïmplementeerd. Voor Deye is read-only het standaard pad: SoC, vermogen en capaciteit lezen werkt out-of-the-box. Force-charge en time-of-use writes doe je via een aparte Modbus-write (vanuit Home Assistant of Node-RED) op register 0x0094 t/m 0x009F.
Wat doet EVCC bij een internet-storing?
+
Wat doet EVCC bij een internet-storing?
+Alle lokale functies blijven draaien: PV-overschot meten, wallbox sturen, Modbus lezen. Wat wegvalt: nieuwe Tibber-prijzen (EVCC gebruikt de laatst opgehaalde set), cloud-EV-state (auto SoC), software-updates. Setup blijft dus volledig functioneel voor surplus-laden ook bij ISP-uitval.
Werkt EVCC voor 3-fase wallboxen op 1-fase aansluiting?
+
Werkt EVCC voor 3-fase wallboxen op 1-fase aansluiting?
+Niet direct. Een 3-fase wallbox op een 1-fase aansluiting kun je beperken tot 1 fase via de wallbox-config (bij Easee, Wallbox, Alfen mogelijk). EVCC respecteert die instelling. Auto-phase-switching (1<>3 fase op basis van overschot) werkt alleen op echte 3-fase aansluitingen.
Welke alternatieven zijn er als EVCC niet bevalt?
+
Welke alternatieven zijn er als EVCC niet bevalt?
+Vrij weinig op dit niveau. Alternatieven: open-evse (alleen wallbox-firmware, geen orchestratie), HA-energy-dashboard met eigen automations (meer werk, minder polish), Tibber Pulse Charger (cloud-only, beperkt tot Tibber), of Deye Copilot (alleen batterij-arbitrage, geen wallbox-logica). EVCC is in 2026 de community-standaard.
Gerelateerd
Verder lezen
Home Assistant koppelen
Modbus TCP, dashboards en automations parallel naast EVCC.
Lees verder
Dynamische tarieven met Deye
Tibber, Frank en EnergyZero in EVCC en Deye automations.
Lees verder
EV laden op PV-overschot
Achtergrond bij waarom surplus-laden bij Deye 80%-plus self-consumption oplevert.
Lees verder
Deye Cloud uitleg
Wat de cloud-app wel en niet kan, naast je lokale EVCC-setup.
Lees verder
Live dashboard demo
Werkende Deye monitoring met realtime data, naast EVCC-UI.
Lees verder
Aan de slag in 5 stappen
Persoonlijk advies van Jean voor het complete energie-systeem.
Lees verder
Home Assistant koppelen
Modbus TCP, dashboards en automations parallel naast EVCC.
Lees verder →
Dynamische tarieven
Tibber, Frank en EnergyZero automatisch in EVCC en je Deye verwerken.
Lees verder →
EV laden op PV-overschot
Achtergrond bij waarom EVCC de slimste route is voor surplus-laden.
Lees verder →
