UNPKG

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, and KNX routing between interfaces. Easy to use and highly configurable.

38 lines (29 loc) 2.88 kB
<script type="text/markdown" data-help-name="knxUltimateMultiRouting"> Questo nodo serve per **collegare tra loro più gateway KNX Ultimate** (più `knxUltimate-config`) tramite i collegamenti di Node-RED. In output emette un oggetto con le informazioni **RAW** del telegramma (APDU + cEMI hex + indirizzi) per ogni telegramma ricevuto dal BUS KNX del gateway selezionato. In input può ricevere gli stessi oggetti RAW e inoltrarli sul BUS KNX del gateway selezionato. ## Modalità Server KNX/IP Imposta **Modalità** su **Server KNX/IP** per avviare un server KNXnet/IP tunneling (UDP). I telegrammi ricevuti dai client vengono emessi nello stesso formato RAW usato dal MultiRouting. Il nodo accetta anche in input gli oggetti RAW e li inietta verso i client tunneling connessi. **Importante (Host annunciato):** i client KNXnet/IP inviano i dati all’IP annunciato dal server nella CONNECT_RESPONSE. Se il client risulta *connesso* ma il server non riceve telegrammi, imposta **Host annunciato** con l’IP LAN del server raggiungibile dal client (soprattutto se Node-RED gira in Docker/VM o se il PC ha più schede di rete). ## Formato messaggio in output `msg.payload` contiene: - `knx.event`: `GroupValue_Write` / `GroupValue_Response` / `GroupValue_Read` - `knx.source`: indirizzo fisico (es. `1.1.10`) - `knx.destination`: group address (es. `0/0/1`) - `knx.apdu.data`: payload APDU grezzo come `Buffer` (solo per Write/Response) - `knx.apdu.bitlength`: bitlength del payload (`<=6` significa codificato nei bit bassi dell’APCI) - `knx.cemi.hex`: cEMI completo in esadecimale (stile ETS) - `knx.echoed`: `true` se telegramma echoed dal gateway - `knxMultiRouting.gateway`: info gateway (`id`, `name`, `physAddr`) ## Routing counter (hop count) MultiRouting può usare il routing counter (hop count) presente in `knx.cemi.hex` per prevenire loop di telegrammi. - **Rispetta routing counter (scarta se 0)**: i telegrammi con routing counter `0` non vengono inoltrati. - **Decrementa routing counter durante l'inoltro**: il nodo decrementa il routing counter durante l'inoltro. Quando arriva a `0`, il telegramma viene scartato. Il valore corrente è disponibile come `knx.routingCounter` (e come `knx.cemi.hopCount` quando `knx.cemi` è un oggetto). ## Riscrittura telegrammi Se nel flow riscrivi `knx.source` / `knx.destination`, devi mantenere coerente anche `knx.cemi.hex`. Consigliato: inserisci **KNX Router Filter** tra i nodi MultiRouting: manterrà automaticamente coerente `knx.cemi.hex` durante il rewrite. ## Nota Quando inoltri su un altro gateway, l’**indirizzo fisico sorgente cambia** (diventa l’indirizzo fisico del gateway che invia). Usa `knx.source` e/o `knxMultiRouting.gateway` per filtrare i loop. L’opzione **Scarta messaggi già marcati per questo gateway** aiuta a prevenire loop semplici quando colleghi più router tra loro. </script>