Filtert RAW-Telegramm-Objekte (typischerweise vom KNX Multi Routing Node), bevor sie an ein anderes Gateway weitergeleitet werden.


Muster-Syntax

  • Gruppenadresse (GA) unterstützt * pro Ebene:
    • 0/0/* matcht alle GAs in 0/0
    • 0 entspricht 0/*/*
  • Source (physikalische Adresse) unterstützt * pro Ebene:
    • 1.1.* matcht alle Geräte in Bereich 1, Linie 1
    • 1 entspricht 1.*.*
  • Erweitert: re:<regex> um direkt eine Regex zu verwenden.

Modus (GA / Source)

  • Off: kein Filter
  • Allow only matching: lässt nur passende durch
  • Block matching: verwirft passende

Ausgänge

  1. Passed (weiterleiten)
  2. Dropped (optional zum Debuggen)

Rewrite (Umschreiben)

Optionales Umschreiben von:

  • Ziel-Gruppenadresse (knx.destination)
  • Source-PA (knx.source)

Beim Umschreiben aktualisiert der Node auch knx.cemi.hex, damit es zu den umgeschriebenen Werten von knx.source/knx.destination passt (wenn knx.cemi.hex vorhanden ist).

Regeln werden von oben nach unten ausgewertet (first match wins).

Beispiele:

  • Wildcards: 0/0/* => 2/0/* (das * wird „gecaptured“ und wiederverwendet)
  • Regex: re:^1/2/(\\d+)$ => 3/2/$1

Metadaten

Der Node fügt msg.payload.knxRouterFilter hinzu:

  • verworfen: { dropped: true, reason: 'event'|'ga'|'source', ... }
  • durchgelassen: { dropped: false, rewritten: <bool>, cemiSynced: <bool>, rewrite: { ... }, original: { ... } }

msg.setConfig

Du kannst die Node-Konfiguration zur Laufzeit ändern, indem du ein msg.setConfig Objekt an den Eingang sendest. Unterstützte Keys: allowWrite, allowResponse, allowRead, gaMode, gaPatterns, srcMode, srcPatterns, rewriteGA, gaRewriteRules, rewriteSource, srcRewriteRules. Die Konfiguration bleibt bis zum nächsten msg.setConfig oder bis Redeploy/Neustart erhalten. Konfigurationsnachrichten werden nicht weitergeleitet.

Bedeutung der Properties:

  • allowWrite: erlaubt GroupValue_Write Telegramme.
  • allowResponse: erlaubt GroupValue_Response Telegramme.
  • allowRead: erlaubt GroupValue_Read Telegramme.
  • gaMode: Filtermodus für die Ziel-GA (off = kein Filter, allow = nur Matches durchlassen, block = Matches verwerfen).
  • gaPatterns: Ziel-GA Patterns für gaMode (eine pro Zeile, unterstützt * und re:<regex>).
  • srcMode: Filtermodus für die Source-PA (off/allow/block).
  • srcPatterns: Source-Patterns für srcMode (eine pro Zeile, unterstützt * und re:<regex>).
  • rewriteGA: aktiviert Umschreiben von knx.destination für durchgelassene Telegramme.
  • gaRewriteRules: Umschreibregeln für Ziel-GA (von => nach, first match wins; unterstützt * und re:<regex>).
  • rewriteSource: aktiviert Umschreiben von knx.source für durchgelassene Telegramme.
  • srcRewriteRules: Umschreibregeln für Source-PA (von => nach, first match wins; unterstützt * und re:<regex>).

Beispiel:

msg.setConfig = {
  allowWrite: true,
  allowResponse: true,
  allowRead: true,
  gaMode: "allow",
  gaPatterns: "1/1/*\n1/2/3",
  srcMode: "off",
  srcPatterns: "",
  rewriteGA: true,
  gaRewriteRules: "5/5/1 => 1/1/1",
  rewriteSource: true,
  srcRewriteRules: "15.*.* => 1.1.254"
};
return msg;