Ce nƓud sert à interconnecter plusieurs gateways KNX Ultimate (plusieurs knxUltimate-config) via des liaisons Node-RED.

Il émet en sortie un objet contenant des informations RAW (APDU + cEMI hex + adresses) pour chaque télégramme reçu sur le bus KNX du gateway sélectionné. Il peut aussi accepter ces objets RAW en entrée et les transmettre vers le bus KNX du gateway sélectionné.

Mode serveur KNX/IP

RĂ©glez Mode sur Server KNX/IP pour dĂ©marrer un serveur KNXnet/IP tunneling (UDP) intĂ©grĂ©. Les tĂ©lĂ©grammes reçus des clients sont Ă©mis au mĂȘme format RAW. Le nƓud accepte aussi en entrĂ©e des objets RAW et les injecte vers les clients tunneling connectĂ©s.

Important (Advertise host) : les clients KNXnet/IP enverront les donnĂ©es Ă  l’IP annoncĂ©e par le serveur dans la CONNECT_RESPONSE. Si le client indique connectĂ© mais que le serveur ne reçoit aucun tĂ©lĂ©gramme, dĂ©finissez Advertise host sur l’IP LAN du serveur accessible par le client (surtout si Node-RED tourne dans Docker/VM ou sur une machine multi-homĂ©e).

Format du message en sortie

msg.payload contient :

  • knx.event : GroupValue_Write / GroupValue_Response / GroupValue_Read
  • knx.source : adresse physique (ex. 1.1.10)
  • knx.destination : adresse de groupe (ex. 0/0/1)
  • knx.apdu.data : payload APDU en Buffer (uniquement Write/Response)
  • knx.apdu.bitlength : longueur en bits (<=6 signifie encodĂ© dans les bits bas de l’APCI)
  • knx.cemi.hex : cEMI complet en hex (style ETS)
  • knx.echoed : true si le gateway l’a « echoed »
  • knxMultiRouting.gateway : mĂ©tadonnĂ©es du gateway (id, name, physAddr)

Routing counter (hop count)

MultiRouting peut utiliser le routing counter (hop count) présent dans knx.cemi.hex pour éviter les boucles de télégrammes.

  • Respect routing counter (drop if 0) : les tĂ©lĂ©grammes avec routing counter 0 ne sont pas transmis.
  • Decrement routing counter when routing : le nƓud dĂ©crĂ©mente le routing counter lors du transfert. S’il atteint 0, le tĂ©lĂ©gramme est supprimĂ©.

La valeur courante est exposée via knx.routingCounter (et via knx.cemi.hopCount lorsque knx.cemi est un objet).

Réécriture des télégrammes

Si vous réécrivez knx.source / knx.destination dans votre flow, vous devez aussi maintenir knx.cemi.hex cohĂ©rent. RecommandĂ© : placez KNX Router Filter entre les nƓuds MultiRouting : il maintient automatiquement knx.cemi.hex cohĂ©rent lors d’une réécriture.

Notes

  • Lors d’un transfert vers un autre gateway, l’adresse physique source change (elle devient celle du gateway Ă©metteur). Utilisez knx.source et/ou knxMultiRouting.gateway pour filtrer les boucles.
  • L’option « Drop messages already tagged for this gateway » aide Ă  prĂ©venir des boucles simples lorsque plusieurs routeurs sont interconnectĂ©s.