node-red-contrib-knx-ultimate
Version:
Control your KNX and KNX Secure intallation via Node-Red! A bunch of KNX nodes, with integrated Philips HUE control, ETS group address importer, KNX AI for diagnosticsand KNX routing between interfaces. Easy to use and highly configurable.
38 lines (29 loc) • 2.9 kB
HTML
<script type="text/markdown" data-help-name="knxUltimateMultiRouting">
Este nodo se utiliza para **interconectar varios gateways KNX Ultimate** (varios `knxUltimate-config`) mediante cables de Node-RED.
En la salida emite un objeto con información **RAW del telegrama** (APDU + cEMI en hex + direcciones) para cada telegrama recibido del bus KNX del gateway seleccionado.
En la entrada puede recibir esos mismos objetos RAW y reenviarlos al bus KNX del gateway seleccionado.
## Modo servidor KNX/IP
Establece **Modo** en **Server KNX/IP** para iniciar un servidor KNXnet/IP tunneling (UDP) integrado. Los telegramas recibidos de los clientes se emiten en el mismo formato RAW.
El nodo también acepta objetos RAW en la entrada y los inyecta hacia los clientes tunneling conectados.
**Importante (Advertise host):** los clientes KNXnet/IP enviarán los datos a la IP anunciada por el servidor en la CONNECT_RESPONSE. Si el cliente muestra *conectado* pero el servidor no recibe telegramas, configura **Advertise host** con la IP LAN del servidor alcanzable por el cliente (especialmente si Node-RED se ejecuta en Docker/VM o en un host con múltiples interfaces).
## Formato del mensaje de salida
`msg.payload` contiene:
- `knx.event`: `GroupValue_Write` / `GroupValue_Response` / `GroupValue_Read`
- `knx.source`: dirección física (p. ej. `1.1.10`)
- `knx.destination`: dirección de grupo (p. ej. `0/0/1`)
- `knx.apdu.data`: payload APDU como `Buffer` (solo para Write/Response)
- `knx.apdu.bitlength`: longitud en bits (`<=6` significa codificado en los bits bajos del APCI)
- `knx.cemi.hex`: cEMI completo en hex (estilo ETS)
- `knx.echoed`: `true` si el gateway lo ha “echoed”
- `knxMultiRouting.gateway`: metadatos del gateway (`id`, `name`, `physAddr`)
## Routing counter (hop count)
MultiRouting puede usar el routing counter (hop count) presente en `knx.cemi.hex` para evitar bucles de telegramas.
- **Respect routing counter (drop if 0)**: los telegramas con routing counter `0` no se reenvían.
- **Decrement routing counter when routing**: el nodo decrementa el routing counter durante el reenvío. Si llega a `0`, el telegrama se descarta.
El valor actual se expone como `knx.routingCounter` (y como `knx.cemi.hopCount` cuando `knx.cemi` es un objeto).
## Reescritura de telegramas
Si en tu flow reescribes `knx.source` / `knx.destination`, también debes mantener `knx.cemi.hex` coherente. Recomendado: coloca **KNX Router Filter** entre nodos MultiRouting: sincronizará automáticamente `knx.cemi.hex` durante la reescritura.
## Notas
- Al reenviar a otro gateway, la **dirección física de origen cambia** (pasa a ser la del gateway que envía). Usa `knx.source` y/o `knxMultiRouting.gateway` para filtrar bucles.
- La opción **“Drop messages already tagged for this gateway”** ayuda a prevenir bucles simples cuando conectas varios routers entre sí.
</script>