Dans la version 8, utilisez KNX Utility et choisissez Global Context. Les rĂ©glages ci-dessous dĂ©crivent cette fonction. Lâancien nĆud sĂ©parĂ© nâest plus inclus.
Variable globale KNX
Ce nĆud expose lâadresse de groupe reçue du bus Ă une variable globale **
Vous pouvez écrire dans le bus KNX en mettant simplement à jour la variable globale!
Aperçu
Mettez un nĆud de contexte global dans lâĂ©coulement, puis donnez-lui un nom.
Le nom que vous donnez au nĆud deviendra le nom de la variable de contexte globale.
Câest tout. Pour des raisons de sĂ©curitĂ©, veuillez modifier le nom du nĆud par dĂ©faut**
Vous pouvez accĂ©der Ă la variable globale en ajoutant le suffixe \ _read au nom du nĆud.
Vous pouvez activer / dĂ©sactiver la variable de contexte globale, ou activer la lecture ou lire / Ă©crire dans la fenĂȘtre de configuration.
Vous pouvez émettre une commande KNX Bus Write, en modifiant simplement le nom de variable global avec Suffix \ _Write. _ Une fois les commandes exécutées, la variable globale avec suffixe \ _write est automatiquement vidé, pas pour répéter infiniment les commandes. ** _ **ParamÚtres
| Propriété | Description |
|---|---|
| Porte | La passerelle KNX. |
| Nom variable (pas dâespaces, seulement Chars [A-Z]) | Nom du contexte mondial. 2 variables avec ce nom seront créées, lâune avec le suffixe \ _read (pour la lecture dâadresses de groupe) et lâautre avec le suffixe \ _Write (pour lâĂ©criture dâadresses de groupe). Par exemple, si le nom de la variable est âknxGlobalContextâ, les 2 variables knxglobalcontext \ _read et knxglobalcontext \ _write sont créées. Ătant donnĂ© que la variable globale est visible Ă partir de tous les nĆuds (mĂȘme les non-KNX-ultime), pour des raisons de sĂ©curitĂ©, dĂ©finissez un nom autre que celui par dĂ©faut. Cliquez sur lâexemple de lien en bas de la page. |
| Exposer en tant que variable globale | Choisissez si et comment vous souhaitez exposer la variable globale. Si vous nâavez pas lâintention dâĂ©crire sur le bus KNX, pour la sĂ©curitĂ©, laissez âlire seulementâ. |
| Intervalle dâĂ©criture de bus | Le nĆud vĂ©rifie la variable avec le suffixe \ _Write Ă intervalles rĂ©guliers pour Ă©crire sur le bus KNX. Choisissez lâintervalle que vous prĂ©fĂ©rez. |
Propriétés MSG
// Properties of the variable, both in reading and in writing
{
address : "0/0/1",
dpt: "1.001",
payload: true,
devicename:"Dinning Room->Table Light"
}
Utilisation
Ăchantillon de nĆud de contexte global
Ce nĆud expose lâadresse de groupe reçue du bus Ă une variable globale **
Vous pouvez écrire dans le bus KNX en mettant simplement à jour la variable globale!
Aperçu
Mettez un nĆud de contexte global dans lâĂ©coulement, puis donnez-lui un nom.
Le nom que vous donnez au nĆud deviendra le nom de la variable de contexte globale.
Câest tout. Pour des raisons de sĂ©curitĂ©, veuillez modifier le nom du nĆud par dĂ©faut**
Vous pouvez accĂ©der Ă la variable globale en ajoutant le suffixe \ _read au nom du nĆud.
Vous pouvez activer / dĂ©sactiver la variable de contexte globale, ou activer la lecture ou lire / Ă©crire dans la fenĂȘtre de configuration.
Vous pouvez émettre une commande KNX Bus Write, en modifiant simplement le nom de variable global avec Suffix \ _Write. _ Une fois les commandes exécutées, la variable globale avec suffixe \ _write est automatiquement vidé, pas pour répéter infiniment les commandes. _
Voir le code
Ajustez les nĆuds en fonction de votre configuration
Obtenez la valeur de la variable
// This function reads the variable
// Remember: add the string "_READ" after the node name to read the variable
let GroupAddresses = global.get("KNXContextBanana_READ") || [];
// Outputs the array, as example
node.send({payload:GroupAddresses});
// Get the Group Address object, having address 0/0/10
let Ga = GroupAddresses.find(a => a.address === "0/0/10");
// Outputs the object, as example
node.send({ Found: Ga });
// Do some testing and output some stuffs.
if (Ga.payload === true) return {payload : "FOUND AND TRUE"};
if (Ga.payload === false) return {payload : "FOUND AND FALSE"};
Envoyer KNX Telegram via une variable globale
// This function writes the value to the KNX bus
let GroupAddressesSend = [];
GroupAddressesSend.push({address: "0/0/10", dpt:"1.001", payload:msg.payload});
// You can also avoid setting datapoint.
// This works gread if you have imported the ETS file, otherwise it'll guess the datapoint type by analyzing the payload
GroupAddressesSend.push({address: "0/0/11", payload:msg.payload});
// Remember: add the string "_WRITE" after the node name to write to the bus
global.set("KNXContextBanana_WRITE",GroupAddressesSend);