Configurazione del KNX Gateway
Questo nodo si connette al tuo KNX/IP Gateway.
Generale
| Proprietà | Descrizione |
|---|---|
| Nome | Nome del nodo. |
| Gateway | Inserisci l’indirizzo IP/hostname del gateway KNX oppure il percorso seriale (es. /dev/ttyUSB0). Puoi anche scegliere un gateway rilevato dall’elenco: se selezioni una porta seriale FT1.2 il protocollo viene impostato su Serial FT1.2 e i parametri UART predefiniti vengono compilati automaticamente. |
Configurazione
| Proprietà | Descrizione |
|---|---|
| Porta gateway | Porta di connessione. Default: 3671. Non utilizzata in modalità Serial FT1.2. |
| Protocollo di connessione | Tunnel UDP per interfacce KNX/IP, Multicast UDP per router KNX/IP, Serial FT1.2 per interfacce TP/FT1.2 (selezionato automaticamente quando scegli una porta seriale). Lascia Auto per rilevare il protocollo più adatto. |
| Modalità Serial FT1.2 | Definisce come inizializzare l’interfaccia Serial FT1.2: KBerry/BAOS abilita la sequenza specifica per moduli Weinzierl KBerry/BAOS (reset, modalità Link Layer/BAOS, nessun filtro GA), mentre Standard FT1.2 usa un adattatore FT1.2 generico senza passi specifici per KBerry. Il default è KBerry/BAOS. |
| KNX Physical Address | Indirizzo fisico KNX, es. 1.1.200. Default: 15.15.22. |
| Bind to local interface | Interfaccia di rete locale usata dal nodo. Lascia “Auto” per selezione automatica. Se hai più interfacce (Ethernet/Wi-Fi), è consigliato impostarla manualmente per evitare perdita di telegrammi UDP. Default: “Auto”. |
| Automatically connect to KNX BUS at start | Connessione automatica al BUS all’avvio. Default: “Yes”. |
| Secure credentials source | Scegli come fornire i dati KNX Secure: File keyring ETS ** (le chiavi Data Secure e, se presenti, le credenziali di tunnelling arrivano dal keyring),Credenziali manuali ** (solo KNX IP Tunnelling Secure con utente inserito a mano) oppureFile keyring + password tunnel manuale (chiavi Data Secure dal keyring, utente/password del tunnel impostati manualmente). Ricorda: i telegrammi KNX Data Secure richiedono sempre un file keyring. |
| Tunnel interface individual address | Visibile quando la modalità selezionata prevede credenziali manuali (Credenziali manuali o File keyring + password tunnel manuale). Indirizzo individuale opzionale dell’interfaccia tunnel sicura (es. 1.1.1); lascia vuoto per negoziazione automatica da parte di KNX Ultimate. |
| Tunnel user ID | Visibile quando sono attive credenziali manuali. ID opzionale dell’utente tunnel KNX Secure definito in ETS. |
| Tunnel user password | Visibile quando sono attive credenziali manuali. Password dell’utente tunnel KNX Secure configurata in ETS. |
Nota su KNX Secure
• KNX Data Secure protegge i telegrammi sugli indirizzi di gruppo e richiede sempre un file keyring con le chiavi di gruppo.
• KNX IP Tunnelling Secure protegge l’handshake della connessione tramite una password di commissioning, che può essere letta dal keyring oppure inserita manualmente in base alla modalità scelta.
• KNX/IP Secure (handshake del tunnel) si applica solo ai trasporti IP (Tunnel TCP / routing sicuro). KNX Data Secure protegge i telegrammi sugli indirizzi di gruppo e può essere usato sia su IP (tunnelling/routing) sia su TP via Serial FT1.2 quando è presente un file keyring ETS.
Avanzate
| Proprietà | Descrizione |
|---|---|
| Echo sent message to all node with same Group Address | Inoltra ai nodi con lo stesso GA i msg inviati dal flow, come se provenissero dal BUS. Utile in emulazione KNX o senza connessione al BUS. Opzione in deprecazione e presto abilitata di default. Default: abilitato. |
| Suppress repeated (R-Flag) telegrams fom BUS | Ignora i telegrammi ripetuti (flag R) dal BUS. Default: disabilitato. |
| Suppress ACK request in tunneling mode | Per vecchie interfacce KNX/IP: ignora l’ACK e accetta tutti i telegrammi. Default: disabilitato. |
| Delay between each telegram (ms) | Lo standard KNX prevede max 50 telegrammi/s. Un intervallo 25-50ms è adeguato. Con gateway remoto su link lento aumenta (es. 200-500ms). |
| Loglevel | Livello di log per il debug. Default: “Error”. |
| Limitazione aggiornamento stato nodi | Imposta ogni quanto aggiornare il badge di stato dei nodi. Con un ritardo attivo gli stati intermedi vengono ignorati e viene mostrato solo l’ultimo dopo l’intervallo scelto. Seleziona Immediato per mantenere l’aggiornamento in tempo reale. |
Import file ETS
| Proprietà | Descrizione |
|---|---|
| If Group Address has no Datapoint | Se un GA non ha datapoint: interrompi import, salta il GA o aggiungi un datapoint fittizio 1.001 e continua. |
| ETS group address list | Incolla qui il contenuto del file ETS (CSV o ESF) oppure indica un percorso file (es. /home/pi/mycsv.csv). Consulta i link di help per i dettagli. |
Utility
| Proprietà | Descrizione |
|---|---|
| Gather debug info for troubleshoot | Clicca il pulsante e allega l’output alla issue su GitHub: aiuta molto l’analisi. |
| Get all used GA for KNX routing filter | Clicca READ per ottenere l’elenco di tutti i GA usati nei flow associati a questo gateway, utile per popolare la tabella filtri del tuo KNX/IP Router. |
Lavorare con i file ETS CSV o ESF
Invece di creare un nodo per ogni GA da controllare, puoi importare il file ETS di indirizzi di gruppo in formato CSV (consigliato) o ESF (da v1.1.35, utile con ETS Inside). ETS supportata: v4+.
Da v1.4.18 puoi anche indicare direttamente il percorso al file nel campo (es.: /home/pi/mycsv.csv).
Con Universal mode (listen to all Group Addresses) il nodo diventa I/O universale, consapevole di Datapoint, GA e nomi dispositivi. Invia un payload al nodo e lui codifica col DPT corretto; viceversa, decodifica i telegrammi in arrivo usando il DPT dell’ETS.
Da v1.1.11 puoi usare la modalità universale anche senza file ETS: invia al nodo un messaggio con tipo DPT e valore. Alla ricezione da BUS, il nodo emette anche il RAW e prova a decodificare senza DPT.
Nota: il file CSV contiene DPT precisi con sottotipo; l’ESF è più semplice e non include il sottotipo. Se puoi, preferisci il CSV: l’ESF può generare valori errati; controlla e correggi eventuali DPT dopo l’import. Da v1.4.1 è possibile importare anche a runtime via msg (nodo WatchDog).
- Import ETS CSV Group Addresses ** ATTENZIONE: nel nome del GA non devono esserci caratteri di tabulazione.If Group Address has no Datapoint ** > Se in ETS un GA non ha DPT, puoi: interrompere l’import, saltare il GA, oppure aggiungere il GA con DPT fittizio e continuare.Come esportare l’elenco GA in formato CSV da ETS
In ETS seleziona l’elenco GA, click destro → Esporta indirizzi di gruppo. Nella finestra di export imposta:
Output Format: CSV
CSV Format: 1/1 Name/Address
Export with header line: spuntato
CSV Separator: Tabulator
Poi incolla qui il contenuto del file.
Il file deve contenere i Datapoint per ogni GA. Il nodo analizza il file e mostra risultati nel DEBUG di Node-RED.
Esiti possibili: ERROR ** (manca DPT → import interrotto) eWARNING** (manca sottotipo → aggiunto default, ma va verificato). Il sottotipo è il numero dopo il punto, es.
5.001.
I campi devono essere racchiusi tra virgolette
".
Come esportare l’elenco GA in formato ESF da ETS
In ETS seleziona il progetto, icona export (freccia in su), scegli formato ESF (non
.knxprod). Copia e incolla nel campo “ETS group address list” del gateway.
<table style="font-size:12px">
<tr><th colspan="2" style="font-size:14px">Significato colori stato nodo</th></tr>
<tr><td><img src="https://raw.githubusercontent.com/Supergiovane/node-red-contrib-knx-ultimate/master/img/greendot.png"></td><td>Reagisci a telegrammi di scrittura</td></tr>
<tr><td><img src="https://raw.githubusercontent.com/Supergiovane/node-red-contrib-knx-ultimate/master/img/greenring.png"></td><td>Protezione da riferimenti circolari (<a href="https://supergiovane.github.io/node-red-contrib-knx-ultimate/wiki/Protections" target="_blank">vedi pagina</a>)</td></tr>
<tr><td><img src="https://raw.githubusercontent.com/Supergiovane/node-red-contrib-knx-ultimate/master/img/bluedot.png"></td><td>Reagisci a telegrammi di risposta</td></tr>
<tr><td><img src="https://raw.githubusercontent.com/Supergiovane/node-red-contrib-knx-ultimate/master/img/bluering.png"></td><td>Invio automatico del valore del nodo come risposta al BUS (<a href="https://supergiovane.github.io/node-red-contrib-knx-ultimate/wiki/-Sample---Virtual-Device" target="_blank">Virtual Device</a>)</td></tr>
<tr><td><img src="https://raw.githubusercontent.com/Supergiovane/node-red-contrib-knx-ultimate/master/img/greudot.png"></td><td>Reagisci a telegrammi di lettura</td></tr>
<tr><td><img src="https://raw.githubusercontent.com/Supergiovane/node-red-contrib-knx-ultimate/master/img/greyring.png"></td><td>Filtro RBE: nessun telegramma è stato inviato</td></tr>
<tr><td><img src="https://raw.githubusercontent.com/Supergiovane/node-red-contrib-knx-ultimate/master/img/reddot.png"></td><td>Errore o disconnesso</td></tr>
<tr><td><img src="https://raw.githubusercontent.com/Supergiovane/node-red-contrib-knx-ultimate/master/img/redring.png"></td><td>Nodo DISABILITATO per riferimento circolare (<a href="https://supergiovane.github.io/node-red-contrib-knx-ultimate/wiki/Protections" target="_blank">vedi pagina</a>)</td></tr>
</table>
Using KNX Ultimate with kBerry on Raspberry Pi 3 (UART / FT1.2)
This guide explains how to connect a kBerry KNX interface directly
to a Raspberry Pi 3 and use it with KNX Ultimate over the
hardware UART (ttyAMA0) using the FT1.2 (TPUART) protocol.
This procedure was tested with Raspberry Pi OS Bookworm on a
Raspberry Pi 3 (November 25, 2025).
1. Prerequisites
- Raspberry Pi 3 (Model B or B+)
- Raspberry Pi OS (Bookworm recommended)
- kBerry KNX interface mounted on the GPIO header
- Node-RED with KNX Ultimate installed
- Basic terminal access (SSH or local console)
2. Wiring / Hardware Overview
The kBerry uses the Raspberry Pi’s primary UART:
- TX / RX: GPIO14 (TXD) and GPIO15 (RXD)
- GND: Common ground between Raspberry Pi and kBerry
- Power: Provided via the GPIO header
Make sure the kBerry is properly seated on the Raspberry Pi GPIO header and that no other HAT is conflicting with those pins.
3. Disable Bluetooth and Enable the Hardware UART
3.1 Edit the correct config file (Bookworm)
sudo nano /boot/firmware/config.txt
Add (or ensure you have):
enable_uart=1
dtoverlay=pi3-disable-bt
3.2 Disable ModemManager (if present)
sudo systemctl disable --now ModemManager
3.3 Disable Bluetooth service
sudo systemctl disable --now bluetooth.service
4. Disable Serial Login Console / Enable Hardware UART
Start the configuration tool:
sudo raspi-config
Then navigate through the menus:
- Interface Options (or Interfacing Options on older systems)
- Serial Port
You will see two questions:
- “Login shell to be accessible over serial?” → choose No
- “Enable serial port hardware?” → choose Yes
Finish and exit raspi-config, then reboot when asked (or manually later).
5. Verify UART
ls -l /dev/serial0
ls -l /dev/ttyAMA0
dmesg | grep tty
Expected:
/dev/serial0 -> ttyAMA0
/dev/ttyAMA0 exists
6. Add Node-RED user to dialout
Linux uses the dialout group to grant access to serial ports
like /dev/ttyAMA0 or /dev/ttyUSB0.
The user that runs Node-RED must belong to this group, otherwise
KNX Ultimate cannot open the serial port.
If you installed Node-RED with the official script, the service user is
usually nodered. On some systems it may be pi or another user; adapt
the commands accordingly.
Check the current groups:
id nodered # or: id pi
Add the user to the dialout group:
sudo usermod -aG dialout nodered
After changing group membership, log out and log in again for that user, or simply reboot:
sudo reboot
This step is only needed when you use a serial gateway; pure KNX/IP
setups do not require dialout.
7. Configure KNX Ultimate
In the KNX Ultimate gateway node:
- Interface type: Serial FT1.2 / TPUART
- Serial port:
/dev/ttyAMA0 - Baud rate: 19200
- Data bits: 8
- Parity: Even
- Stop bits: 1
8. Troubleshooting
No /dev/ttyAMA0
- Check
/boot/firmware/config.txtentries - Reboot
- Re-check
dmesg
/dev/serial0 → ttyS0
dtoverlay=pi3-disable-btnot applied- Re-check config file path
- Reboot
Serial cannot be opened
- Ensure the Node-RED user is in
dialout(id nodered) - Check that no other program is using
/dev/ttyAMA0 - Verify that the KNX Ultimate gateway node is configured for
/dev/ttyAMA0
Done.
