KNX-ULTIMATE GERÄTE-NODE EINSTELLUNGEN

Dieser Node steuert eine KNX-Gruppenadresse und ist der am hÀufigsten verwendete.

Beispiele findest du hier

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

  1. Standardausgang: payload am PIN 1.
  2. Fehler: error am 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

Siehe Beispielseite.


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;