node-red-contrib-alfasinapsi-ultimate 1.1.0
Nodi Node-RED per collegare Sinapsi Alfa e creare un controller carichi. In alternativa, e' possibile usare l'integrazione nativa con il load controller di KNX-Ultimate.
Nodi Node-RED per collegare Sinapsi Alfa via WiFi e creare un controller carichi.
Requisiti
- Un dispositivo Sinapsi Alfa raggiungibile sulla tua rete WiFi
CHANGELOG
Avvio rapido (passo-passo)
- Apri l'editor di Node-RED.
- Nella palette a sinistra, cerca "alfasinapsi".
- Trascina alfasinapsi telemetria nel flow.
- Fai doppio click e premi la matita vicino a Dispositivo per creare una nuova configurazione alfasinapsi device.
- Compila:
- Indirizzo IP Sinapsi: l'indirizzo IP del tuo Sinapsi Alfa (esempio
192.168.1.186)
- Indirizzo IP Sinapsi: l'indirizzo IP del tuo Sinapsi Alfa (esempio
- Premi Add, poi Done.
- Collega l'uscita del nodo telemetria a un nodo Debug e premi Deploy.
Dovresti vedere i messaggi nella sidebar di debug con valori di potenza ed energia.
Esempio examples/alfasinapsi-load-controller.json.
Nodi
alfasinapsi-telemetry
Interroga Sinapsi Alfa e, in base alla configurazione Compatibilita, invia:
- Telemetria (default): un messaggio con misure semplificate + dettagli tecnici.
- KNX Load Control PIN: un messaggio compatibile con l'ingresso del nodo KNX Load Control (es.
knxUltimateLoadControl) per forzare shed/unshed. - Stato connessione: quando cambia lo stato del dispositivo, invia un messaggio di stato.
Output:
- Modalita Telemetria:
msg.topic = "alfasinapsi/telemetry"msg.payload(semplificato): potenza/energia (import/export/production), fascia tariffaria, avviso distacco + timestampmsg.insight(tecnico): telemetria completa decodificata (include campi extra come fasce di ieri, medie di quarto d'ora, ecc.)msg.status: stato connessione corrente
- Modalita KNX Load Control PIN (in base a Poll (ms)):
msg.topic = "alfasinapsi/telemetry/knx-load-control-pin"msg.payload = "shed" | "unshed"msg.shedding = "shed" | "unshed"msg.status: stato connessione corrente
- Messaggio Stato connessione (solo quando cambia):
msg.topic = "alfasinapsi/telemetry/status"msg.payload = msg.status
Configurazione:
Dispositivo: IP del tuo Sinapsi (parametri di connessione fissi per stabilita)Poll (ms): ogni quanto il nodo legge i dati (in modalita Telemetria influenza anche la frequenza dei messaggi; quindi e' importante se a valle hai logiche a stadi)Solo se cambia: se abilitato, emette solo quando cambiano i valori principaliCompatibilita: seleziona Telemetria oppure KNX Load Control PIN- Nota: in modalita KNX Load Control PIN emette con la stessa frequenza del Poll (ms) (oppure solo al cambio stato se Solo se cambia e' attivo).
alfasinapsi-load-controller
Reagisce ai messaggi in formato Telemetria e applica una sequenza a stadi sui carichi configurati usando payload.cutoff.hasWarning.
Uscite: una uscita per ogni carico configurato (minimo 1, per evitare che il nodo sparisca dall'editor). Ogni uscita emette un comando booleano per quel carico con:
msg.topic = "<nome carico>"msg.payload = true(unshed/abilitato) oppurefalse(shed/disabilitato)
Algoritmo:
- Se
payload.cutoff.hasWarning = trueaumenta lo stage di 1 (fino a N carichi). - Se
payload.cutoff.hasWarning = falsediminuisce lo stage di 1 (fino a 0). - Lo stage indica quanti carichi vengono messi in shedding, in base all'ordine della lista (dall'alto verso il basso: shed per primo).
Note:
- I comandi dei carichi escono solo quando il nodo decide di cambiare stato (shedding/unshedding di quel carico).
Dettagli (per utenti inesperti)
1) alfasinapsi-device (nodo di configurazione)
Questo nodo non appare nel flow come un nodo normale. E' una configurazione condivisa usata dagli altri nodi.
Campo principale:
- Indirizzo IP Sinapsi: indirizzo IP o hostname del dispositivo Sinapsi Alfa
Impostazioni fisse (non modificabili):
- Il profilo di connessione e' fisso per stabilita (serve solo l'indirizzo IP).
2) alfasinapsi-telemetry (misure in sola lettura)
Questo nodo legge le misure ogni Poll (ms) e invia messaggi dal suo unico output.
In piu:
- Ogni messaggio include
msg.status(stato connessione corrente). - Quando cambia lo stato di connessione, emette anche un messaggio dedicato con
msg.topic = "alfasinapsi/telemetry/status".
Puoi scegliere cosa emettere dall'output con Compatibilita:
- Telemetria: messaggio con misure + dettagli tecnici.
- KNX Load Control PIN: messaggio
shed/unshedcon la frequenza del Poll (ms) (compatibile con il nodo KNX Load Control).- Nota: in questa modalita la frequenza dipende da Poll (ms) (e rispetta Solo se cambia).
- Nota importante: se colleghi questo output al nodo
alfasinapsi-load-controller, la frequenza dei messaggi determina la velocita con cui aumenta/diminuisce lo shedding stage.
Uso tipico:
- Collegalo a un nodo Debug per vedere i valori.
- Collegalo a una Dashboard (o alla tua logica) per visualizzare o usare potenza/energia.
Struttura del messaggio (modalita Telemetria):
msg.payload- campi semplificati per l'uso quotidiano:payload.power.importkW/exportkW/productionkWpayload.energy.importTotalkWh/exportTotalkWh/productionTotalkWhpayload.tariffBandpayload.cutoff.hasWarning/payload.cutoff.remainingSeconds/payload.cutoff.atIsopayload.messageAtIso/payload.meterReadAtIso
msg.insight- dettagli tecnici:insight.telemetry: telemetria completa decodificata (include campi extra come fasce di ieri, medie di quarto d'ora, ecc.)insight.meta: timestamp, modalita di letturainsight.device: dettagli del profilo di connessione
msg.status- stato connessione:status.connected(boolean)status.connecting(boolean)status.error(string|null)status.ts(number, epoch ms)
Struttura del messaggio (modalita KNX Load Control PIN):
msg.payload = "shed"se e' presente un avviso distacco imminente, altrimentimsg.payload = "unshed"(con la frequenza del Poll (ms))msg.sheddingcon lo stesso valore (per compatibilita con KNX Load Control)
Terminologia (import/export/surplus)
Questi sono termini standard nel monitoraggio energetico:
- Import: potenza/energia prelevata dalla rete (stai consumando piu di quanto produci).
- Export: potenza/energia immessa in rete (stai producendo piu di quanto consumi).
- Surplus: potenza in eccesso disponibile. In questo pacchetto la logica surplus si basa su export (eventualmente ridotto da Surplus reserve).
3) alfasinapsi-load-controller (solo decisioni)
Questo nodo non fa polling. Riceve in ingresso messaggi Telemetria (output del nodo alfasinapsi-telemetry in modalita Telemetria) e usa payload.cutoff.hasWarning per decidere se aumentare o diminuire lo stage. Invia:
- Una uscita per ogni carico configurato, che emette
true/false(unshed/shed) conmsg.topicuguale al nome del carico.
Importante: questo nodo non comanda i relè da solo. Devi collegare ogni uscita carico a qualcosa che accende/spegne davvero i dispositivi (per esempio MQTT, nodi Shelly, chiamate di servizio Home Assistant, ecc.).
Nota importante: lo stage cambia di 1 per ogni messaggio ricevuto, quindi la velocita della sequenza dipende dalla frequenza dei messaggi in ingresso (per esempio dal Poll (ms) della telemetria).
Come configurare i carichi:
- Nome: usato come etichetta di uscita e come
msg.topicin output - Ordine in lista: la posizione nella lista determina la priorita (dall'alto verso il basso)
- Min acceso (s): tempo minimo in cui il carico resta acceso prima di poter essere spento
- Min spento (s): tempo minimo in cui il carico resta spento prima di poter essere acceso
Problemi di connessione? Ricorda
- Sinapsi Alfa in genere accetta una sola connessione alla volta: evita di collegare piu sistemi contemporaneamente.