EVCC Eigenverbrauch EV-Ladung mit KNX: Fronius Modbus und SG Ready Koordination
EVCC (Electric Vehicle Charge Controller) ist ein Open-Source-Controller für den Eigenverbrauch, der die aktuelle PV-Erzeugung von Fronius- oder SMA-Wechselrichtern über Modbus TCP ausliest und den EV-Ladestrom automatisch an den überschüssigen Solarertrag anpasst – integriert mit KNX über das EVCC KNX-Plugin zur Modusumschaltung und Statusüberwachung aus der Gebäudeautomationsebene.
EVCC-Übersicht: Funktion und Betrieb
EVCC ist ein Open-Source-Projekt (github.com/evcc-io/evcc), das als dedizierter Eigenverbrauchsregler für das Laden von Elektrofahrzeugen dient. Es verbindet sich mit dem Solarwechselrichter, um die aktuelle Erzeugung und Netzleistung auszulesen, verbindet sich über OCPP oder native APIs mit einem oder mehreren EV-Ladegeräten und passt den Ladestrom kontinuierlich an, um den Anteil der Solarenergie, der zum Laden des EV genutzt wird, zu maximieren, anstatt ihn ins Netz einzuspeisen.
EVCC läuft als Docker-Container oder als Home-Assistant-Add-on und lässt sich unkompliziert auf einem Raspberry Pi 4 zusammen mit Home Assistant bereitstellen. Das EVCC-Web-Dashboard bietet eine Echtzeit-Visualisierung von PV-Leistung, Netzfluss, Batterie-SOC und EV-Ladezustand. Für die KNX-Integration veröffentlicht das EVCC-KNX-Plugin – aktiviert in evcc.yaml – EVCC-Zustandsvariablen auf KNX-Gruppenadressen und liest Moduswahl-GAs von KNX-Tastern aus.
EVCC-Bereitstellungsoptionen
- Raspberry Pi 4 (4 GB): EVCC als Docker-Container, läuft 24/7 mit ca. 4 W
- Home Assistant OS: EVCC offizielles Add-on, Ein-Server-Setup
- Synology NAS: Docker-Container im Container Manager
- Proxmox VM: Docker oder natives Linux-Binary für Homelab-Setups
EVCC Fahrzeugunterstützung (Teilliste)
- Tesla (Model 3, Model Y, Model S) — über Tesla API
- VW ID.4, ID.3 — über WeConnect API
- Hyundai Ioniq 5, Ioniq 6 — über Bluelink API
- BMW iX, i4 — über BMW ConnectedDrive API
- Allgemeines Fahrzeug (keine API): feste 80 % Batterielimit
Fronius GEN24 Modbus-Konfiguration in evcc.yaml
EVCC liest den Fronius GEN24-Wechselrichter über SunSpec Modbus TCP mit dem integrierten Fronius-Zählertyp aus. Die Konfiguration erfordert eine statische IP für den Wechselrichter und aktivierten Modbus TCP in den Fronius-Webserver-Einstellungen.
evcc.yaml — Fronius GEN24 Zähler- und Ladegerätkonfiguration
meters:
- name: fronius_pv
type: template
template: fronius-symo
uri: http://192.168.1.100 # Fronius static IP
usage: pv # PV generation meter
- name: fronius_grid
type: template
template: fronius-smart-meter
uri: http://192.168.1.100
usage: grid # Grid import/export meter
- name: fronius_battery
type: template
template: fronius-battery
uri: http://192.168.1.100
usage: battery # Battery SOC + charge power (GEN24 Plus only)
chargers:
- name: easee_home
type: template
template: easee
user: user@email.com
password: EaseeAppPassword
charger: XXXXXXXX # Easee charger serial number
vehicles:
- name: my_tesla
type: template
template: tesla
title: Tesla Model 3
accessToken: <Tesla API token>
refreshToken: <Tesla refresh token>
site:
title: Home
meters:
grid: fronius_grid
pv: fronius_pv
battery: fronius_battery
loadpoints:
- title: EV Charger
charger: easee_home
vehicle: my_tesla
mode: pv # Default: PV-only self-consumption mode
minCurrent: 6 # Minimum 6A (1.38kW @ 230V)
maxCurrent: 16 # Maximum 16A (3.68kW @ 230V)evcc.yaml — SMA Energy Meter Alternative
# SMA Sunny Boy + SMA Energy Meter
meters:
- name: sma_pv
type: template
template: sma-sunnyboy
uri: https://192.168.1.101 # SMA inverter static IP (HTTPS)
password: <SMA web UI password>
usage: pv
- name: sma_grid
type: template
template: sma-energymeter
# SMA Energy Meter uses Multicast UDP — no IP config needed
serial: 1234567890 # Serial from SMA Energy Meter label
usage: gridEVCC KNX-Plugin: Aktivierung und Konfiguration
Das EVCC KNX-Plugin verbindet EVCC über eine KNX-IP-Schnittstelle (KNXnet/IP Tunneling oder Routing) mit dem KNX-Bus. Es veröffentlicht den EVCC-Ladepunktstatus an KNX-Gruppenadressen und hört auf Modusbefehle von KNX-Tastern oder Automatisierungsszenen. Aktivieren Sie es in evcc.yaml im Abschnitt messaging oder plugins.
evcc.yaml — KNX-Plugin-Konfiguration
# evcc.yaml — KNX plugin section knx: gateway: 192.168.1.10 # KNX IP interface / IP router static IP # or use: gateway: 224.0.23.12 (KNX multicast for IP routing) # Mode selection GAs — written by KNX pushbutton or automation # Values: 0=off, 1=now (fast), 2=minpv (min+pv), 3=pv (solar only) mode: "10/1/0" # Status GAs — published by EVCC to KNX (read-only from KNX side) activeMode: "10/1/1" # Current active mode (DPT 5.010) charging: "10/1/2" # Charging active boolean (DPT 1.001) chargePower: "10/1/3" # Current charge power W (DPT 13.010) sessionEnergy: "10/1/4" # Session energy kWh (DPT 14.056) vehicleSoc: "10/1/5" # Vehicle SOC % (DPT 5.001, if API connected) pvPower: "10/1/6" # PV power W from inverter (DPT 13.010) gridPower: "10/1/7" # Grid power W signed (DPT 13.010)
| EVCC-Modus | KNX-Wert | Verhalten | Auslösung über KNX |
|---|---|---|---|
| aus | 0 | Kein Laden — EV vom Zeitplan getrennt | Tastendruck lang oder manuelle Übersteuerung |
| jetzt (schnell) | 1 | Laden mit maximalem Strom, unabhängig von Solar | Short press: 'Charge Now' scene |
| minpv | 2 | Laden mit Minimum (6A) + Erhöhung bei Solarüberschuss | Short press: 'Min + Solar' scene |
| pv | 3 | Nur Solar: unterhalb 6A-Schwelle aussetzen, bei Überschuss wieder aufnehmen | Standard / KNX-Zeitplan um 09:00 |
SG Ready Wärmepumpenkoordination: Prioritätslogik
When both EVCC (controlling EV charging) and SG Ready (controlling heat pump) compete for the same PV surplus, a priority arbitration layer prevents grid import while maximising total self-consumption across both loads. The coordination logic runs in KNX (MDT Logic Module) or Home Assistant automations using EVCC's KNX status GAs.
SG Ready + EVCC Prioritätskoordinationslogik
Source data from KNX GAs (all published by EVCC KNX plugin):
GA 10/1/6 = PV power W (from Fronius Modbus)
GA 10/1/7 = Grid power W (negative = export, positive = import)
GA 10/1/3 = Current EV charge power W
Priority logic (KNX Logic Module or HA automation):
STEP 1 — Heat pump base load:
IF GA 10/1/7 < −500W (exporting > 500W):
→ SG Ready State 3 (S2=1, S1=0) = encouraged mode
Heat pump increases setpoint by +2°C, absorbs ~1 kW extra
STEP 2 — EV charging from remainder:
Available for EV = GA 10/1/7 (grid export W) − 0W margin
IF available > 1400W (enough for 6A minimum):
→ Write EVCC mode=pv to GA 10/1/0 (value 3)
EVCC automatically adjusts current to use remaining surplus
STEP 3 — Maximum surplus (SG Ready State 4):
IF GA 10/1/7 < −6000W AND EVCC charging at maximum (16A):
→ SG Ready State 4 (S1=1, S2=1) = maximum HP power
Heat pump runs at rated capacity, absorbs 3–6 kW additional
STEP 4 — Grid import prevention:
IF GA 10/1/7 > +200W (importing more than 200W):
→ SG Ready → State 2 (normal, reduce heat pump load)
→ If still importing after 60s: EVCC mode=off (suspend EV)
Prevents the heat pump + EV combination from causing grid importEVCC ABB Terra Ladegerät-Konfiguration
ABB Terra AC-Ladegeräte (11 kW und 22 kW) werden häufig in gewerblichen KNX-Gebäuden spezifiziert. EVCC unterstützt ABB Terra über OCPP 1.6J mit dem gleichen Konfigurationsansatz wie Easee, jedoch mit einem leicht abweichenden OCPP-Verbindungs-URL-Format.
evcc.yaml — Konfiguration des ABB Terra Ladegeräts
chargers:
- name: abb_terra_1
type: template
template: ocpp
id: ABBTerra01 # Charge point ID configured in ABB Terra
# ABB Terra OCPP central system URL in charger settings:
# ws://192.168.1.200:8887/ABBTerra01
maxCurrent: 32 # ABB Terra AC W22 max 32A 3-phase
# ABB Terra specific: enable OCPP in charger web UI
# URL: http://<ABB-terra-IP>/configuration
# OCPP Central System URI: ws://evcc-server-ip:8887/ABBTerra01
# OCPP version: OCPP16 (select from dropdown)EVCC-Dashboard mit KNX-Statusgruppenadressen
Das EVCC-Web-Dashboard (erreichbar unter http://evcc-server-ip:7070) bietet eine Live-Visualisierung des Eigenverbrauchs. Für KNX-Visualisierungssysteme (Gira X1, IP-Symcon, ARISTO BewO) speisen die EVCC-KNX-Status-GAs Echtzeitdaten in Panel-Displays und mobile App-Dashboards ein.
KNX-Visualisierungsintegration für EVCC-Status
Gira X1 / Gira HomeServer visualisation page: Display widget: "PV Power" → reads GA 10/1/6 (DPT 13.010 W) Display widget: "Grid Power" → reads GA 10/1/7 (DPT 13.010 W) Display widget: "EV Charging W" → reads GA 10/1/3 Toggle button: "Charge Mode" → writes 1/2/3 to GA 10/1/0 Indicator lamp: "Charging Active" → reads GA 10/1/2 (DPT 1.001) IP-Symcon dashboard: Create KNX variables linked to EVCC GAs Dashboard widget type: Gauge (PV Power, 0–10000W) Dashboard widget type: LED indicator (Charging Active) Dashboard widget type: Selector (Mode: Off/Now/MinPV/PV) → Variable change triggers IPS script to write GA 10/1/0 KNX touch panel (e.g. Gira e2 or MDT IP touch panel): EV charging page with live power values Mode selector from page pushbutton widgets Session energy total shown in kWh display element
Inbetriebnahme mit Live-PV-Daten
Die EVCC-Inbetriebnahme sollte an einem Tag mit aktiver Solarerzeugung durchgeführt werden, um zu überprüfen, ob die gesamte Kette – von Fronius-Modbus-Daten über EVCC-Logik bis hin zur OCPP-Stromanpassung und KNX-GA-Updates – unter realen Betriebsbedingungen korrekt funktioniert.
EVCC-Inbetriebnahme-Testsequenz
Step 1 — Inverter data verification: Open EVCC dashboard (http://evcc-ip:7070) Confirm: PV power > 0W on sunny morning by 10:00 Confirm: Grid power negative (exporting) when PV > building load Cross-check: EVCC PV power should match Fronius webserver ±5% Step 2 — Charger connection test: Plug EV into charger EVCC dashboard: Loadpoint shows "Connected" status Vehicle SOC displayed (if API configured) Step 3 — PV mode test: Set EVCC mode: PV (write 3 to GA 10/1/0 from ETS6) Observe: EVCC begins charging when surplus > 1.4 kW EVCC dashboard: current slider visible and tracking solar Step 4 — KNX status GA verification: ETS6 Group Monitor: watch GA 10/1/3 (charge power) Verify: value updates every 30 seconds as current changes Watch GA 10/1/2: confirms 1 (true) when EV charging active Step 5 — Mode switching from KNX: ETS6 → write 1 to GA 10/1/0 (mode: now/fast) Confirm: EVCC dashboard shows "Now" mode, current jumps to 16A Write 3 back → confirm PV mode resume, current reduces to surplus-matched level Step 6 — SG Ready coordination test: With EV charging at 6A (low surplus): confirm SG Ready stays at State 2 With >3kW surplus: confirm SG Ready activates State 3 Confirm EV current increases alongside SG Ready activation
Benötigen Sie ein EVCC-Eigenverbrauchspanel mit KNX-Integration?
Wir konfigurieren EVCC mit Fronius oder SMA Modbus, KNX-Plugin-Setup, SG-Ready-Koordinationslogik und vollständiger Inbetriebnahmedokumentation – bereitgestellt und getestet auf einem Raspberry Pi oder HA Green zusammen mit Ihrem KNX-Panel.
Angebot anfordern →