SENEC.Home G3 API JSON local: SOC de batería y potencia de red a KNX
Consulta de SENEC.Home G3 y V3 Hybrid a través de la API JSON local no autenticada en el puerto 7001 — extracción de SOC, potencia de batería, consumo doméstico e importación/exportación de red. Flujo Node-RED, adaptador ioBroker SENEC y mapeo de direcciones de grupo KNX DPT para automatización del autoconsumo.
Resumen de la API local de 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.
La API es anterior a las convenciones REST modernas: se envía un objeto JSON con valores de cadena vacíos para los campos deseados, y la respuesta devuelve esos campos rellenados con las lecturas actuales de los sensores.
Consulta de la API: Estructura de la solicitud
API local de SENEC — Solicitud HTTP POST y campos de respuesta
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 | Significado |
|---|---|
| 0 | En espera |
| 1 | Cargando |
| 2 | Totalmente cargado |
| 3 | Descargando |
| 5 | Carga de red |
| 14 | Calibración |
| 16 | Carga de reserva |
| 255 | Actualización / fuera de línea |
Flujo de integración Node-RED
Prerequisite: install 'node-red-node-http-request' (built-in) and 'node-red-contrib-knx-ultimate' or standard KNX Classic nodes.
Flujo: Inject (intervalo 30s) → Nodo HTTP Request (método POST, URL http://192.168.1.200:7001/lala.cgi, cuerpo establecido desde msg.payload – Inject establece el payload en la cadena JSON anterior) → Análisis JSON → Nodo Function (extraer valores y enrutar a KNX) → Nodos KNX Out.
Nodo Function Node-RED – extraer valores SENEC y enviar a 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
]);Direcciones de grupo KNX: 6/4/3 (SOC batería DPT 5.001), 6/4/4 (potencia batería kW DPT 9.001), 6/4/5 (potencia red kW DPT 9.001 — valor negativo indica exportación a la red).
Adaptador 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).
Enlace KNX (adaptador ioBroker KNX): enlazar senec.0.ENERGY.GUI_BAT_DATA_FUEL_CHARGE a GA 6/4/3, DPT 5.001 (escribir al cambiar, tolerancia 1%). Enlazar GUI_BAT_DATA_POWER / 1000 a GA 6/4/4 DPT 9.001. ETS6 lee las direcciones de grupo KNX normalmente — los datos SENEC aparecen como valores KNX estándar.
Lógica de automatización del autoconsumo
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.
Diferencias V3 Hybrid vs G3
SENEC.Home V3 Hybrid integra un inversor híbrido – GUI_INVERTER_POWER está disponible (potencia DC PV). G3 está acoplado en CA y no tiene este campo; consultar el inversor PV por separado (p. ej., SMA Sunny Boy Modbus TCP puerto 502 unidad 3 registro de potencia CA 30775). V4 híbrido: mismo endpoint API, campos adicionales para inversor multicadena. Todas las generaciones SENEC usan el mismo endpoint HTTP POST y nombres de campo JSON.
Nota sobre firmware SENEC.Home: A partir del firmware 3.11, SENEC introdujo valores de campo cifrados en algunas respuestas API (valores devueltos como cadenas hexadecimales). Los campos GUI_BAT_DATA_FUEL_CHARGE y GUI_BAT_DATA_POWER generalmente permanecen sin cifrar. Si encuentra valores no numéricos en la respuesta, consulte la biblioteca decodificadora de la comunidad SENEC (senec-lala-cgi-decoder en GitHub) para el manejo de cifrado actual.
¿Necesita un panel KNX con integración de batería SENEC fabricado a medida?
Configuramos adaptadores Node-RED e ioBroker SENEC, diseñamos esquemas de direcciones de grupo KNX para la automatización del autoconsumo y entregamos paneles completamente probados con documentación para su sitio.
Solicitar presupuesto →