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.
112 lines (82 loc) • 9.75 kB
HTML
<script type="text/markdown" data-help-name="knxUltimate-config">
# KNX Gateway Konfiguration
Dieser Node stellt die Verbindung zu deinem KNX/IP-Gateway her.
**Allgemein**
|Eigenschaft|Beschreibung|
|--|--|
| Name | Name des Nodes. |
| Gateway | Gib die KNX/IP-Adresse bzw. den Hostnamen oder einen seriellen Pfad (z. B. `/dev/ttyUSB0`) ein. Im Dropdown erscheinen automatisch erkannte KNX/IP-Gateways sowie FT1.2-Seriellports; beim Auswählen eines Serials wird das Protokoll auf Serial FT1.2 gesetzt und die UART-Defaults werden übernommen. |
<br/>
**Konfiguration**
|Eigenschaft|Beschreibung|
|--|--|
| Gateway-Port | Verbindungsport. Standard: `3671`. Für Serial FT1.2 nicht verwendet. |
| Verbindungsprotokoll | `Tunnel UDP` für KNX/IP-Interfaces, `Multicast UDP` für KNX/IP-Router, `Serial FT1.2` für TP/FT1.2-Adapter (wird automatisch gewählt, wenn du einen Serialport auswählst). **Auto** versucht, das passende Protokoll zu ermitteln. |
| Serial FT1.2 Modus | Legt fest, wie die FT1.2-Schnittstelle initialisiert wird: **KBerry/BAOS** aktiviert die spezielle Initialisierung für Weinzierl KBerry/BAOS-Module (Reset, BAOS-Link-Layer-Modus, keine GA-Filter), während **Standard FT1.2** einen generischen FT1.2-Adapter ohne KBerry-spezifische Schritte verwendet. Standard ist KBerry/BAOS. |
| KNX-Adresse | Physikalische KNX-Adresse, z. B. `1.1.200`. Standard: `15.15.22`. |
| An lokale Netzwerk-Schnittstelle binden | Lokales Netzwerk-Interface für die Kommunikation. "Auto" wählt automatisch. Bei mehreren Interfaces (Ethernet/WLAN) ist eine manuelle Auswahl empfehlenswert, damit keine UDP-Telegramme verloren gehen. |
| Beim Start automatisch mit dem KNX BUS verbinden | Automatisch beim Start verbinden. Standard: "Yes". |
| Quelle für Secure-Zugangsdaten | Bestimme, wie KNX Secure Daten bereitgestellt werden: **ETS-Keyring-Datei ** (Data-Secure-Schlüssel und ggf. Tunneling-Zugangsdaten stammen aus dem Keyring),**Manuelle Zugangsdaten ** (nur KNX IP Tunnelling Secure mit manuell eingetragenem Benutzer) oder**Keyring + manuelles Tunnel-Passwort** (Data-Secure-Schlüssel aus dem Keyring, Tunnel-Benutzer/-Passwort manuell). Wichtig: KNX Data Secure Telegramme benötigen immer eine Keyring-Datei. |
| Individuelle Adresse der Tunnel-Schnittstelle | Sichtbar, sobald die Option manuelle Zugangsdaten umfasst (Manuelle Zugangsdaten oder Keyring + manuelles Tunnel-Passwort). Optionale KNX-Individualadresse der sicheren Tunnel-Schnittstelle (z. B. `1.1.1`); leer lassen, damit KNX Ultimate automatisch verhandelt. |
| Tunnel-Benutzer-ID | Sichtbar bei manuellen Zugangsdaten. Optionale Kennung des KNX Secure Tunnel-Benutzers aus ETS. |
| Tunnel-Benutzerpasswort | Sichtbar bei manuellen Zugangsdaten. Passwort des KNX Secure Tunnel-Benutzers aus ETS. |
> **KNX Secure im Überblick** \
> • _KNX Data Secure_ schützt Gruppenadress-Telegramme und benötigt immer eine Keyring-Datei mit den Gruppenschlüsseln.\
> • _KNX IP Tunnelling Secure_ schützt den Verbindungsaufbau mittels Commissioning-Passwort. Je nach Modus stammt dieses aus dem Keyring oder wird manuell eingetragen.\
> • KNX/IP Secure (Tunnel-Handshake) gilt nur für IP-Transporte (Tunnel TCP / sicheres Routing). KNX Data Secure schützt Gruppenadress-Telegramme und kann sowohl über IP (Tunneling/Routing) als auch über TP via Serial FT1.2 verwendet werden, sofern ein ETS-Keyring vorhanden ist.
<br/>
**Erweitert**
|Eigenschaft|Beschreibung|
|--|--|
| Suppress repeated (R-Flag) telegrams fom BUS | Wiederholte BUS-Telegramme (R-Flag) ignorieren. |
| Suppress ACK request in tunneling mode | Für sehr alte KNX/IP-Gateways: ACK ignorieren, alle Telegramme akzeptieren. |
| Flow-Bubbles-Plugin aktivieren | Zeigt im Editor neben jedem KNX Device Node eine kleine farbige Bubble an. Die Bubble spiegelt den zuletzt vom Gateway empfangenen Live-Status wider und wird abgeblendet, wenn die Daten veraltet sind. Nützlich bei Inbetriebnahme und Debugging. Standard: deaktiviert. |
| Delay between each telegram (ms) | KNX erlaubt max. 50 Telegramme/s. 25-50 ms sind üblich; bei langsamen Verbindungen höher (z. B. 200-500 ms). |
| Loglevel | Log-Detailgrad. Standard: "Error". |
| Aktualisierung der Status-Badges | Legt fest, wie oft die Statusanzeige der Nodes erneuert wird. Mit einer Verzögerung werden Zwischenstände verworfen und nur der letzte Wert nach dem gewählten Intervall angezeigt. Wählen Sie **Sofort**, um das bisherige Echtzeitverhalten beizubehalten. |
| Status Datum/Uhrzeit-Format | Legt fest, wie Datum/Uhrzeit im Status-Badge angezeigt werden (nützlich, wenn das OS-Locale nicht konfigurierbar ist). |
| Benutzerdefiniertes Format | Wird verwendet, wenn **Benutzerdefiniert (Tokens)** gewählt ist. Tokens: `YYYY`, `YY`, `MMM`, `MM`, `DD`, `HH`, `mm`, `ss`, `A`, `a`, `Z`. Verwenden Sie `[Text]` für Literale. |
| Locale überschreiben | Optionales Locale (BCP47), z. B. `de-DE` oder `en-GB`. Für Monatsnamen (`MMM`) bei benutzerdefiniertem Format. |
<br/>
**ETS-Import**
|Eigenschaft|Beschreibung|
|--|--|
| If Group Address has no Datapoint | Wenn eine GA keinen DPT hat: Import abbrechen, GA überspringen oder GA mit Platzhalter-DPT `1.001` übernehmen. |
| ETS group address list | Inhalt der ETS-Datei (CSV/ESF) einfügen oder Dateipfad angeben (z. B. `/home/pi/mycsv.csv`). Siehe Hilfelinks. |
<br/>
**Werkzeuge**
|Eigenschaft|Beschreibung|
|--|--|
| Gather debug info for troubleshoot | Button klicken und Ausgabe an ein GitHub-Issue anhängen. |
| Get all used GA for KNX routing filter | Mit READ eine Textliste aller in Flows verwendeten GAs für dieses Gateway holen - zum Befüllen der Filtertabelle deines KNX/IP-Routers. |
<br/>
# Arbeit mit ETS-CSV oder ESF
Statt für jede GA einen Node anzulegen, importiere die ETS-Gruppenadressen als CSV (empfohlen) oder ESF (ab v1.1.35, z. B. bei ETS Inside). Unterstützt ab ETS 4.
Seit v1.4.18 kann der Dateipfad direkt eingetragen werden (z. B. `/home/pi/mycsv.csv`).
Mit **Universal mode (listen to all Group Addresses)** wird der Node zu einem universellen I/O-Node, der DPTs, GAs und Gerätenamen kennt. Eingehende Payloads werden mit passendem DPT kodiert; BUS-Telegramme werden anhand des ETS-DPT dekodiert.
Seit v1.1.11 ist der Universal-Modus auch ohne ETS möglich: DPT und Wert per Nachricht übergeben. Bei BUS-Eingang wird zusätzlich der RAW-Wert ausgegeben und nach Möglichkeit ohne DPT dekodiert.
Hinweis: CSV enthält genaue DPTs inkl. Subtyp; ESF hat keinen Subtyp. Bevorzuge CSV, da ESF zu falschen Werten führen kann. Nach ESF-Import DPTs prüfen/anpassen. Ab v1.4.1 ist Import auch zur Laufzeit per WatchDog möglich.
Video: <a href="https://youtu.be/egRbR_KwP9I"><img src='https://raw.githubusercontent.com/Supergiovane/node-red-contrib-knx-ultimate/master/img/yt.png'></a>
- **ETS-CSV Gruppenadressen importieren ** Achtung: Im GA-Namen dürfen keine Tabulator-Zeichen vorkommen.**If Group Address has no Datapoint ** > Ohne DPT in ETS: Import abbrechen, GA überspringen oder mit Platzhalter-DPT fortfahren.**CSV-Export in ETS**
> In ETS Gruppenadressenliste wählen → Rechtsklick → Exportieren. Optionen:<br/>
> Output Format: CSV<br/>
> CSV Format: 1/1 Name/Address<br/>
> Export with header line: aktiv<br/>
> CSV Separator: Tabulator<br/>
> Dann den Dateitext hier einfügen. Datei muss pro GA einen DPT enthalten. Ergebnisse erscheinen in Node-RED DEBUG.
> Ergebnisse: **ERROR ** (DPT fehlt → Import stoppt) oder**WARNING ** (Subtyp fehlt → Default wird ergänzt, bitte prüfen). Subtyp ist die Zahl rechts vom Punkt, z. B. `5.001`.**ESF-Export in ETS**
> Projekt wählen → Export-Symbol (Pfeil nach oben) → ESF wählen (nicht `.knxprod`) → Inhalt im Feld "ETS group address list" einfügen.
<p>
<table style="font-size:12px">
<tr><th colspan="2" style="font-size:14px">Statusfarben des Nodes</th></tr>
<tr><td><img src="https://raw.githubusercontent.com/Supergiovane/node-red-contrib-knx-ultimate/master/img/greendot.png"></td><td>Auf Write-Telegramme reagieren</td></tr>
<tr><td><img src="https://raw.githubusercontent.com/Supergiovane/node-red-contrib-knx-ultimate/master/img/greenring.png"></td><td>Schutz gegen zyklische Referenzen (<a href="https://supergiovane.github.io/node-red-contrib-knx-ultimate/wiki/Protections" target="_blank">siehe Seite</a>)</td></tr>
<tr><td><img src="https://raw.githubusercontent.com/Supergiovane/node-red-contrib-knx-ultimate/master/img/bluedot.png"></td><td>Auf Response-Telegramme reagieren</td></tr>
<tr><td><img src="https://raw.githubusercontent.com/Supergiovane/node-red-contrib-knx-ultimate/master/img/bluering.png"></td><td>Node-Wert automatisch als Response senden (<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>Auf Read-Telegramme reagieren</td></tr>
<tr><td><img src="https://raw.githubusercontent.com/Supergiovane/node-red-contrib-knx-ultimate/master/img/greyring.png"></td><td>RBE-Filter: Kein Telegramm gesendet</td></tr>
<tr><td><img src="https://raw.githubusercontent.com/Supergiovane/node-red-contrib-knx-ultimate/master/img/reddot.png"></td><td>Fehler oder getrennt</td></tr>
<tr><td><img src="https://raw.githubusercontent.com/Supergiovane/node-red-contrib-knx-ultimate/master/img/redring.png"></td><td>Node deaktiviert wegen zyklischer Referenz (<a href="https://supergiovane.github.io/node-red-contrib-knx-ultimate/wiki/Protections" target="_blank">siehe Seite</a>)</td></tr>
</table>
</p>
</script>