KNX-ULTIMATE GERĂTE-NODE EINSTELLUNGEN
Dieser Node steuert eine KNX-Gruppenadresse und ist der am hÀufigsten verwendete.
Konfiguration
| Eigenschaft | Beschreibung |
|---|---|
| Gateway | Zu verwendendes KNX-Gateway auswÀhlen |
| GA-Typ (Dropdown) | Typ der Gruppenadresse. 3-Ebenen ** ist Standard (Eingabe der 3-stufigen GA oder GA-Bezeichnung, sofern ETS importiert).Global ** liest die GA beim Start aus einer globalen Variablen,Flow ** analog auf Flow-Ebene.$Env variable ** liest die GA aus einer Umgebungsvariable.Universeller Modus (alle GAs abhören) reagiert auf ALLE Gruppenadressen. |
| Group Addr. | Zu steuernde Gruppenadresse. Mit importierter ETS kannst du den GerÀtenamen tippen. Kann leer bleiben, wenn du sie per msg.setConfig setzt. |
| Datapoint | Der zum Node gehörende Datapoint. |
Manueller Befehlsbutton
Im Editor kann pro Node ein kleiner Button angezeigt werden, ĂŒber den du KNX-Telegramme ohne zusĂ€tzlichen Inject-Knoten auslösen kannst.
| Eigenschaft | Beschreibung |
|---|---|
| Manuellen Button anzeigen | Blendet den Button im Workspace und in der Knotenliste ein bzw. aus. |
| SchaltflĂ€chenaktion | Legt fest, was beim Klick geschieht. KNX-Leseanforderung senden erzeugt ein normales Read-Telegramm. Boolean umschalten (Schreiben) steht bei DPT 1.x zur VerfĂŒgung und wechselt zwischen true und false. Benutzerdefinierten Wert schreiben sendet den angegebenen Wert (muss zum eingestellten Datapoint passen). |
| Initialer Toggle-Status | (Nur fĂŒr boolesche Datapoints) Startwert der Toggle-Funktion. Der Zustand bleibt mit den ankommenden KNX-Telegrammen synchron. |
| Benutzerdefinierter Wert | Wert fĂŒr den Modus âBenutzerdefinierten Wert schreibenâ. Erlaubt sind JSON-Literale wie 42, true, "Text" oder { "red": 255 }. |
Der Button wird nur eingeblendet, wenn die Option aktiv ist. Im Universalmodus ist die Leseaktion deaktiviert, da keine feste Gruppenadresse vorhanden ist.
TAB Erweiterte Optionen
| Eigenschaft | Beschreibung |
|---|---|
| Â | Allgemein |
| Node-Name | Anzeigename. |
| Topic | Topic der Ausgabe. Leer lassen, um die Gruppenadresse zu verwenden. |
| Passthrough | Leitet die Eingangs-Nachricht an den Ausgang weiter. |
| Â | Vom Node-EINGANG zum KNX-BUS |
| Telegrammtyp | write zum Senden eines Schreib-Telegramms (ĂŒblich), alternativ Reaktion auf andere Typen. |
| RBE-Filter | âReport by changeâ. Wenn aktiv, sendet nur geĂ€nderte Werte zum BUS. FĂŒr identische Wiederholungen deaktivieren. Bei Aktivierung wird ârbeâ dem Nodename hinzugefĂŒgt. |
| Â | Vom KNX-BUS zum Node-AUSGANG |
| Status beim Start lesen | Liest den GA-Status bei Editorstart und jeder Wiederverbindung. Werte werden in einer Datei gepuffert, Quelle wÀhlbar (Datei/BUS). |
| RBE-Filter | Wie oben, aber fĂŒr Ausgaben zum Flow. |
| Auf Schreib-Telegramme reagieren | Sendet bei eingehendem Write eine Nachricht an den Flow. |
| Auf Response-Telegramme reagieren | Sendet bei Response eine Nachricht an den Flow. |
| Auf Lese-Telegramme reagieren | Sendet bei Read eine Nachricht an den Flow (z. B. um eigene Werte zu liefern). |
| Multiply/Decimals/Negatives | Skaliert, rundet und behandelt negative Werte (nur numerische Werte). |
TAB KNX Function
Mit JavaScript kannst du das Verhalten eingehender Nachrichten (vom Flow) und ausgehender Telegramme (zum BUS) anpassen. Der Editor stellt Hilfsobjekte und -funktionen bereit, um GA-Werte zu lesen - mit ETS (ohne DPT) oder ohne ETS (mit DPT). Der Code lĂ€uft bei jeder Eingangs-Nachricht und bei jedem BUS-Telegramm. Bei Aktivierung erscheint âf(x)â im Nodename.
| Eigenschaft | Beschreibung |
|---|---|
| Search GA | Nur mit importierter ETS: tippen, GA wĂ€hlen und das Feld in getGAValue einfĂŒgen. |
VerfĂŒgbare Objekte/Funktionen
| Objekt/Funktion | Beschreibung |
|---|---|
msg |
Aktuelle Nachricht. |
getGAValue(GA, DPT?) |
Liest den Wert einer GA, z. B. '1/0/1' oder '1/0/1 Bed table light' (Text nach Leerzeichen wird ignoriert). DPT nur ohne ETS erforderlich. |
setGAValue(GA, value, DPT?) |
Setzt den Wert der GA; DPT wie oben. |
self(value) |
Setzt den eigenen Node-Wert und sendet ihn an den BUS (Achtung Schleifen). |
toggle() |
Toggeln wie self. |
node, RED, return(msg) |
Node-Objekt, RED-Objekt, RĂŒckgabe der Nachricht. |
Beispiele (Flow â BUS)
const statusGA = getGAValue('0/0/09','1.001');
if (msg.payload !== statusGA){ return msg; } else { return; }
if (msg.payload){
setGAValue('0/1/8', true)
setTimeout(function(){ self(off); }, 2000);
}
return msg;
Beispiele (BUS â Ausgang)
msg.externalTemperature = getGAValue('0/0/10'); // ohne ETS: getGAValue('0/0/10','9.001')
return msg;
if (msg.payload === false && getGAValue('0/0/11','1.001') === false){ return; } else { return msg; }
Inputs
destination (string) ** : 3-stufige GA, z. B. 1/1/0.payload (any) ** : zu sendender Wert.event (string) ** : GroupValue_Write, GroupValue_Response, Update_NoWrite (nur interner Wert, kein BUS-Senden).readstatus (boolean) ** : Leseauftrag an den BUS.dpt (string) ** : z. B. 1.001.writeraw (buffer) ** ,bitlenght (int) ** : RAW-Senden, bitlenght in Bit.resetRBE (boolean) ** : RBE-Filter zurĂŒcksetzen.setConfig (json) : GA/DPT des Nodes per Nachricht Ă€ndern.
setConfig Details
var config= { setGroupAddress: "0/1/2", setDPT: "1.001" };
msg.setConfig = config; return msg;
var config= { setGroupAddress: "0/1/2", setDPT: "auto" };
msg.setConfig = config; return msg;
Outputs
- Standardausgang:
payloadam PIN 1. - Fehler:
erroram PIN 2.
Ausgehende Nachricht (Beispiel)
msg = {
topic: "0/1/2",
payload: false,
previouspayload: true,
payloadmeasureunit: "%",
payloadsubtypevalue: "Start",
devicename: "Esstischlampe",
gainfo: {
maingroupname: "Light actuators",
middlegroupname: "First flow lights",
ganame: "Table Light",
maingroupnumber: "1",
middlegroupnumber: "1",
ganumber: "0"
},
echoed: true,
knx: {
event: "GroupValue_Write",
dpt: "1.001",
dptdesc: "Humidity",
source: "15.15.22",
destination: "0/1/2",
rawValue: "<buffer>"
}
}
EINGANGS-NACHRICHT AUS DEM FLOW
KNX-GerÀte steuern
Der Node nimmt Nachrichten entgegen und sendet sie auf den KNX-BUS; eingehende BUS-Telegramme werden als Nachrichten an den Flow ausgegeben. Alle Eigenschaften optional, auĂer payload.
msg.destination ** : z. B. 0/0/1.msg.payload ** : z. B. true/false/21/"Hello".msg.event : GroupValue_Write/GroupValue_Response/Update_NoWrite. Bei Update_NoWrite geben alle Nodes mit derselben GA eine Meldung mit event: 'Update_NoWrite' aus.
FĂŒr Read statt event bitte msg.readstatus = true verwenden.
msg.readstatus = true ** : Read an den BUS.msg.dpt ** : z. B. 1.001 (auch 9, "9", "DPT9.001").msg.writeraw ** ,msg.bitlenght ** : RAW-Senden; ignoriert den am Node gesetzten DPT.msg.resetRBE = true : RBE-Filter zurĂŒcksetzen.
Konfiguration per Nachricht Àndern
QUICK HOW TO
Weitere Beispiele hier
LAMPE EINSCHALTEN
msg.payload = true; return msg;
ABSOLUTES DIMMEN
msg.payload = 30; return msg;
TEXT AN DISPLAY
msg.payload = "Output Tem. 35°C"; return msg;
STATUS LESEN
msg.readstatus = true; return msg;
RAW AN BUS SENDEN
msg.writeraw = Buffer.from('01','hex');
msg.bitlenght = 1; return msg;
// Temperatur (DPT9): 18.4 °C = <0730>
// msg.writeraw = Buffer.from('0730','hex'); return msg;