Filtra i telegrammi RAW (tipicamente prodotti dal nodo KNX Multi Routing) prima di inoltrarli su un altro gateway.
Sintassi pattern
- I pattern per Group Address supportano
*per livello:0/0/*matcha tutti i GA in0/00equivale a0/*/*
- I pattern per Source (indirizzo fisico) supportano
*per livello:1.1.*matcha tutti i device nell’area1, linea11equivale a1.*.*
- Avanzato:
re:<regex>per usare una regex.
Modalità (GA / Source)
- Off: nessun filtro
- Consenti solo match: passa solo ciò che matcha i pattern
- Blocca i match: scarta ciò che matcha i pattern
Output
- Passati (da inoltrare)
- Scartati (debug opzionale)
Rewrite
Puoi (opzionalmente) riscrivere:
- destination Group Address (
knx.destination) - source indirizzo fisico (
knx.source)
Durante il rewrite, il nodo aggiorna anche knx.cemi.hex per riflettere i valori riscritti di knx.source/knx.destination (quando knx.cemi.hex è presente).
Le regole sono valutate dall’alto verso il basso: la prima che matcha vince.
Esempi sintassi:
- Wildcard:
0/0/* => 2/0/*(il*viene catturato e riutilizzato) - Regex:
re:^1/2/(\\d+)$ => 3/2/$1
Metadati
Il nodo aggiunge msg.payload.knxRouterFilter:
- messaggi scartati:
{ dropped: true, reason: 'event'|'ga'|'source', ... } - messaggi passati:
{ dropped: false, rewritten: <bool>, cemiSynced: <bool>, rewrite: { ... }, original: { ... } }
msg.setConfig
Puoi cambiare la configurazione del nodo a runtime inviando un oggetto msg.setConfig all’ingresso.
Chiavi supportate: allowWrite, allowResponse, allowRead, gaMode, gaPatterns, srcMode, srcPatterns, rewriteGA, gaRewriteRules, rewriteSource, srcRewriteRules.
La nuova configurazione viene mantenuta fino al prossimo msg.setConfig o fino a redeploy/riavvio. I messaggi di configurazione non vengono inoltrati.
Significato delle proprietà:
allowWrite: consente i telegrammiGroupValue_Write.allowResponse: consente i telegrammiGroupValue_Response.allowRead: consente i telegrammiGroupValue_Read.gaMode: modalità filtro per la GA di destinazione (off= nessun filtro,allow= consenti solo i match,block= scarta i match).gaPatterns: pattern GA di destinazione usati dagaMode(uno per riga, supporta*ere:<regex>).srcMode: modalità filtro per la source (indirizzo fisico) (off/allow/block).srcPatterns: pattern source usati dasrcMode(uno per riga, supporta*ere:<regex>).rewriteGA: abilita la riscrittura diknx.destinationsui telegrammi passati.gaRewriteRules: regole di riscrittura GA (da => a, prima regola che matcha vince; supporta*ere:<regex>).rewriteSource: abilita la riscrittura diknx.sourcesui telegrammi passati.srcRewriteRules: regole di riscrittura source (da => a, prima regola che matcha vince; supporta*ere:<regex>).
Esempio:
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;