Интеграция Easee Home и Wallbox Pulsar с KNX через шлюз OCPP 1.6J
Подключение зарядных устройств Easee Home и Wallbox Pulsar Plus к KNX через центральную систему OCPP 1.6J позволяет уровню автоматизации здания управлять током заряда, контролировать энергию сеанса, запускать авторизацию RFID из сцены KNX и реализовывать зарядку от собственного потребления PV — все это координируется через стандартные групповые адреса KNX.
Обзор OCPP 1.6J и настройка локального режима
OCPP (Open Charge Point Protocol) 1.6J — это протокол на основе WebSocket, который разделяет зарядное устройство (аппаратное обеспечение EV) и систему управления зарядными устройствами (CPMS, также называемую центральной системой). Как Easee Home, так и Wallbox Pulsar Plus поддерживают OCPP 1.6J нативно, что позволяет любой совместимой центральной системе — облачной или локальной — управлять ими и контролировать их.
Для интеграции с KNX наиболее надежным подходом является использование локальной центральной системы OCPP вместо облака производителя, что устраняет зависимость от облака и обеспечивает задержку управления менее секунды. Home Assistant с дополнением интеграции OCPP или IP-Symcon с модулем OCPP — два практичных варианта локальной центральной системы, которые также предоставляют мосты групповых адресов к KNX.
Easee Home — включение локального режима 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 — включение локального режима 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)Схема групповых адресов KNX для управления зарядным устройством
Структура групповых адресов KNX связывает параметры OCPP с типами данных KNX. Интеграция KNX в HA (библиотека XKNX) считывает и записывает эти GA, преобразуя значения DPT KNX в сообщения протокола OCPP. Каждое зарядное устройство в многозарядной установке получает свой набор GA в выделенной подгруппе.
| Групповой адрес | Описание | DPT | Направление |
|---|---|---|---|
| 10/0/0 | Уставка тока заряда 0–32A | DPT 5.001 (1-байт %) | KNX → OCPP (запись) |
| 10/0/1 | Зарядное устройство активно / включено | DPT 1.001 (1-бит) | KNX → OCPP (запись) |
| 10/0/2 | Заряженная энергия сессии, кВт·ч | DPT 13.013 (4-байта со знаком, кВт·ч) | OCPP → KNX (чтение) |
| 10/0/3 | Статус подключения вилки | DPT 1.001 (1-бит) | OCPP → KNX (чтение) |
| 10/0/4 | Статус зарядного устройства (0=доступно, 1=зарядка, 2=ошибка) | DPT 5.010 (1-байт перечисление) | OCPP → KNX (чтение) |
| 10/0/5 | Триггер авторизации RFID | DPT 1.001 (1-бит, передний фронт) | KNX → OCPP (запись) |
DPT 5.001 для тока заряда: 1-байтовый процентный DPT кодирует 0–100% как 0–255. Значение 50% (128) соответствует 16A на зарядном устройстве 32A. Для Easee Home (макс. 16A) отображайте 0–100% на 0–16A в автоматизации HA. Для Wallbox Pulsar Plus 3-фазный (макс. 32A) отображайте 0–100% на 0–32A. Альтернативно используйте DPT 5.010 беззнаковый байт и отображайте 0–32 напрямую в амперы.
Конфигурация моста Home Assistant OCPP в KNX
Home Assistant выступает в роли центральной системы OCPP и одновременно шлюза интерфейса KNX IP. Дополнение интеграции OCPP в HA создает сущности для каждого зарядного устройства, а автоматизации HA переводят записи KNX GA в команды OCPP и наоборот.
HA configuration.yaml — сущности KNX для зарядного устройства 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) }}Автоматизация HA — избыток 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"Модуль OCPP IP-Symcon как альтернативная центральная система
IP-Symcon (IPS) — это платформа домашней автоматизации для Windows/Linux с нативной поддержкой KNX и модулем OCPP, доступным на маркетплейсе IPS. Для установок, где IP-Symcon уже служит платформой логики и визуализации KNX, модуль OCPP IPS позволяет избежать внедрения отдельного сервера Home Assistant.
Конфигурация 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");
}Последовательность зарядки с самопотреблением PV
Последовательность зарядки с самопотреблением описывает полный контур управления от обнаружения избытка солнечной энергии через KNX до регулировки тока OCPP — включая логику гистерезиса, предотвращающую быстрые переключения при колебаниях солнечной генерации около минимального порога.
Последовательность зарядки с самопотреблением 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Триггер авторизации RFID от сцены KNX
Стандартная зарядка OCPP требует от водителя предъявить RFID-карту или использовать приложение для авторизации сессии. Для жилых KNX-установок, где владелец хочет начать зарядку с настенной KNX-кнопки или по временному расписанию, KNX-активированная RFID-авторизация может запустить сессию без физического предъявления карты.
Последовательность: KNX-сцена → 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Примечание по безопасности: подход с предварительно авторизованным idTag обходит физическую RFID-аутентификацию. Используйте это только в жилых или частных помещениях, где владелец здания контролирует как систему KNX, так и зарядное устройство. Для коммерческих установок с несколькими пользователями сохраняйте физическое предъявление RFID-карты для каждой сессии, чтобы обеспечить аудиторский след и точность биллинга.
Пусконаладочный тест с Group Monitor ETS6
Последовательность пусконаладки проверяет полный путь от подключения вилки электромобиля через центральную систему OCPP до обновления группового адреса KNX, подтверждая, что логика самопотребления и управление током работают от начала до конца перед сдачей установки в эксплуатацию.
Последовательность пусконаладочного теста
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
Поведение при переподключении WebSocket
Если сервер HA перезагружается, Easee автоматически переподключается к центральной системе OCPP в течение 30 секунд. Во время окна переподключения зарядное устройство продолжает зарядку с последним установленным OCPP пределом тока — оно не снижается до минимума. Проверьте восстановление переподключения, перезапустив HA и убедившись, что объект состояния зарядного устройства обновляется в течение 60 секунд.
Отличия Wallbox Pulsar Plus
Wallbox Pulsar Plus использует идентичные команды OCPP 1.6J, но формат идентификатора зарядного устройства в URL WebSocket по умолчанию использует суффикс серийного номера. Подтвердите идентификатор зарядного устройства в настройках приложения myWallbox перед настройкой HA OCPP. Минимальный принимаемый ток Wallbox OCPP составляет 6A для однофазных и 8A для трехфазных вариантов.
Нужен щит для зарядки электромобилей с интеграцией KNX OCPP по спецификации?
Мы проектируем слаботочные щиты с интеграцией Easee или Wallbox OCPP, конфигурацией шлюза HA KNX, логикой самопотребления от солнечных батарей и полной пусконаладочной документацией — поставляем протестированными и проверенными на вашем объекте.
Запросить расчёт →