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 in0/00entspricht0/*/*
- Source (physikalische Adresse) unterstützt
*pro Ebene:1.1.*matcht alle Geräte in Bereich1, Linie11entspricht1.*.*
- 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
- Passed (weiterleiten)
- 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: erlaubtGroupValue_WriteTelegramme.allowResponse: erlaubtGroupValue_ResponseTelegramme.allowRead: erlaubtGroupValue_ReadTelegramme.gaMode: Filtermodus für die Ziel-GA (off= kein Filter,allow= nur Matches durchlassen,block= Matches verwerfen).gaPatterns: Ziel-GA Patterns fürgaMode(eine pro Zeile, unterstützt*undre:<regex>).srcMode: Filtermodus für die Source-PA (off/allow/block).srcPatterns: Source-Patterns fürsrcMode(eine pro Zeile, unterstützt*undre:<regex>).rewriteGA: aktiviert Umschreiben vonknx.destinationfür durchgelassene Telegramme.gaRewriteRules: Umschreibregeln für Ziel-GA (von => nach, first match wins; unterstützt*undre:<regex>).rewriteSource: aktiviert Umschreiben vonknx.sourcefür durchgelassene Telegramme.srcRewriteRules: Umschreibregeln für Source-PA (von => nach, first match wins; unterstützt*undre:<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;