Filtre des objets de télégrammes RAW (généralement produits par KNX Multi Routing) avant de les transmettre vers un autre gateway.


Syntaxe des motifs

  • Motifs d’adresse de groupe (GA) avec * par niveau :
    • 0/0/* correspond Ă  toutes les GA dans 0/0
    • 0 Ă©quivaut Ă  0/*/*
  • Motifs Source (adresse physique) avec * par niveau :
    • 1.1.* correspond Ă  tous les appareils sur zone 1, ligne 1
    • 1 Ă©quivaut Ă  1.*.*
  • AvancĂ© : re:<regex> pour utiliser directement une regex.

Mode (GA / Source)

  • Off : pas de filtrage
  • Allow only matching : autorise uniquement ce qui correspond
  • Block matching : bloque ce qui correspond

Sorties

  1. Passés (à transmettre)
  2. Rejetés (debug optionnel)

Réécriture (Rewrite)

Vous pouvez réécrire (optionnellement) :

  • destination (adresse de groupe) knx.destination
  • source (adresse physique) knx.source

Lors d’une réécriture, le nƓud met aussi Ă  jour knx.cemi.hex pour reflĂ©ter les valeurs réécrites de knx.source/knx.destination (lorsque knx.cemi.hex est prĂ©sent).

Les rÚgles sont évaluées de haut en bas (premiÚre correspondance gagnante).

Exemples :

  • Wildcards : 0/0/* => 2/0/* (le * est capturĂ© et rĂ©utilisĂ©)
  • Regex : re:^1/2/(\\d+)$ => 3/2/$1

Métadonnées

Le nƓud ajoute msg.payload.knxRouterFilter :

  • rejetĂ©s : { dropped: true, reason: 'event'|'ga'|'source', ... }
  • passĂ©s : { dropped: false, rewritten: <bool>, cemiSynced: <bool>, rewrite: { ... }, original: { ... } }

msg.setConfig

Vous pouvez modifier la configuration du nƓud Ă  l’exĂ©cution en envoyant un objet msg.setConfig Ă  l’entrĂ©e. ClĂ©s prises en charge : allowWrite, allowResponse, allowRead, gaMode, gaPatterns, srcMode, srcPatterns, rewriteGA, gaRewriteRules, rewriteSource, srcRewriteRules. La configuration est conservĂ©e jusqu’au prochain msg.setConfig ou jusqu’à un redeploy/redĂ©marrage. Les messages de configuration ne sont pas transmis.

Signification des propriétés :

  • allowWrite : autorise les tĂ©lĂ©grammes GroupValue_Write.
  • allowResponse : autorise les tĂ©lĂ©grammes GroupValue_Response.
  • allowRead : autorise les tĂ©lĂ©grammes GroupValue_Read.
  • gaMode : mode de filtre GA de destination (off = pas de filtre, allow = autoriser uniquement les correspondances, block = bloquer les correspondances).
  • gaPatterns : motifs GA de destination utilisĂ©s par gaMode (un par ligne, supporte * et re:<regex>).
  • srcMode : mode de filtre Source (adresse physique) (off/allow/block).
  • srcPatterns : motifs Source utilisĂ©s par srcMode (un par ligne, supporte * et re:<regex>).
  • rewriteGA : active la réécriture de knx.destination sur les tĂ©lĂ©grammes passĂ©s.
  • gaRewriteRules : rĂšgles de réécriture GA (de => vers, premiĂšre correspondance gagnante ; supporte * et re:<regex>).
  • rewriteSource : active la réécriture de knx.source sur les tĂ©lĂ©grammes passĂ©s.
  • srcRewriteRules : rĂšgles de réécriture Source (de => vers, premiĂšre correspondance gagnante ; supporte * et re:<regex>).

Exemple :

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;