EVCC · Самопотребление · Fronius · SMA · SG Ready · KNX · 10 мин чтения

Зарядка электромобиля от солнечных панелей с EVCC и KNX: координация Fronius Modbus и SG Ready

EVCC (Electric Vehicle Charge Controller) — это контроллер самопотребления с открытым исходным кодом, который считывает текущую генерацию с инверторов Fronius или SMA через Modbus TCP и автоматически регулирует ток зарядки электромобиля в соответствии с избытком солнечной энергии. Интеграция с KNX через плагин EVCC KNX позволяет переключать режимы и отслеживать статус из системы умного дома.

Обзор EVCC: что делает и как работает

EVCC — это проект с открытым исходным кодом (github.com/evcc-io/evcc), который работает как специализированный контроллер самопотребления для зарядки электромобилей. Он подключается к солнечному инвертору для получения данных о генерации и потреблении из сети, соединяется с одним или несколькими зарядными станциями через OCPP или нативные API и непрерывно регулирует ток зарядки, чтобы максимизировать долю солнечной энергии, используемой для зарядки, вместо экспорта в сеть.

EVCC запускается как Docker-контейнер или как дополнение Home Assistant, что позволяет легко развернуть его на Raspberry Pi 4 вместе с Home Assistant. Веб-дашборд EVCC показывает в реальном времени мощность солнечных панелей, поток энергии из сети, уровень заряда аккумулятора и состояние зарядки. Для интеграции с KNX плагин EVCC KNX, включаемый в файле evcc.yaml, публикует переменные состояния EVCC в групповые адреса KNX и считывает групповые адреса выбора режима от кнопок KNX.

Варианты развертывания EVCC

  • Raspberry Pi 4 (4 ГБ): EVCC в Docker, работает 24/7 при功耗 ~4 Вт
  • Home Assistant OS: Официальное дополнение EVCC, единый сервер
  • Synology NAS: Docker-контейнер в Container Manager
  • Виртуальная машина Proxmox: Docker или нативный Linux-бинарник для домашних серверов

Поддерживаемые автомобили EVCC (неполный список)

  • Tesla (Model 3, Model Y, Model S) — через Tesla API
  • VW ID.4, ID.3 — через WeConnect API
  • Hyundai Ioniq 5, Ioniq 6 — через Bluelink API
  • BMW iX, i4 — через BMW ConnectedDrive API
  • Автомобиль без API: фиксированный лимит заряда 80%

Настройка Modbus Fronius GEN24 в evcc.yaml

EVCC считывает инвертор Fronius GEN24 через SunSpec Modbus TCP, используя встроенный тип счетчика Fronius. В настройках требуется статический IP для инвертора и включенный Modbus TCP в веб-интерфейсе Fronius.

evcc.yaml — конфигурация счетчика и зарядного устройства 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 — альтернатива 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

Плагин EVCC KNX: включение и настройка

Плагин EVCC KNX подключает EVCC к шине KNX через IP-интерфейс KNX (туннелирование или маршрутизация KNXnet/IP). Он публикует состояние точки зарядки EVCC в групповые адреса KNX и слушает команды режима от кнопок KNX или сценариев автоматизации. Включите его в evcc.yaml в разделе messaging или plugins.

evcc.yaml — конфигурация плагина 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)
Режим EVCCЗначение KNXПоведениеТриггер от KNX
Выкл0Зарядка отключена — электромобиль не подключен к расписаниюДолгое нажатие кнопки или ручной переключатель
Сейчас (быстро)1Зарядка максимальным током независимо от солнечной энергииShort press: 'Charge Now' scene
мин. PV2Зарядка минимум (6А) + увеличение при избытке солнцаShort press: 'Min + Solar' scene
PV3Только от солнца: приостановка ниже 6А, возобновление при избыткеПо умолчанию / расписание KNX в 09:00

Координация теплового насоса SG Ready: логика приоритетов

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

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

Конфигурация зарядного устройства ABB Terra в EVCC

Зарядные устройства ABB Terra AC (11 кВт и 22 кВт) часто используются в коммерческих зданиях с KNX. EVCC поддерживает ABB Terra через OCPP 1.6J, используя тот же подход к конфигурации, что и для Easee, с немного другим форматом URL подключения OCPP.

evcc.yaml — конфигурация зарядного устройства 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)

Панель управления EVCC с групповыми адресами статуса KNX

Веб-панель EVCC (доступна по адресу http://evcc-server-ip:7070) обеспечивает визуализацию самопотребления в реальном времени. Для систем визуализации KNX (Gira X1, IP-Symcon, ARISTO BewO) групповые адреса статуса EVCC передают данные в реальном времени на панельные дисплеи и панели мобильных приложений.

Интеграция визуализации KNX для статуса 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

Ввод в эксплуатацию с данными PV в реальном времени

Ввод EVCC в эксплуатацию следует проводить в день активной солнечной генерации, чтобы проверить, что вся цепочка — от данных Modbus Fronius через логику EVCC до регулировки тока OCPP и обновлений групповых адресов KNX — работает корректно в реальных условиях.

Последовательность тестирования при вводе 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

Нужен щит самопотребления EVCC с интеграцией KNX?

Мы настраиваем EVCC с Modbus Fronius или SMA, подключаем плагин KNX, реализуем логику координации SG Ready и предоставляем полную документацию по вводу в эксплуатацию — развертывание и тестирование на Raspberry Pi или HA Green вместе с вашим щитом KNX.

Запросить расчёт →
Загрузка ...
Наверх