Hallo zusammen,
ich habe mir durch die verschiedenen Quellen eine Konfigurationsdatei für Version 0.14 zusammengestellt.
Meine Umgebung:
Mein Ziel:
Die Beobachtung mit der o.g. Config
ich habe mir durch die verschiedenen Quellen eine Konfigurationsdatei für Version 0.14 zusammengestellt.
- Ist meine Interpretation, was die Konfiguration tun soll, plausibel und korrekt?
- Hat jemand eine Idee, warum meine Beobachtung auftreten?
- Wenn die Konfiguration korrekt ist, dann hilft sie vielleicht auch anderen mit einem ähnlichen Setup.
Code:
[main] addr = 0.0.10 debug = M.debug client-addrs=0.0.11:6 cache = M.cache connections = A.tcp,B.ipt,C.etsIPR background = false [M.debug] error-level = 0x9 trace-mask = 0x0 [M.cache] max-size=2000 [A.tcp] server = knxd_tcp port = 6720 [B.ipt] driver = ipt filters = F.pace ip-address = {IP des KNXIP-Interface im Techniknetz} [C.etsIPR] server = ets_router tunnel = tunnel router = router discover = true name = KNXD_Nathan [F.pace] filter = pace delay = 30
- Enertex KNX-IP-Interface, direkt an der einen TP-Linie
- Synology DS 415+ mit zwei LANs (LAN 1: Hausnetz mit Internet, LAN 2: Techniknetz)
- knxd läuft im Docker Container auf dem NAS, Dockerfile: foxi352/knxd Version 0.14 (Netzwerkkonfig: Host, also quasi direkter Durchgriff)
- SmarthomeNG läuft auch im Docker Container auf dem NAS (Netzwerkkonfig: Host, also quasi direkter Durchgriff)
- TP-Link SG1016DE / UniFi US-8-60W / UniFi UAP-AC-Lite
- ETS 5.6.6 Build 1190
Mein Ziel:
- SmarthomeNG kommuniziert über knxd mit dem Bus
- Ich kann über mein Hausnetz (via WLAN) per ETS die Geräte konfigurieren/programmieren
- Durch wechseln der Konfiguration (durch Wechsel des gestarteten Containers) kann ich das Routing ins Hausnetz aktivieren oder deaktivieren. Das ist Ausbaustufe 2.
- main definiert:
- Die Adresse des knxd ist 0.0.10
- Log-Einstellungen sind in der Sektion M.debug gesetzt
- Clients bekommen 0.0.11 - 0.0.16
- Zustände sollen für die Visu zwischengespeichert werden, Details in der Sektion M.cache
- Kommunikation soll zwischen Treibern und Servern passieren: A.tcp, B.ipt, C.etsIPR, deren Details in den jeweiligen Sektionen hinterlegt sind
- Der Hauptprozess soll nicht in den Hintergrund forken, Folge, da im Dockercontainer: Ausgaben laufen auf stdout und können im Log zum Container abgerufen werden
- M.debug definiert:
- Error-Level ist mäßig, nur Warnungen dürfen ausgegeben werden
- Ein Tracing der Daten findet nicht statt. (Ja, klar, wenn man mehr details sehen will, muss das höher werden)
- M.cache definiert:
- Die Menge der zwischengespeicherten Gruppenadresswerte ist auf 2000 begrenzt (unnötige Begrenzung bei nur 700 GAs in meiner Anlage, aber die Sektion ist da)
- A.tcp
- Das lokale Interface zu Anwendungen, die das eibd/knxd-Protokoll verwenden,
- lauscht auf Port 6720
- B.ipt
- Es steht ein IP-Tunneling Interface zur Kommunikation vom KNXD zum TP-Bus zur Verfügung
- Der Filter begrenzt nach den Regeln in der Sektion F.pace
- Die IP-Adresse ist die Adresse der IP-Interface Hardware am Bus
- C.etsIPR
- Es gibt einen Server, der wie ein Router für ETS arbeitet
- Dieser stellt einen Tunnel-Endpunkt bereit (keine Einstellung des Port, daher Standard 3671)
- Weiters wird ein Multicast-Router Endpunkt bereitgestellt (keine Einstellung daher 224.0.23.12:3671)
- KNXD reagiert auf Discovery-Anfragen der ETS und anderen Routern und stellt seine Informationen bereit
- Der Name ist KNXD_Nathan
- F.pace
- F.pace definiert einen Geschwindigkeitsfilter "pace"
- Nach der Übertragung eines Pakets wird 30 Millisekunden gewartet, bis das nächste Paket gesendet wird
Die Beobachtung mit der o.g. Config
- SmarthomeNG (Verbindung via A.tcp) bekommt alles mit und kann ändern (so wie es soll)
- ETS Gruppenmonitor funktioniert bei Verbindung auf den Tunnel ("KNXD_Nathan" / C.etsIPR)
- ETS Gruppenmonitor zeigt Verbindung an, kann Werte zum Bus übermitteln, bekommt aber keine Telegramme mit
- Die ETS kann nicht programmieren, egal ob via Multicast oder via Tunnel. Meldung in beiden Fällen "Das Gerät antwortet nicht in angemessener Zeit".
Kommentar