Ładowanie EV · Easee · Wallbox · OCPP 1.6J · KNX · 10 min czytania

Easee Home i Wallbox Pulsar Integracja z KNX przez bramę OCPP 1.6J

Połączenie ładowarek EV Easee Home i Wallbox Pulsar Plus z KNX za pośrednictwem centralnego systemu OCPP 1.6J pozwala warstwie automatyki budynkowej sterować prądem ładowania, monitorować energię sesji, wyzwalać autoryzację RFID ze sceny KNX oraz wdrażać ładowanie z własnym zużyciem PV – wszystko koordynowane za pomocą standardowych adresów grupowych KNX.

Przegląd OCPP 1.6J i konfiguracja trybu lokalnego

OCPP (Open Charge Point Protocol) 1.6J to protokół oparty na WebSocket, który oddziela punkt ładowania (sprzęt ładowarki EV) od systemu zarządzania punktami ładowania (CPMS, zwanego również systemem centralnym). Zarówno Easee Home, jak i Wallbox Pulsar Plus natywnie implementują OCPP 1.6J, umożliwiając dowolnemu zgodnemu systemowi centralnemu – hostowanemu w chmurze lub lokalnie – sterowanie i monitorowanie.

Do integracji z KNX najbardziej niezawodnym podejściem jest użycie lokalnego systemu centralnego OCPP zamiast chmury producenta, co eliminuje zależność od chmury i zapewnia opóźnienie poniżej sekundy dla poleceń sterujących. Home Assistant z dodatkiem integracji OCPP lub IP-Symcon z modułem OCPP to dwie praktyczne opcje lokalnego systemu centralnego, które również udostępniają mosty adresów grupowych do KNX.

Easee Home – włączanie lokalnego trybu OCPP

1. Open Easee app → select charger → Settings → Advanced
   Scroll to OCPP — select "Custom OCPP server"

2. Enter local OCPP WebSocket URL:
   ws://<home-assistant-ip>:9000/Easee01
   (port 9000 is HA OCPP add-on default; /Easee01 = charger ID)

3. OCPP version: OCPP 1.6J (select from dropdown)
   Authentication: leave blank for local unauthenticated setup
   or set a shared secret if HA OCPP requires it

4. Save — charger will attempt WebSocket connection within 30s
   HA OCPP add-on log: "New charge point connected: Easee01"

Note: Easee also supports cloud OCPP via api.easee.cloud
  Use local mode for KNX integration — removes cloud dependency

Wallbox Pulsar Plus – włączanie lokalnego trybu OCPP

1. Open myWallbox app → charger settings → Smart charging
   Select OCPP → Custom OCPP server

2. OCPP URL: ws://<home-assistant-ip>:9000/WallboxPulsar01
   OCPP version: OCPP 1.6J
   Charge point ID: WallboxPulsar01

3. Alternatively via Wallbox local REST API:
   POST http://<wallbox-ip>/api/2/ocpp/setConfig
   {"ocppServer": "ws://<ha-ip>:9000/WallboxPulsar01"}

4. Verify: HA OCPP logs confirm "WallboxPulsar01 connected"
   Status should show: Available (no EV plugged in)

Schemat adresów grupowych KNX do sterowania ładowarką EV

Układ adresów grupowych KNX łączy parametry OCPP z typami danych KNX. Integracja HA KNX (biblioteka XKNX) odczytuje i zapisuje te GA, tłumacząc między wartościami DPT KNX a komunikatami protokołu OCPP. Każda ładowarka w instalacji wieloładowarkowej otrzymuje własny zestaw GA w dedykowanej podgrupie.

Adres grupowyOpisDPTKierunek
10/0/0Zadana wartość prądu ładowania 0–32 ADPT 5.001 (1-bajt %)KNX → OCPP (zapis)
10/0/1Ładowarka aktywna / włączonaDPT 1.001 (1-bit)KNX → OCPP (zapis)
10/0/2Energia naładowana w sesji kWhDPT 13.013 (4-bajtowa ze znakiem kWh)OCPP → KNX (odczyt)
10/0/3Status podłączenia wtyczkiDPT 1.001 (1-bit)OCPP → KNX (odczyt)
10/0/4Stan ładowarki (0=dostępna, 1=ładowanie, 2=usterka)DPT 5.010 (1-bajtowa enumeracja)OCPP → KNX (odczyt)
10/0/5Wyzwalacz autoryzacji RFIDDPT 1.001 (1-bit, zbocze narastające)KNX → OCPP (zapis)

