Pylontech en Home Assistant, MQTT, JSON y Jeedom
La nube es para cuando está fuera. En casa, PylonCheck entrega sus datos directamente a su sistema por su red — sin nube, sin cuenta, y sigue funcionando aunque se caiga Internet.
Autodescubrimiento MQTT: cero YAML
Introduzca la dirección de su broker (y usuario / contraseña si los hay) en la página Ajustes de la caja. En segundos Home Assistant crea un dispositivo PylonCheck con sus sensores:
- Estado de carga, estado de salud, número de ciclos
- Tensión, corriente, potencia
- Temperatura de batería y BMS / MOSFET
- Estado de carga, número de baterías, desequilibrio de celdas (mV)
- Una señal de disponibilidad en línea / fuera de línea
rest.Topics
Todos los topics son retenidos: un suscriptor que arranque más tarde recibe al instante los últimos valores. El prefijo es el nombre de host de la caja (por defecto pylon-check).
pylon-check/status online | offline (retained, last will)
pylon-check/state whole stack: soc, voltage, current, power, state…
pylon-check/battery1/state battery 1 of the stack
pylon-check/battery2/state battery 2 …
homeassistant/sensor/pylon-check/…/config auto-discovery (retained)Cada mensaje state es un objeto JSON con los mismos campos que la API de abajo: la misma plantilla sirve en todas partes.
Un GET, toda la batería
GET http://pylon-check.local/api.json (o la IP de la caja) devuelve el estado completo. Ejemplo abreviado:
{
"system": { "firmware": "1.0.1", "uptime": 86400 },
"battery_link": true,
"summary": { "soc": 87, "voltage": 52.41, "current": 23.5,
"power": 1231.6, "state": "Charging", "units": 3 },
"health": { "soh": 98, "cycles": 412 },
"temps": { "battery": 24.0, "mosfet": 26.5, "low": 23.0, "high": 25.1 },
"cells": { "count": 15, "min": 3271, "max": 3280, "delta": 9,
"mv": [3274, 3276, 3271, "…"] },
"unitsDetail": [
{ "label": "Battery 1", "voltage": 52.41, "current": 7.9,
"soc": 87, "soh": 98, "cycles": 412, "state": "Charging" }
]
}Se puede definir una clave de acceso opcional en Ajustes; la API se lee entonces con ?key=…. Los valores se refrescan cada pocos segundos.
Ejemplo REST para Home Assistant
# configuration.yaml — only needed if you prefer REST to MQTT
rest:
- resource: http://pylon-check.local/api.json
scan_interval: 30
sensor:
- name: "Pylontech SOC"
value_template: "{{ value_json.summary.soc }}"
unit_of_measurement: "%"
device_class: battery
- name: "Pylontech power"
value_template: "{{ value_json.summary.power }}"
unit_of_measurement: "W"
device_class: power
- name: "Pylontech cell spread"
value_template: "{{ value_json.cells.delta }}"
unit_of_measurement: "mV"Jeedom, Node-RED, openHAB, Domoticz
Jeedom
Instale el plugin jMQTT, apúntelo a su broker y suscríbase a pylon-check/#: la pila y cada batería aparecen como equipos. O use el plugin Script con la API JSON.
Node-RED
Un nodo mqtt in en pylon-check/state, o un nodo http request en /api.json cada 30 segundos.
openHAB, Domoticz, ioBroker
Cualquier sistema que hable MQTT o lea JSON por HTTP puede usar PylonCheck. Nada es propietario.
Preguntas
¿Home Assistant necesita la nube PylonCheck?
No. Home Assistant lee la caja directamente en su red. La nube y Home Assistant pueden funcionar a la vez.
¿Tengo que escribir YAML?
No, con el autodescubrimiento MQTT los sensores aparecen solos. El YAML solo hace falta si elige la integración REST.
¿Sustituye a la integración del inversor?
La complementa: el inversor da los flujos de potencia, PylonCheck lo que sabe la propia batería — SOH, celdas, temperaturas, detalle por batería.
¿Puedo tener cada batería como sensores separados?
Sí. Cada batería tiene su propio topic MQTT y la API JSON las lista una a una.
Su batería, desde cualquier lugar. Por 39 €.
Panel en la nube, historial, alertas, Home Assistant y MQTT incluidos. Sin suscripción.