Seite 1 von 1

RaspberryPi4 + Openhab3 + KNX (KNXD)

Verfasst: 25. Okt 2022 17:51
von julian
Ich habe openhab3 auch einem r4 aufgesetzt und möchte damit zu knx kommunizieren. Dazu habe ich KNXD gemäß Doku (https://sarwiki.informatik.hu-berlin.de/KNXD_Tutorial) aufgesetzt und habe eine erfolgreich laufende Instanz:

Code: Alles auswählen

/etc/init.d/knxd status
● knxd.service - KNX Daemon
     Loaded: loaded (/lib/systemd/system/knxd.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2022-10-24 14:32:59 CEST; 1 day 3h ago
TriggeredBy: ● knxd.socket
   Main PID: 1701 (knxd)
      Tasks: 1 (limit: 4915)
        CPU: 1.232s
     CGroup: /system.slice/knxd.service
             └─1701 /usr/bin/knxd -e 0.0.1 -E 0.0.2:8 -u /tmp/eib -b ip:

Oct 24 14:32:59 openhabian3 systemd[1]: Starting KNX Daemon...
Oct 24 14:32:59 openhabian3 systemd[1]: Started KNX Daemon.
im things dir habe ich ein file für knx angelegt und dort eine Bridge gemäß der Doku (https://www.openhab.org/addons/bindings/knx/) definiert:

Code: Alles auswählen

Bridge knx:ip:bridge [  
    type="ROUTER", 
    ipAddress="224.0.23.12",
    localIp="192.168.178.113",
    readingPause=50, 
    responseTimeout=10, 
    readRetriesLimit=3, 
    autoReconnectPeriod=60,
    localSourceAddr="0.0.0"
]
In der Weboberfläche von OH3 wird mir die KNX Bridge als Online deklariert.
In dem things file habe ich noch diverse Objekte des KNX Bus definiert (übertragen aus den Daten einer OH2 Instanz), diese werden mir in der OH3 Oberfläche auch als Online deklariert. Jedoch kann ich weder Daten vom Bus lesen, noch Daten auf den Bus schreiben - der Log gibt keine Meldung darüber.

Weiß jemand wo das Problem liegt und wie man es lösen kann?

Re: RaspberryPi4 + Openhab3 + KNX (KNXD)

Verfasst: 25. Okt 2022 18:54
von udo1toni
Wie kommuniziert denn knxd mit dem Bus? Für mich sieht die laufende knxd Instanz nicht vollständig konfiguriert aus (-b ip: und dann nix mehr)
Die von Dir verlinkte Anleitung scheint mir auch mehr als nur unvollständig, ich möchte bezweifeln, dass man damit überhaupt knxd korrekt in Betrieb bringen kann :)

Aber noch mal einen Schritt zurück... Wie hast du den Pi4 aufgesetzt? Gewöhnlich wäre es das openHABian Image, mit dem man openHAB aufsetzt. openHABian hat auch eine Option, um knxd einzurichten, und auch wenn ich das selbst nicht nutze, weil ich ohnehin ein knx/IP Tunnel Interface habe, gehe ich stark davon aus, dass dort zumindest die Grundlage für ein sauber laufendes knxd geschaffen wird, so dass man nur noch das Interface in knxd.conf eintragen und den Dienst neu starten muss.

Wenn Du schon knxd nutzt, kannst Du auch bequem zunächst prüfen, ob die Kommunikation mit dem Bus funktioniert, mittels groupswrite eine GA Deiner Wahl setzen, also z.B. eine Lampe ein- oder ausschalten reicht, um zu 100% sicher zu sein, dass die Kommunikation knx-Bus<->knxd gewährleistete ist.

Der Status ONLINE bei der knx Bridge in openHAB ist leider im Router Betrieb nicht zuverlässig. Router Betrieb bedeutet ja, dass die Kommunikation über Multicast läuft, und dort kann openHAB gar keine qualifizierte Aussage darüber treffen, ob die Gegenstelle erreichbar ist oder nicht.
Anders sieht es im Tunnel Mode aus, dort gibt es im Unicast eine dedizierte Gegenstelle die jedes TCP Paket bestätigen muss.

Die Things orientieren sich mit ihrem Status an der Bridge, über die sie mit dem Bus gekoppelt sind.

Re: RaspberryPi4 + Openhab3 + KNX (KNXD)

Verfasst: 25. Okt 2022 19:40
von julian
udo1toni hat geschrieben: 25. Okt 2022 18:54 Wie kommuniziert denn knxd mit dem Bus? Für mich sieht die laufende knxd Instanz nicht vollständig konfiguriert aus (-b ip: und dann nix mehr)
Die von Dir verlinkte Anleitung scheint mir auch mehr als nur unvollständig, ich möchte bezweifeln, dass man damit überhaupt knxd korrekt in Betrieb bringen kann :)
Am Pi4 hängt ein Weinzierl Engineering GmbH KNX-USB Stick 330.
udo1toni hat geschrieben: 25. Okt 2022 18:54Aber noch mal einen Schritt zurück... Wie hast du den Pi4 aufgesetzt? Gewöhnlich wäre es das openHABian Image, mit dem man openHAB aufsetzt. openHABian hat auch eine Option, um knxd einzurichten, und auch wenn ich das selbst nicht nutze, weil ich ohnehin ein knx/IP Tunnel Interface habe, gehe ich stark davon aus, dass dort zumindest die Grundlage für ein sauber laufendes knxd geschaffen wird, so dass man nur noch das Interface in knxd.conf eintragen und den Dienst neu starten muss.
Ich habe das openHABian Image aufgesetzt, konnte aber keine Dokumentation zum aufsetzen von knxd finden. Wo finde ich eine hinreichende Dokumentation?
udo1toni hat geschrieben: 25. Okt 2022 18:54Wenn Du schon knxd nutzt, kannst Du auch bequem zunächst prüfen, ob die Kommunikation mit dem Bus funktioniert, mittels groupswrite eine GA Deiner Wahl setzen, also z.B. eine Lampe ein- oder ausschalten reicht, um zu 100% sicher zu sein, dass die Kommunikation knx-Bus<->knxd gewährleistete ist.
Wie ich gerade herausgefunden habe klappt die Verbindung von knxd zum Bus nicht.

Re: RaspberryPi4 + Openhab3 + KNX (KNXD)

Verfasst: 25. Okt 2022 19:55
von udo1toni
knxd richtest Du einfach über openhabian-config ein (ähhh... optional Components?) In der offiziellen Doku findet sich unter den optional Components ein Link mit Informationen zu knxd: http://michlstechblog.info/blog/raspber ... with-knxd/
Die größte Herausforderung dabei ist, die korrekten benötigten Parameter für den Aufruf von knxd zu finden und in /etc/default/knxd einzutragen.

Re: RaspberryPi4 + Openhab3 + KNX (KNXD)

Verfasst: 27. Okt 2022 18:17
von julian
Ich bin ein Stück weiter gekommen, kann mit der Dokumentation aber nicht allzuviel anfangen.

Ich habe den Stick am R4 hängen:

Code: Alles auswählen

lsusb 
Bus 001 Device 003: ID 0e77:0104 Weinzierl Engineering GmbH KNX-USB Stick 330
Weiß aber nicht wie ich knxd konfigurieren muss, insbesondere was bei tpuarts erwartet wird.

Währendessen ist die Ausgabe von findknxusb leer:

Code: Alles auswählen

findknxusb 
Possible addresses for KNX USB devices:

Re: RaspberryPi4 + Openhab3 + KNX (KNXD)

Verfasst: 27. Okt 2022 19:50
von udo1toni
Du brauchst eine udev Rule, die dafür sorgt, dass exakt dieser Stick (ID 0e77:0104) immer als Gerät mit einer bestimmten Bezeichnung angelegt wird.

Schau mal hier: https://community.openhab.org/t/setting ... ules/97381 das ist das konkret beschrieben. Die Attribute sind natürlich bei Deinem Stick andere. Wie Du die Schnittstelle nennst, ist "egal", der Name sollte nicht mit einem anderen Gerät kollidieren und am besten sprechend sein. /dev/ttyUSB0 wäre ein typisches Beispiel. Die udev Rule sorgt dann beim Anstecken des Sticks dafür, dass ein entsprechender Link erzeugt wird, so dass Du in /etc/default/knxd einfach nur /dev/ttyUSB0 als tpuart angeben musst.

Re: RaspberryPi4 + Openhab3 + KNX (KNXD)

Verfasst: 27. Okt 2022 21:51
von julian
Ich habe jetzt den Stick auf ttyKNXUSB gesetzt und habe in der knxd.conf

Code: Alles auswählen

KNXD_OPTS="-e 0.0.1 -E 0.0.2:8 -u /tmp/eib -d -D -T -R -S -i --listen-local=/tmp/knx -b tpuarts:/dev/ttyKNXUSB"
Das führt zu

Code: Alles auswählen

$ journalctl -u knxd --since "10 min ago"
-- Journal begins at Thu 2022-10-27 21:35:08 CEST, ends at Thu 2022-10-27 21:43:23 CEST. --
Oct 27 21:42:55 openhabian3 systemd[1]: Starting LSB: <Enter a short description of the software>...
Oct 27 21:42:55 openhabian3 systemd[1]: Started LSB: <Enter a short description of the software>.
Oct 27 21:42:55 openhabian3 knxd[807]: E00000084: [ 1:main] There is no KNX addr= in section 'main'.
Oct 27 21:42:55 openhabian3 knxd[807]: F00000109: [ 1:main] Error setting up the KNX router.
Alternativ habe ich mich hieran (https://knx-user-forum.de/forum/projekt ... xd-und-usb) orientiert und habe in der knxd.conf

Code: Alles auswählen

KNXD_OPTS="-e 0.0.100 -E 0.0.101:7 -D -T -R -S -i 6720 -b usb:1:4:1:0"
Was zum gleichen Ergebnis führt. Hier weiß ich nun nicht mehr weiter,