it 7. WatchDog Configuration - Supergiovane/node-red-contrib-knx-ultimate GitHub Wiki
Che cosa fa?
- Verifica la corretta comunicazione/connessione del BUS KNX inviando un telegramma a intervalli regolari, controllando la risposta e inviando un messaggio al flow in caso di interruzione della connessione al bus KNX. Ci sono due livelli di controllo, vedi sotto.
- Cambia i parametri di configurazione del gateway, cioè la connessione al router/interfaccia KNX/IP (ad esempio, se disponi di 2 router KNX/IP e vuoi passare da uno all'altro, per il backup della connessione). Vedi qui come fare.
- Forza la connessione/disconnessione del gateway dal BUS KNX e contestualmente attiva/disattiva i tentativi di riconnessione. Vedi qui come fare.
Controllo di livello Ethernet e KNX Twisted Pair
Il WatchDog ha due livelli di controllo. Il primo controlla solo la connessione tra knx-Ultimate e l'interfaccia KNX/IP in unicast. Il secondo livello controlla l'intero percorso, dal nodo knx-Ultimate al Gateway Ethernet, al doppino TP Konnex e viceversa; questo implica l'uso di un dispositivo KNX fisico, che possa rispondere ad una richiesta di lettura (ad esempio un attuatore luci che dispone di un oggetto "Stato").
Il nodo WatchDog è un nodo potente per la segnalazione di errori e problemi di connessione.
È quindi possibile inviare un'e-mail all'installatore KNX responsabile per il proprio edificio oppure passare automaticamente a un router / interfaccia KNX / IP di backup nell'installazione, usando questo metodo .
- Gateway
Selezione il gateway KNX.
- Livello controllo
Ethernet : Controlla la connessione tra il gateway knx-ultimate in modalità unicast e la tua interfaccia IP KNX
Il controllo viene fatto "pingando" l'intefaccia; non tutte le interfacce rispondono al ping. In questo caso, occorre utilizzare il livello di controllo successivo.
Ethernet e KNX TP : Controllo completo. Funziona con router KNX/IP ed interfacce KNX/IP (oltre a knxd). Utilizzando un dispositivo KNX fisico che risponde a una richiesta di lettura (ad esempio un attuatore luce che ha un indirizzo di gruppo per lo stato), controlla la connessione tra KNX-Ultimate e questo dispositivo KNX fisico, emettendo una richiesta di lettura e attendendo un telegramma di risposta da questo dispositivo. Qualsiasi errore sul trunk Ethernet o sul trunk KNX Twisted Pair verrà notificato. Per impostare questo livello di controllo, è necessario impostare un indirizzo di gruppo in ETS ed aggiungerlo all'uscita "Stato" dell'attuatore KNX. Ad esempio, un attuatore luce ha sicuramente un'uscita di "stato luce" che può rispondere ad una richiesta di lettura.
In questo esempio: in ETS, assegnare un'uscita di questo attuatore KNX Gira allo stato della luce (ad esempio 12/0/0). Ogni volta che il nodo Watchdog richiede lo stato, L'attuatore Gira risponderà. Il WatchDog quindi capisce che la tua connessione KNX Twisted Pair è attiva e funzionante.
- Indirizzo di gruppo da monitorare
Il nodo invierà un telegramma a questo indirizzo.
- Nome
Nome del nodo.
- Avvio automatico del timer del watchdog
Il timer del watchdog si avvia automaticamente al momento del deploy o all'avvio di node-red.
- Riprova ogni (in secondi)
Il nodo invia un telegramma al bus KNX in questo intervallo di tempo, in secondi. Ad esempio, 6 indica che il telegramma viene inviato ogni 6 secondi.
- Numero di tentativi prima di dare un errore
Dopo che il telegramma è stato inviato per questo numero di volte, senza aver ottenuto alcuna risposta dal bus KNX, il nodo genera un errore sul pin di uscita 2.
Il nodo WatchDog emette un messaggio ogni volta che riceve un errore da uno dei tuoi nodi knx-ultimate nei tuoi flussi o quando il watchdog intercetta un errore di comunicazione del bus KNX.
Quando il watchdog segnala un problema di connessione
msg = {
type:"BUSError"
checkPerformed: "Ethernet" per il controllo base, o "Eth+KNX" per il controllo completo.
nodeid: "23HJ.2355" // (L'ID del nodo che ha causato l'errore. Puoi cercare il nodo che ha segnalato l'errore, usando la funzione "cerca" di node-red)
payload: true
description: // (descrizione dell'errore)
}
In caso di errore di uno dei nodi KNX-Ultimate
msg = {
type:"NodeError"
checkPerformed: "Self KNX-Ultimate node reporting a red color status"
nodeid: "23HJ.2355" // (The node ID causing the error, so you can find it using node-red "search" funtion)
payload: true
description: // (KNX-Ultimate node reports his error here)
completeError:{
nodeid: "23HJ.2355" // (L'ID del nodo che ha causato l'errore. Puoi cercare il nodo che ha segnalato l'errore, usando la funzione "cerca" di node-red)
topic: "0/1/1" // (o il "topic" custom impostato sul nodo knx-ultimate)
devicename: "Luce cucina"
GA: "0/1/1"
}
}
In caso di nuova impostazione del gateway, usanto il messaggio msg.setGatewayConfig
msg = {
type:"setGatewayConfig"
checkPerformed: "The Watchdog node changed the gateway configuration."
nodeid: "23HJ.2355" // (L'ID del nodo che ha impostato la nuova configurazione. Puoi cercare il nodo usando la funzione "cerca" di node-red)
payload: true
description: "New Config issued to the gateway. IP:224.0.23.12 Port:3671 PhysicalAddress:15.15.1 BindLocalInterface:Auto"
completeError:""
}
In caso di fozatura connessione/disconnessione del gateway
msg = {
type:"connectGateway"
checkPerformed: "The Watchdog issued a connection/disconnection to the gateway."
nodeid: "23HJ.2355" // (L'ID del nodo. Puoi cercare il nodo usando la funzione "cerca" di node-red)
payload: true // true se hai richiesto la connessione, false se hai richiesto la disconnessione
description: "Connection"
completeError:""
}
Il nodo WatchDog accetta msg di input ed emette msg di output. Di seguito, una spiegazione del formato del messaggio da inviare al nodo.
Per avviare ed arrestare il watchdog, devi utilizzare:
AVVIO WATCHDOG
// Avvio del WatchDog
msg.start = true;
return msg;
ARRESTO WATCHDOG
// Arresto del WatchDog
msg.start = false;
return msg;
Con msg.setGatewayConfig, è possibile modificare l'IP, la porta, l'indirizzo fisico, il protocollo e così via, dell'interfaccia o router KNX/IP, precedentemente impostati.
Il nodo modificherà le impostazioni e si riconnetterà con nuovi parametri.
Fai attenzione: se riavvii node-red, le nuove impostazioni vengono ripristinate a quelle specificate nella finestra di configurazione.
TUTTI i parametri sono OPZIONALI
vedi qui per altri esempi.
// IP: IP of your KNX/IP Router or Interface
// Port: Port of your KNX/IP Router or Interface
// PhysicalAddress: Physical address your KNX/IP Router or Interface (this is not a Group Address, this is a physical address indicating the physical device in your KNX installation)
// BindToEthernetInterface: "Auto" (for automatic detection) or the ethernet interface name, for example "en0".
// Protocol: "TunnelUDP" o "TunnelTCP" o "Multicast"
// importCSV: the ETS exported CSV or ESF. Please see the text format in the Gateway Config Wiki Page and in the youtube video.
// All these parameters are optional
msg.setGatewayConfig={IP:"224.0.23.12",Port:3671,PhysicalAddress:"15.15.1",BindToEthernetInterface:"Auto", Protocol:"Multicast", importCSV:`"Group name" "Address" "Central" "Unfiltered" "Description" "DatapointType" "Security"
"Attuatori luci" "0/-/-" "" "" "" "" "Auto"
"Luci primo piano" "0/0/-" "" "" "" "" "Auto"
"Luce camera da letto" "0/0/1" "" "" "" "DPST-1-1" "Auto"};`
return msg;
Tutte le proprietà sono opzionali. Se vuoi, per esempio, solamente modificare l'indirizzo IP:
// IP: IP of your KNX/IP Router or Interface
msg.setGatewayConfig={IP:"224.0.23.12"};
return msg;
FORZARE LA DISCONNESSIONE DEL GATEWAY E DISABILITARNE L'AUTORICONNESSIONE
// Force the gateway's disconnection from the BUS and stop the reconnection's attempts.
msg.connectGateway = false;
return msg;
FORZARE LA CONNESSIONE DEL GATEWAY ED ABILITARNE L'AUTORICONNESSIONE
// Force the gateway's connection to the BUS and activate the reconnection's attempts.
msg.connectGateway = true;
return msg;
- ESEMPI