UNPKG

node-red-contrib-knx-ultimate

Version:

Control your KNX and KNX Secure intallation via Node-Red! A bunch of KNX nodes, with integrated Philips HUE control, ETS group address importer, and KNX routing between interfaces. Easy to use and highly configurable.

72 lines (51 loc) 2.59 kB
<script type="text/markdown" data-help-name="knxUltimateGlobalContext"> # VARIABILE GLOBALE KNX Questo nodo espone gli indirizzi di gruppo ricevuti dal BUS a una variabile di contesto globale.\ Puoi anche scrivere sul BUS KNX aggiornando la variabile globale dedicata. ## Panoramica - Inserisci il nodo Global Context nel flow e assegnagli un nome. Il nome del nodo diventa il nome base della variabile globale. - La lettura avviene tramite il suffisso `_READ` (es. `MiaVar_READ`). - La scrittura avviene tramite il suffisso `_WRITE` (es. `MiaVar_WRITE`). - Dalla finestra di configurazione puoi esporre la variabile come sola lettura o lettura/scrittura. - Per sicurezza, cambia sempre il nome predefinito della variabile. Nota: dopo l'esecuzione dei comandi, la variabile con suffisso `_WRITE` viene svuotata automaticamente, per evitare cicli di scrittura infiniti. ## Impostazioni | Proprietà | Descrizione | |--|--| | Gateway | Gateway KNX. | | Nome variabile (no spazi, solo [a-z]) | Nome base del contesto globale. Verranno create due variabili: `<Nome>_READ` (lettura) e `<Nome>_WRITE` (scrittura). Scegli un nome non predefinito per motivi di sicurezza. | | Esponi come variabile globale | Se e come esporre la variabile globale. Se non devi scrivere sul BUS, imposta "read only”. | | Intervallo scrittura su BUS | Intervallo con cui il nodo controlla `<Nome>_WRITE` per inviare comandi al BUS. | ## Proprietà msg (oggetti nella variabile) ```javascript { address: "0/0/1", dpt: "1.001", payload: true, devicename: "Dinning Room->Table Light" } ``` ## Utilizzo rapido ### Leggere la variabile ```javascript // Legge l'array di oggetti GA dalla variabile globale let list = global.get("KNXContextBanana_READ") || []; node.send({ payload: list }); // Trova una GA specifica let ga = list.find(a => a.address === "0/0/10"); if (ga && ga.payload === true) return { payload: "FOUND AND TRUE" }; if (ga && ga.payload === false) return { payload: "FOUND AND FALSE" }; ``` ### Scrivere sul BUS tramite variabile ```javascript // Prepara comandi da inviare al BUS let toSend = []; toSend.push({ address: "0/0/10", dpt: "1.001", payload: msg.payload }); // Con ETS importato si può omettere dpt: verrà dedotto toSend.push({ address: "0/0/11", payload: msg.payload }); // Scrittura: usa il suffisso _WRITE global.set("KNXContextBanana_WRITE", toSend); ``` ## Esempio completo <a href="https://supergiovane.github.io/node-red-contrib-knx-ultimate/wiki/SampleGlobalContextNode" target="_blank"><i class="fa fa-info-circle"></i> Vedi questo esempio</a> </script>