Ricarica EV · Easee · Wallbox · OCPP 1.6J · KNX · 10 min di lettura

Integrazione KNX Easee Home e Wallbox Pulsar tramite gateway OCPP 1.6J

Collegare i caricabatterie EV Easee Home e Wallbox Pulsar Plus a KNX tramite un sistema centrale OCPP 1.6J consente al livello di automazione dell'edificio di controllare la corrente di carica, monitorare l'energia della sessione, attivare l'autorizzazione RFID da una scena KNX e implementare la ricarica con autoconsumo PV — tutto coordinato attraverso indirizzi di gruppo KNX standard.

Panoramica OCPP 1.6J e configurazione della modalità locale

OCPP (Open Charge Point Protocol) 1.6J è un protocollo basato su WebSocket che separa il punto di ricarica (hardware del caricatore EV) dal sistema di gestione dei punti di ricarica (CPMS, chiamato anche sistema centrale). Sia Easee Home che Wallbox Pulsar Plus implementano nativamente OCPP 1.6J, consentendo a qualsiasi sistema centrale compatibile – ospitato nel cloud o localmente – di controllarli e monitorarli.

Per l'integrazione KNX, l'approccio più affidabile utilizza un sistema centrale OCPP locale anziché il cloud del produttore, eliminando la dipendenza dal cloud e fornendo una latenza inferiore al secondo per i comandi di controllo. Home Assistant con il componente aggiuntivo di integrazione OCPP o IP-Symcon con il modulo OCPP sono le due opzioni pratiche di sistema centrale locale che espongono anche ponti di indirizzi di gruppo verso KNX.

Easee Home – abilitazione della modalità OCPP locale

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 – abilitazione della modalità OCPP locale

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)

Schema di indirizzi di gruppo KNX per il controllo del caricatore EV

La disposizione degli indirizzi di gruppo KNX collega i parametri OCPP ai tipi di dati KNX. L'integrazione HA KNX (libreria XKNX) legge e scrive questi GA, traducendo tra valori DPT KNX e messaggi del protocollo OCPP. Ogni caricatore in un'installazione multi-caricatore riceve il proprio set di GA in un sottogruppo dedicato.

Indirizzo di gruppoDescrizioneDPTDirezione
10/0/0Setpoint corrente di carica 0–32 ADPT 5.001 (1 byte %)KNX → OCPP (scrittura)
10/0/1Caricabatterie attivo / abilitazioneDPT 1.001 (1 bit)KNX → OCPP (scrittura)
10/0/2Energia caricata per sessione kWhDPT 13.013 (4 byte con segno kWh)OCPP → KNX (lettura)
10/0/3Stato connessione spinaDPT 1.001 (1 bit)OCPP → KNX (lettura)
10/0/4Stato caricabatterie (0=disponibile, 1=in carica, 2=guasto)DPT 5.010 (1 byte enum)OCPP → KNX (lettura)
10/0/5Trigger autorizzazione RFIDDPT 1.001 (1 bit, fronte di salita)KNX → OCPP (scrittura)

DPT 5.001 per corrente di carica: Il DPT percentuale a 1 byte codifica 0–100% come 0–255. Un valore del 50% (128) corrisponde a 16A su un caricabatterie da 32A. Per Easee Home (max 16A), mappare 0–100% a 0–16A nell'automazione HA. Per Wallbox Pulsar Plus trifase (max 32A), mappare 0–100% a 0–32A. In alternativa, utilizzare DPT 5.010 unsigned byte e mappare 0–32 direttamente in ampere.

Configurazione del bridge OCPP-KNX in Home Assistant

Home Assistant funge da sistema centrale OCPP e contemporaneamente da gateway dell'interfaccia KNX IP. Il componente aggiuntivo di integrazione OCPP di HA crea entità per ogni caricabatterie, e le automazioni HA traducono le scritture GA KNX in comandi OCPP e viceversa.

HA configuration.yaml — entità KNX per caricabatterie 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) }}

Automazione HA — surplus fotovoltaico → 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"

Modulo OCPP IP-Symcon come sistema centrale alternativo

IP-Symcon (IPS) è una piattaforma di home automation Windows/Linux con supporto nativo KNX e un modulo OCPP disponibile sul marketplace IPS. Per installazioni in cui IP-Symcon funge già da piattaforma logica e di visualizzazione KNX, il modulo OCPP IPS evita di introdurre un server Home Assistant separato.

Configurazione 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");
   }

Sequenza di ricarica per autoconsumo fotovoltaico

La sequenza di ricarica per autoconsumo descrive l'intero anello di controllo dalla rilevazione dell'eccedenza solare tramite KNX alla regolazione della corrente tramite OCPP – inclusa la logica di isteresi che impedisce cicli rapidi quando la generazione solare oscilla attorno alla soglia minima.

Sequenza di ricarica per autoconsumo fotovoltaico

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

Attivazione autorizzazione RFID da scena KNX

La ricarica OCPP standard richiede che il conducente presenti una carta RFID o utilizzi un'app per autorizzare una sessione. Per installazioni KNX residenziali in cui l'occupante desidera avviare la ricarica da un pulsante KNX a parete o da un programma orario, un'autorizzazione RFID attivata da KNX può avviare una sessione senza presentazione fisica della carta.

Sequenza scena KNX → autorizzazione 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

Nota di sicurezza: L'approccio con idTag pre-autorizzato bypassa l'autenticazione RFID fisica. Utilizzarlo solo in contesti residenziali o ad accesso privato dove il proprietario dell'edificio controlla sia il sistema KNX che il caricabatterie. Per installazioni commerciali multi-utente, mantenere la presentazione fisica della carta RFID per ogni sessione per preservare la tracciabilità e l'accuratezza della fatturazione.

Test di messa in servizio con ETS6 Group Monitor

La sequenza di messa in servizio verifica l'intero percorso dalla connessione della spina EV attraverso il sistema centrale OCPP fino all'aggiornamento dell'indirizzo di gruppo KNX, confermando che la logica di autoconsumo e il controllo della corrente funzionano end-to-end prima della consegna dell'impianto.

Sequenza del test di messa in servizio

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

Comportamento di riconnessione WebSocket

Se il server HA si riavvia, Easee si riconnette automaticamente al sistema centrale OCPP entro 30 secondi. Durante la finestra di riconnessione, il caricabatterie continua a caricare all'ultimo limite di corrente impostato da OCPP – non scende al minimo. Verificare il ripristino della connessione riavviando HA e confermando che l'entità dello stato del caricabatterie si aggiorni entro 60 secondi.

Differenze del Wallbox Pulsar Plus

Il Wallbox Pulsar Plus utilizza comandi OCPP 1.6J identici ma il formato dell'ID del caricabatterie nell'URL WebSocket utilizza per impostazione predefinita il suffisso del numero di serie. Confermare l'ID del caricabatterie nelle impostazioni dell'app myWallbox prima di configurare HA OCPP. La corrente minima accettata da Wallbox OCPP è 6A per le varianti monofase e 8A per quelle trifase.

Hai bisogno di un quadro di ricarica EV con integrazione KNX OCPP su misura?

Progettiamo quadri a bassa tensione con integrazione Easee o Wallbox OCPP, configurazione gateway HA KNX, logica di autoconsumo solare e documentazione completa di messa in servizio — consegnati testati e verificati presso il tuo sito.

Richiedi un preventivo →
Caricamento in corso ...
Torna all'inizio