DPT 5.001 dla prądu ładowania: 1-bajtowy DPT procentowy koduje 0–100% jako 0–255. Wartość 50% (128) odpowiada 16A w ładowarce 32A. Dla Easee Home (max 16A) mapuj 0–100% na 0–16A w automatyzacji HA. Dla Wallbox Pulsar Plus 3-fazowego (max 32A) mapuj 0–100% na 0–32A. Alternatywnie użyj DPT 5.010 unsigned byte i mapuj 0–32 bezpośrednio na ampery.

Konfiguracja mostka OCPP do KNX w Home Assistant

Home Assistant działa jako centralny system OCPP i jednocześnie jako brama interfejsu KNX IP. Dodatek integracji OCPP HA tworzy encje dla każdej ładowarki, a automatyzacje HA tłumaczą zapisy GA KNX na komendy OCPP i odwrotnie.

HA configuration.yaml — encje KNX dla ładowarki EV

# configuration.yaml
knx:
  sensor:
    - name: "EV Charger 1 Current Setpoint"
      state_address: "10/0/0"
      type: "percent"          # DPT 5.001

  binary_sensor:
    - name: "EV Charger 1 Enable"
      state_address: "10/0/1"
    - name: "EV Charger 1 Plug Connected"
      state_address: "10/0/3"

  number:
    - name: "EV Charger 1 Current Control"
      address: "10/0/0"
      min: 0
      max: 100
      type: "percent"

  switch:
    - name: "EV Charger 1 Active"
      address: "10/0/1"
      state_address: "10/0/1"

# automation.yaml — KNX GA write → OCPP SetChargingProfile
automation:
  - alias: "EV Charger 1 — KNX current setpoint to OCPP"
    trigger:
      - platform: state
        entity_id: sensor.ev_charger_1_current_setpoint
    action:
      - service: ocpp.set_max_charge_rate_amps
        data:
          charge_point_id: "Easee01"
          charge_rate: >
            {{ (trigger.to_state.state | float) * 0.16 | round(0) }}

Automatyzacja HA — nadwyżka PV → OCPP SetChargingProfile

# Triggered when KNX solar surplus GA (9/0/1) updates
automation:
  - alias: "EV Solar Self-Consumption — Surplus to Charge Current"
    trigger:
      - platform: state
        entity_id: sensor.knx_solar_surplus_w
    condition:
      - condition: state
        entity_id: binary_sensor.ev_charger_1_plug_connected
        state: "on"
    action:
      - choose:
          - conditions:
              - condition: numeric_state
                entity_id: sensor.knx_solar_surplus_w
                above: 2500
            sequence:
              - service: ocpp.set_max_charge_rate_amps
                data:
                  charge_point_id: "Easee01"
                  charge_rate: >
                    {{ [[(states('sensor.knx_solar_surplus_w')|float / 230)|round(0), 6]|max, 16]|min }}
          - conditions:
              - condition: numeric_state
                entity_id: sensor.knx_solar_surplus_w
                below: 1400
            sequence:
              - service: ocpp.stop_transaction
                data:
                  charge_point_id: "Easee01"

Moduł OCPP IP-Symcon jako alternatywny system centralny

IP-Symcon (IPS) to platforma automatyki domowej dla Windows/Linux z natywną obsługą KNX i modułem OCPP dostępnym na rynku IPS. W instalacjach, gdzie IP-Symcon już służy jako platforma logiki i wizualizacji KNX, moduł OCPP IPS eliminuje potrzebę wprowadzania osobnego serwera Home Assistant.

Konfiguracja IP-Symcon OCPP + KNX

