Накопители энергии · SENEC.Home · JSON API · Node-RED · KNX · 8 мин чтения

Локальный JSON API SENEC.Home G3: SOC батареи и мощность сети в KNX

Опрос SENEC.Home G3 и V3 Hybrid через неавторизованный локальный JSON API на порту 7001 — извлечение SOC, мощности батареи, потребления дома и импорта/экспорта сети. Поток Node-RED, адаптер ioBroker SENEC и привязка групповых адресов KNX для автоматизации самопотребления.

Обзор локального API SENEC.Home

SENEC.Home G3 (5/10/15 kWh), V3 Hybrid (5-15 kWh), and V4 all expose a local JSON API at 'http://[senec-ip]:7001/lala.cgi'. This API is unauthenticated and accessible on the local LAN — no cloud dependency. It uses HTTP POST with a JSON body that specifies which data fields to return.

API предшествует современным REST-конвенциям: вы отправляете POST с JSON-объектом, где значения полей пусты, а ответ возвращает эти поля с текущими показаниями датчиков.

Опрос API: структура запроса

Локальный API SENEC — HTTP POST запрос и поля ответа

POST http://192.168.1.200:7001/lala.cgi
Content-Type: application/json

Request body:
{
  "ENERGY": {
    "GUI_BAT_DATA_POWER": "",
    "GUI_BAT_DATA_FUEL_CHARGE": "",
    "GUI_HOUSE_POW": "",
    "GUI_GRID_POW": "",
    "GUI_INVERTER_POWER": "",
    "STAT_STATE": ""
  }
}

Response fields:
  GUI_BAT_DATA_POWER     — battery power (W, float; positive=charging, negative=discharging)
  GUI_BAT_DATA_FUEL_CHARGE — battery SOC (%, float 0.0-100.0)
  GUI_HOUSE_POW          — house consumption (W, float)
  GUI_GRID_POW           — grid power (W, float; positive=import, negative=export)
  GUI_INVERTER_POWER     — PV inverter DC output (W, float; V3 Hybrid and V4 only)
  STAT_STATE             — operating state number (see table below)
STAT_STATEЗначение
0Ожидание
1Зарядка
2Полностью заряжена
3Разрядка
5Зарядка от сети
14Калибровка
16Резервный заряд
255Обновление / офлайн

Поток интеграции Node-RED

Prerequisite: install 'node-red-node-http-request' (built-in) and 'node-red-contrib-knx-ultimate' or standard KNX Classic nodes.

Поток: Inject (интервал 30 с) → HTTP Request (метод POST, URL http://192.168.1.200:7001/lala.cgi, тело из msg.payload — inject задаёт payload строкой JSON) → JSON parse → Function (извлечение значений и отправка в KNX) → KNX Out.

Функциональный узел Node-RED — извлечение данных SENEC и отправка в KNX

const energy = msg.payload.ENERGY;
const soc = parseFloat(energy.GUI_BAT_DATA_FUEL_CHARGE);
const batPower = parseFloat(energy.GUI_BAT_DATA_POWER);
const gridPower = parseFloat(energy.GUI_GRID_POW);
node.send([
    { payload: soc,               topic: "6/4/3" },  // SOC DPT 5.001
    { payload: batPower / 1000,   topic: "6/4/4" },  // Battery kW DPT 9.001
    { payload: gridPower / 1000,  topic: "6/4/5" }   // Grid kW DPT 9.001
]);

Групповые адреса KNX: 6/4/3 (SOC батареи DPT 5.001), 6/4/4 (мощность батареи кВт DPT 9.001), 6/4/5 (мощность сети кВт DPT 9.001 — отрицательное значение означает отдачу в сеть).

Адаптер ioBroker SENEC

Install ioBroker adapter 'senec' (iobroker.senec). Configuration: enter SENEC IP address in adapter settings. Adapter polls port 7001 every 10s. Object tree: senec.0.ENERGY.GUI_BAT_DATA_FUEL_CHARGE (number, 0-100), senec.0.ENERGY.GUI_BAT_DATA_POWER (number, W).

Привязка KNX (адаптер ioBroker KNX): привяжите senec.0.ENERGY.GUI_BAT_DATA_FUEL_CHARGE к GA 6/4/3, DPT 5.001 (запись при изменении, допуск 1%). Привяжите GUI_BAT_DATA_POWER / 1000 к GA 6/4/4 DPT 9.001. ETS6 читает групповые адреса KNX как обычно — данные SENEC отображаются как стандартные значения KNX.

Логика автоматизации самопотребления

ETS6 logic (MDT Logic Controller): Rule 1 — When SOC (GA 6/4/3) rises above 85%, send '1' to GA 3/2/0 (washing machine KNX socket enable). Rule 2 — When grid export (GA 6/4/5 below -0.5 kW, i.e. exporting more than 500W): send '1' to GA 3/2/1 (dishwasher enable), send 32 to GA 6/0/8 (EV charger current GA, DPT 5.010). Rule 3 — When SOC drops below 20%: send '0' to GA 3/2/0 and GA 3/2/1 (disable flex loads). Reset timer: 30-minute minimum on-time per cycle to prevent short cycling.

Отличия V3 Hybrid от G3

SENEC.Home V3 Hybrid объединяет гибридный инвертор — доступна мощность GUI_INVERTER_POWER (постоянный ток от солнечных панелей). G3 — AC-связанная система, это поле отсутствует; опрашивайте инвертор отдельно (например, SMA Sunny Boy Modbus TCP порт 502, устройство 3, регистр мощности AC 30775). V4 hybrid: тот же API-эндпоинт, дополнительные поля для мультистринг-инвертора. Все поколения SENEC используют одинаковый HTTP POST эндпоинт и имена JSON-полей.

Примечание о прошивке SENEC.Home: начиная с версии 3.11, SENEC ввел шифрование значений полей в некоторых ответах API (значения возвращаются в виде шестнадцатеричных строк). Поля GUI_BAT_DATA_FUEL_CHARGE и GUI_BAT_DATA_POWER обычно остаются незашифрованными. Если в ответе встречаются нечисловые значения, обратитесь к библиотеке декодирования сообщества SENEC (senec-lala-cgi-decoder на GitHub) для обработки текущего шифрования.

Нужна панель KNX с интеграцией аккумулятора SENEC под ваш проект?

Мы настраиваем адаптеры Node-RED и ioBroker для SENEC, разрабатываем схемы групповых адресов KNX для автоматизации самопотребления и поставляем полностью протестированные панели с документацией для вашего объекта.

Запросить предложение →
Загрузка ...
Наверх