Scegli la tua integrazione
Apri la pagina Settings del dispositivo (http://<IP-DISPOSITIVO>/settings). Entrambe le opzioni si configurano da lì. Scegline una — sono indipendenti e possono essere attivate/disattivate separatamente.
Auto-discovery MQTT
Utilizzi già un broker Mosquitto/MQTT in Home Assistant. Il Pylon-Monitor pubblica le proprie configurazioni di discovery e Home Assistant crea automaticamente i sensori. Nessun YAML.
Configura l'opzione 1 ↓Polling API REST
Nessun broker richiesto. Home Assistant interroga direttamente l'endpoint JSON integrato /api.json. Incolla lo YAML una sola volta — la pagina Settings del dispositivo lo genera per te, con il tuo IP già inserito.
<IP-DISPOSITIVO> come segnaposto — sostituiscilo con l'IP mostrato sullo schermo TFT. Per un'integrazione stabile, imposta una riserva DHCP sul tuo router (consigliato) oppure compila la sezione IP statico nella pagina Settings del dispositivo. Opzione 1 — Auto-discovery MQTT
Consigliata se usi già il componente aggiuntivo Mosquitto / MQTT broker in Home Assistant. Una volta impostata la connessione al broker, il dispositivo pubblica le configurazioni di discovery di Home Assistant sui topic standard homeassistant/sensor/…, e i sensori compaiono in Impostazioni → Dispositivi e servizi → MQTT in pochi secondi — raggruppati sotto un unico dispositivo chiamato Pylon-Monitor.
Cosa inserisci sul dispositivo
Sulla pagina Settings del dispositivo, apri la scheda MQTT Home Assistant e compila questi quattro campi esattamente come richiesto dal firmware:
Salva. La riga MQTT nel dashboard del Pylon-Monitor diventa blu (Connected) entro ~5 secondi, e i dieci sensori sottostanti vengono pubblicati automaticamente — nessuna configurazione manuale delle entità. Per disabilitare MQTT, svuota semplicemente i quattro campi e salva.
Topic pubblicati dal firmware
Il nome host del dispositivo (predefinito pylon-monitor) viene usato come prefisso dei topic e id di discovery. Sostituiscilo sotto con il nome host che hai scelto. Tutti e dieci i sensori sono raggruppati sotto un'unica scheda dispositivo Home Assistant chiamata Pylon-Monitor.
| Sensor | Discovery config topic | Unit / class |
|---|---|---|
| Battery SOC | homeassistant/sensor/pylon-monitor/soc/config | % · battery |
| Battery SOH | homeassistant/sensor/pylon-monitor/soh/config | % · mdi:battery-heart-variant |
| Battery voltage | homeassistant/sensor/pylon-monitor/voltage/config | V · voltage |
| Battery current | homeassistant/sensor/pylon-monitor/current/config | A · current |
| Battery power | homeassistant/sensor/pylon-monitor/power/config | W · power |
| Battery temp | homeassistant/sensor/pylon-monitor/temp/config | °C · temperature |
| MOSFET temp | homeassistant/sensor/pylon-monitor/mostemp/config | °C · temperature |
| Charge cycles | homeassistant/sensor/pylon-monitor/cycles/config | mdi:counter |
| Battery state | homeassistant/sensor/pylon-monitor/state/config | mdi:battery-sync |
| Cell imbalance | homeassistant/sensor/pylon-monitor/celldelta/config | mV · mdi:scale-balance |
Tutti e dieci i sensori condividono un unico topic di stato da cui ricavano i loro valori:
pylon-monitor/state
Il payload, aggiornato circa ogni 40 secondi (un ciclo completo di interrogazione della batteria), ha questo aspetto:
{
"soc": 94,
"soh": 96,
"voltage": 48.62,
"current": -7.20,
"power": -350.1,
"temp": 23.4,
"mostemp": 28.1,
"cycles": 486,
"celldelta": 12,
"state": "Discharging"
}
Il dispositivo pubblica anche un topic di disponibilità (online/offline) con un Last-Will-and-Testament, così ogni sensore si disattiva correttamente in Home Assistant se il dispositivo perde alimentazione o WiFi, invece di restare silenziosamente bloccato sull'ultimo valore:
pylon-monitor/status → "online" (retained) or "offline" (LWT, retained)
Opzione 2 — Polling API REST
Nessun broker MQTT richiesto. La piattaforma rest integrata in Home Assistant interroga il dispositivo ogni 30 secondi e crea 6 sensori. Il blocco YAML sottostante è esattamente quello che il firmware stesso genera nella pagina Settings (con il tuo IP attuale già inserito) — copialo da lì senza digitare nulla, oppure usa la versione sottostante.
Il JSON restituito dal dispositivo
GET http://<DEVICE-IP>/api.json
{
"system": "pylon-monitor",
"firmware": "2.0",
"summary": {
"soc": 94,
"voltage": 48.62,
"current": -7.20,
"power": -350.10,
"state": "Discharging"
},
"health": {
"soh": 96,
"cycles": 486
}
}
Questo è ridotto per leggibilità — la risposta reale include anche gli oggetti temps, cells, net e alarms. Nota che SOH si trova sotto health, non sotto summary — un errore di copia-incolla comune.
Incolla questo in configuration.yaml
rest:
- resource: http://<DEVICE-IP>/api.json
scan_interval: 30
sensor:
- name: "Pylontech SOC"
unique_id: pylontech_soc
value_template: "{{ value_json.summary.soc }}"
unit_of_measurement: "%"
device_class: battery
state_class: measurement
- name: "Pylontech SOH"
unique_id: pylontech_soh
value_template: "{{ value_json.health.soh }}"
unit_of_measurement: "%"
state_class: measurement
- name: "Pylontech Voltage"
unique_id: pylontech_voltage
value_template: "{{ value_json.summary.voltage }}"
unit_of_measurement: "V"
device_class: voltage
state_class: measurement
- name: "Pylontech Current"
unique_id: pylontech_current
value_template: "{{ value_json.summary.current }}"
unit_of_measurement: "A"
device_class: current
state_class: measurement
- name: "Pylontech Power"
unique_id: pylontech_power
value_template: "{{ value_json.summary.power }}"
unit_of_measurement: "W"
device_class: power
state_class: measurement
- name: "Pylontech State"
unique_id: pylontech_state
value_template: "{{ value_json.summary.state }}"
Riavvia Home Assistant. I 6 sensori compaiono sotto Impostazioni → Dispositivi e servizi → Entità, ricercabili tramite pylontech.
Node-RED
Usa un nodo http request, metodo GET, URL http://<IP-DISPOSITIVO>/api.json, ritorno a parsed JSON object. Poi leggi msg.payload.summary.soc (o qualsiasi altro campo) più avanti nel flusso. Se MQTT è configurato sul dispositivo, puoi anche iscriverti direttamente a pylon-monitor/state con un nodo MQTT-in — nessun polling necessario.
Jeedom
Installa il plugin JSON, punta un'apparecchiatura a http://<IP-DISPOSITIVO>/api.json, quindi mappa i percorsi JSON sui comandi (es. summary>soc, summary>voltage, summary>state).