1. Install IPS OCPP module from marketplace
   Create OCPP Central System instance:
   Port: 9000 (WebSocket server, IPS listens)
   Charge Point ID: Easee01

2. IPS OCPP variables auto-created per charger:
   MaxChargingCurrent (0–32A integer)
   ChargerStatus (string: Available/Charging/Faulted)
   SessionEnergyWh (float)
   PlugConnected (boolean)

3. Link IPS OCPP variables to KNX via IPS KNX module:
   KNX device → Group Address 10/0/0 → link to MaxChargingCurrent
   KNX device → GA 10/0/2 → link to SessionEnergyWh (send on change)

4. IPS script for solar surplus → charge current:
   $surplus = GetValue(12345); // KNX GA 9/0/1 variable ID
   $current = max(6, min(16, round($surplus / 230)));
   if ($surplus > 2500) {
     SetValue(OCPP_MaxCurrent_ID, $current);
   } elseif ($surplus < 1400) {
     OCPP_StopTransaction("Easee01");
   }

Sekwencja ładowania z autokonsumpcją PV

Sekwencja ładowania z autokonsumpcją opisuje pełną pętlę sterowania od wykrycia nadwyżki słonecznej przez KNX do regulacji prądu przez OCPP – w tym logikę histerezy, która zapobiega szybkiemu przełączaniu, gdy generacja słoneczna waha się wokół minimalnego progu.

Sekwencja ładowania z autokonsumpcją PV

1. KNX GA 9/0/1 (Grid Power, signed W) published by
   Intesis IN701KNX gateway reading Fronius Modbus register 40225
   Poll interval: 10 seconds

2. KNX logic (MDT Logic Module or HA automation) evaluates:
   IF Grid Power < −2500W (exporting > 2.5 kW):
     → Calculate OCPP current: surplus_W ÷ 230V
     → Clamp: max(6, min(16, calculated_A)) for Easee Home
     → Write clamped value to GA 10/0/0 (charge current)
     → HA/IPS translates GA write → OCPP SetChargingProfile

3. OCPP SetChargingProfile message:
   {
     "connectorId": 1,
     "csChargingProfiles": {
       "chargingProfileKind": "TxProfile",
       "chargingSchedule": {
         "chargingRateUnit": "A",
         "chargingSchedulePeriod": [{"startPeriod": 0, "limit": <amps>}]
       }
     }
   }

4. Charger applies new limit within 5–10 seconds
   KNX GA 10/0/2 (Session Energy kWh) updates every 60s

5. IF Grid Power > −1400W (surplus dropped below 1.4 kW):
   → Wait 120 seconds (hysteresis — solar cloud pass-through)
   → IF still < 1400W → OCPP StopTransaction
   → Charger status: Suspended / Available

Wyzwalanie autoryzacji RFID z sceny KNX

Standardowe ładowanie OCPP wymaga od kierowcy przedstawienia karty RFID lub użycia aplikacji do autoryzacji sesji. W instalacjach KNX w budynkach mieszkalnych, gdzie mieszkaniec chce rozpocząć ładowanie za pomocą przycisku KNX na ścianie lub harmonogramu czasowego, autoryzacja RFID wyzwolona przez KNX może uruchomić sesję bez fizycznego okazywania karty.

Sekwencja: scena KNX → autoryzacja RFID OCPP

KNX push button (Scene 5 = "EV Start Charging"):
  → GA 10/0/5 (RFID authorize trigger) → DPT 1.001 value 1

HA automation triggered by GA 10/0/5:
  - service: ocpp.authorize
    data:
      charge_point_id: "Easee01"
      id_tag: "HOME_RESIDENT_01"  # pre-authorized RFID tag

OCPP Authorize.req sends idTag to Central System (HA OCPP)
HA OCPP returns: Authorize.conf { "idTagInfo": { "status": "Accepted" }}
Charger begins transaction: StartTransaction.req sent to HA

KNX scene "EV Stop Charging":
  → GA 10/0/1 (charger active) → DPT 1.001 value 0
  → HA automation: ocpp.stop_transaction charge_point_id=Easee01

