EVCC · Samo-konsumpcja · Fronius · SMA · SG Ready · KNX · 10 min czytania

EVCC Samo-konsumpcja Ładowania EV z KNX: Koordynacja Fronius Modbus i SG Ready

EVCC (Electric Vehicle Charge Controller) to otwartoźródłowy kontroler samo-konsumpcji, który odczytuje bieżącą produkcję PV z falowników Fronius lub SMA przez Modbus TCP i automatycznie dostosowuje prąd ładowania EV do nadwyżki energii słonecznej – zintegrowany z KNX poprzez wtyczkę EVCC KNX do przełączania trybów i monitorowania stanu z warstwy automatyki budynkowej.

Przegląd EVCC: co robi i jak działa

EVCC to projekt open-source (github.com/evcc-io/evcc), który działa jako dedykowany kontroler autokonsumpcji do ładowania pojazdów elektrycznych. Łączy się z falownikiem fotowoltaicznym, aby odczytywać bieżącą generację i moc sieciową, łączy się z jednym lub wieloma ładowarkami EV przez OCPP lub natywne API i stale dostosowuje prąd ładowania, aby maksymalizować udział energii słonecznej używanej do ładowania EV, zamiast oddawania jej do sieci.

EVCC działa jako kontener Docker lub dodatek do Home Assistant, co ułatwia wdrożenie na Raspberry Pi 4 wraz z Home Assistant. Pulpit nawigacyjny EVCC zapewnia wizualizację w czasie rzeczywistym mocy PV, przepływu sieciowego, stanu naładowania baterii i stanu ładowania EV. Do integracji KNX wtyczka KNX EVCC – włączona w evcc.yaml – publikuje zmienne stanu EVCC na adresy grupowe KNX i odczytuje adresy grupowe wyboru trybu z przycisków KNX.

Opcje wdrożenia EVCC

  • Raspberry Pi 4 (4 GB): EVCC jako kontener Docker, działa 24/7 przy ~4 W
  • Home Assistant OS: Oficjalny dodatek EVCC, konfiguracja pojedynczego serwera
  • Synology NAS: Kontener Docker w Menedżerze kontenerów
  • Maszyna wirtualna Proxmox: Docker lub natywny plik binarny Linux dla konfiguracji homelab

Obsługa pojazdów EVCC (częściowa lista)

  • Tesla (Model 3, Model Y, Model S) — przez API Tesli
  • VW ID.4, ID.3 — przez API WeConnect
  • Hyundai Ioniq 5, Ioniq 6 — przez API Bluelink
  • BMW iX, i4 — przez BMW ConnectedDrive API
  • Ogólny pojazd (brak API): stały limit baterii 80%

Konfiguracja Modbus Fronius GEN24 w evcc.yaml

EVCC odczytuje falownik Fronius GEN24 przez SunSpec Modbus TCP, używając wbudowanego typu licznika Fronius. Konfiguracja wymaga statycznego IP dla falownika i włączonego Modbus TCP w panelu ustawień serwera WWW Fronius.

evcc.yaml — konfiguracja licznika i ładowarki Fronius GEN24

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 — alternatywa SMA Energy Meter

# 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: grid

Wtyczka EVCC KNX: włączanie i konfiguracja

Wtyczka EVCC KNX łączy EVCC z magistralą KNX przez interfejs IP KNX (KNXnet/IP tunnelling lub routing). Publikuje stan punktu ładowania EVCC na adresy grupowe KNX i nasłuchuje poleceń trybu z przycisków KNX lub scen automatyzacji. Włącz ją w evcc.yaml w sekcji messaging lub plugins.

evcc.yaml — konfiguracja wtyczki KNX

# 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)
Tryb EVCCWartość KNXZachowanieWyzwalanie z KNX
wyłączone0Brak ładowania — EV odłączone od harmonogramuDługie naciśnięcie przycisku lub ręczne nadpisanie
teraz (szybko)1Ładuj maksymalnym prądem niezależnie od energii słonecznejShort press: 'Charge Now' scene
minpv2Ładuj minimalnym (6A) + zwiększaj przy nadwyżce słonecznejShort press: 'Min + Solar' scene
pv3Tylko fotowoltaika: zawieś poniżej progu 6A, wznów przy nadwyżceDomyślnie / harmonogram KNX o 09:00

Koordynacja pompy ciepła SG Ready: logika priorytetów

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.

Logika koordynacji priorytetów SG Ready + EVCC

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 import

Konfiguracja ładowarki EVCC ABB Terra

Ładowarki ABB Terra AC (11 kW i 22 kW) są często specyfikowane w komercyjnych budynkach KNX. EVCC obsługuje ABB Terra przez OCPP 1.6J, stosując to samo podejście konfiguracyjne co dla Easee, z nieco innym formatem adresu URL połączenia OCPP.

evcc.yaml — Konfiguracja ładowarki ABB Terra

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)

Panel EVCC z adresami grupowymi statusu KNX

Panel internetowy EVCC (dostępny pod adresem http://evcc-server-ip:7070) zapewnia wizualizację bieżącego zużycia własnego. Dla systemów wizualizacji KNX (Gira X1, IP-Symcon, ARISTO BewO) adresy grupowe statusu KNX EVCC dostarczają dane w czasie rzeczywistym do wyświetlaczy panelowych i pulpitów aplikacji mobilnych.

Integracja wizualizacji KNX dla statusu EVCC

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

Uruchomienie z danymi PV na żywo

Uruchomienie EVCC powinno być przeprowadzone w dniu z aktywną generacją słoneczną, aby zweryfikować, czy cały łańcuch – od danych Modbus z Fronius przez logikę EVCC do regulacji prądu OCPP i aktualizacji adresów grupowych KNX – działa poprawnie w rzeczywistych warunkach pracy.

Sekwencja testowa uruchomienia EVCC

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

Potrzebujesz panelu EVCC do autokonsumpcji z integracją KNX?

Konfigurujemy EVCC z Fronius lub SMA Modbus, konfigurację wtyczki KNX, logikę koordynacji SG Ready oraz pełną dokumentację uruchomieniową – wdrożone i przetestowane na Raspberry Pi lub HA Green wraz z panelem KNX.

Poproś o wycenę →
Ładowanie...
Powrót do góry