Nutze in Version 8 KNX Utility und wähle Global Context. Die folgenden Einstellungen beschreiben diese Funktion. Der alte separate Knoten ist nicht mehr enthalten.
KNX GLOBALE VARIABLE
Dieser Node spiegelt empfangene Gruppenadressen in eine globale Kontext-Variable
und ermöglicht auch das Schreiben auf den KNX-BUS über diese Variable.
Überblick
- Füge den Global-Context-Node in den Flow ein und gib ihm einen Namen. Dieser Name ist die Basis der globalen Variable.
- Lesen per Suffix
_READ(z. B.MeineVar_READ). - Schreiben per Suffix
_WRITE(z. B.MeineVar_WRITE). - Im Dialog lässt sich die Variable als Read-Only oder Read/Write exposen.
- Ändere aus Sicherheitsgründen den Standardnamen.
Hinweis: Nach der Ausführung werden Einträge in <Name>_WRITE automatisch geleert, um Endlosschleifen zu vermeiden.
Einstellungen
| Property | Beschreibung |
|---|---|
| Gateway | KNX-Gateway. |
| Variablenname (keine Leerzeichen, nur Zeichen [a-z]) | Basisname der globalen Variable. Es werden <Name>_READ (Lesen) und <Name>_WRITE (Schreiben) erstellt. Wähle aus Sicherheitsgründen keinen Standardnamen. |
| Als globale Variable verfügbar machen | Ob und wie die Variable exponiert wird. Wenn kein Schreiben nötig ist, “read only” wählen. |
| BUS-Schreibintervall | Prüfintervall, in dem <Name>_WRITE ausgewertet und an den BUS gesendet wird. |
msg-Objekte in der Variable
{
address: "0/0/1",
dpt: "1.001",
payload: true,
devicename: "Dinning Room->Table Light"
}
Schnelle Nutzung
Variable lesen
const list = global.get("KNXContextBanana_READ") || [];
node.send({ payload: list });
const 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" };
Über Variable auf den BUS schreiben
const toSend = [];
toSend.push({ address: "0/0/10", dpt: "1.001", payload: msg.payload });
toSend.push({ address: "0/0/11", payload: msg.payload }); // DPT kann mit ETS-Import entfallen
global.set("KNXContextBanana_WRITE", toSend);