Use case: time-of-use tariff schedule — IPS script runs at
  23:00 → writes 1 to GA 10/0/5 → starts cheap overnight charge
  07:00 → writes 0 to GA 10/0/1 → stops transaction before peak

Uwaga dotycząca bezpieczeństwa: Podejście z wstępnie autoryzowanym idTag omija fizyczne uwierzytelnianie RFID. Używaj tego tylko w budynkach mieszkalnych lub prywatnych, gdzie właściciel budynku kontroluje zarówno system KNX, jak i ładowarkę. W komercyjnych instalacjach wieloużytkownikowych zachowaj fizyczne okazywanie karty RFID dla każdej sesji, aby zachować ślad audytu i dokładność rozliczeń.

Test uruchomieniowy z ETS6 Group Monitor

Sekwencja uruchomieniowa weryfikuje pełną ścieżkę od podłączenia wtyczki EV przez centralny system OCPP do aktualizacji adresu grupowego KNX, potwierdzając, że logika autokonsumpcji i sterowanie prądem działają od końca do końca przed przekazaniem instalacji.

Sekwencja testu uruchomieniowego

Step 1 — OCPP connectivity verification:
  Open HA OCPP add-on log
  Confirm: "Easee01 connected via OCPP 1.6J WebSocket"
  Charger LED: solid green (available, not charging)

Step 2 — Plug connected status KNX update:
  Plug test EV cable into Easee Home socket
  ETS6 Group Monitor → watch GA 10/0/3
  Expected: value changes to 1 (true) within 5 seconds
  Charger status GA 10/0/4 → should read 1 (charging prep)

Step 3 — Manual current setpoint test:
  ETS6 Group Monitor → write value 50 to GA 10/0/0 (50% = 8A)
  Verify: HA log shows OCPP SetChargingProfile 8A sent
  Verify: Easee app shows "Charging at 8A"
  Write 100 to GA 10/0/0 → confirm Easee shows 16A

Step 4 — PV surplus simulation:
  ETS6 Group Monitor → write −4000 to GA 9/0/1 (simulate 4kW export)
  Confirm: HA automation fires → OCPP current = 4000÷230 = 17A → clamped to 16A
  GA 10/0/0 should update to reflect new current

Step 5 — Session energy readback:
  After 2 minutes of active charging
  GA 10/0/2 should show non-zero kWh value
  Compare with Easee app session energy reading

Step 6 — RFID trigger from KNX:
  ETS6 → write 1 to GA 10/0/5
  Confirm: HA log "Authorize.req idTag HOME_RESIDENT_01 → Accepted"
  Charger starts transaction

Zachowanie przy ponownym łączeniu WebSocket

Jeśli serwer HA uruchomi się ponownie, Easee automatycznie łączy się ponownie z centralnym systemem OCPP w ciągu 30 sekund. Podczas okna ponownego łączenia ładowarka kontynuuje ładowanie przy ostatnim limicie prądu ustawionym przez OCPP – nie spada do minimum. Sprawdź odzyskiwanie połączenia, restartując HA i potwierdzając, że encja statusu ładowarki aktualizuje się w ciągu 60 sekund.

Różnice w Wallbox Pulsar Plus

Wallbox Pulsar Plus używa identycznych poleceń OCPP 1.6J, ale format identyfikatora ładowarki w adresie URL WebSocket domyślnie używa sufiksu numeru seryjnego. Potwierdź identyfikator ładowarki w ustawieniach aplikacji myWallbox przed konfiguracją HA OCPP. Minimalny prąd akceptowany przez Wallbox OCPP wynosi 6A dla wariantów jednofazowych i 8A dla trójfazowych.

Potrzebujesz rozdzielnicy do ładowania EV z integracją KNX OCPP wykonanej na wymiar?

Projektujemy rozdzielnice niskiego napięcia z integracją Easee lub Wallbox OCPP, konfiguracją bramy HA KNX, logiką samokonsumpcji solarnej i pełną dokumentacją uruchomieniową – dostarczane przetestowane i zweryfikowane na miejscu.

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