Hi zusammen,
ich bin mir nicht sicher, ob der Thread besser hier oder im KNX-Forum aufgehoben ist.
Bin derzeit nämlich am austüfteln, wie ich meine REED-Fensterkontakte am besten in ETS bzw. in Gruppenadressen verfügbar mache.
Ist-Situation
Die Fensterkontakte sind an den Fensterkontaktmeldern vom TH Blog Shop angeschlossen und diese basieren auf dem DS2411.
1-Wire nutzt den Beaglebone Black mit IBB Cape als Schnittstelle, auf dem Beaglebone sind auch SmartHome NG mit dem owfs-Plugin installiert.
Hier die Versionen (ich weiß, dass die veraltet sind, ich scheue aber noch ein Update wg. "Never touch a running system"):
1.png
2.png
Die Fensterkontakte werden damit im owfs Webinterface directory aufgelistet. Das sieht so aus:
3.png
Die Fensterkontakte haben den Family Code 01, die komplette ID sieht also z. B. so aus: 01.71CDDB180000
Von der Funktionsweise läuft das so ab:
Hier bin ich allerdings schon ein bisschen ins Straucheln gekommen, da ich nicht wusste, welcher Wert für ow_sensor der korrekte wäre. Habe mich dann anhand der Beispiele von onewire — Anwenderdokumentation v1.9.2 v1.9.2 (Stand 2. Mai 2022) Dokumentation (smarthomeng.de) für einen iButton entschieden, da dieser ebenfalls den Family Code 01 nutzt.
Damit sind die Fensterkontakte schonmal unter den angegebenen Gruppenadressen verfügbar (z. B. 8/3/0). In ETS sieht das so aus:
4.png
Probleme
1) Datentyp
Den Gruppenadressen habe ich in ETS den Datentyp Fenster/Tür zugeordnet, der ist allerdings invertiert zum korrekten Wert.
Wenn der Wert Wahr ist, sollte er in ETS als closed angezeigt werden. Wahr wird allerdings als open angezeigt.
Wie kann ich das ändern?
2) Aktualisierungsintervall
Die Werte werden von SmartHome NG bzw. owfs anscheinend nur zyklisch an die Gruppenadressen gesendet, also unabhängig von einer Änderung des Werts. Das sieht im Gruppenmonitor dann so aus:
5.png
Das heißt, wenn ich ein Fenster öffne, dann wird der Wert erst nach einem vollständigen Zyklus (dauert mehr als drei Minuten) in ETS aktualisiert, sodass ich damit keine spontanen Reaktionen, wie z. B. das Hochfahren des Rollladens auslösen kann.
Wie lässt sich das anpassen?
Vielen Dank schon mal für eure Hilfe!
ich bin mir nicht sicher, ob der Thread besser hier oder im KNX-Forum aufgehoben ist.
Bin derzeit nämlich am austüfteln, wie ich meine REED-Fensterkontakte am besten in ETS bzw. in Gruppenadressen verfügbar mache.
Ist-Situation
Die Fensterkontakte sind an den Fensterkontaktmeldern vom TH Blog Shop angeschlossen und diese basieren auf dem DS2411.
1-Wire nutzt den Beaglebone Black mit IBB Cape als Schnittstelle, auf dem Beaglebone sind auch SmartHome NG mit dem owfs-Plugin installiert.
Hier die Versionen (ich weiß, dass die veraltet sind, ich scheue aber noch ein Update wg. "Never touch a running system"):
1.png
2.png
Die Fensterkontakte werden damit im owfs Webinterface directory aufgelistet. Das sieht so aus:
3.png
Die Fensterkontakte haben den Family Code 01, die komplette ID sieht also z. B. so aus: 01.71CDDB180000
Von der Funktionsweise läuft das so ab:
- Wenn das Fenster geschlossen und verriegelt ist, wird der Sensor im owfs directory angezeigt.
- Wenn das Fenster entriegelt und gekippt bzw. geöffnet ist, wird der Sensor nicht mehr im owfs directory angezeigt.
Code:
fensterkontakte: ug: u1_fitnessraum: u1_bk10: enforce_updates: true type: bool cache: true knx_dpt: 1 knx_send: 8/3/0 knx_reply: 8/3/0 ow_addr: '01.71CDDB180000' ow_sensor: B u1_bk9: enforce_updates: true type: bool cache: true knx_dpt: 1 knx_send: 8/3/1 knx_reply: 8/3/1 ow_addr: '01.3C52F0180000' ow_sensor: B
Damit sind die Fensterkontakte schonmal unter den angegebenen Gruppenadressen verfügbar (z. B. 8/3/0). In ETS sieht das so aus:
4.png
Probleme
1) Datentyp
Den Gruppenadressen habe ich in ETS den Datentyp Fenster/Tür zugeordnet, der ist allerdings invertiert zum korrekten Wert.
Wenn der Wert Wahr ist, sollte er in ETS als closed angezeigt werden. Wahr wird allerdings als open angezeigt.
Wie kann ich das ändern?
2) Aktualisierungsintervall
Die Werte werden von SmartHome NG bzw. owfs anscheinend nur zyklisch an die Gruppenadressen gesendet, also unabhängig von einer Änderung des Werts. Das sieht im Gruppenmonitor dann so aus:
5.png
Das heißt, wenn ich ein Fenster öffne, dann wird der Wert erst nach einem vollständigen Zyklus (dauert mehr als drei Minuten) in ETS aktualisiert, sodass ich damit keine spontanen Reaktionen, wie z. B. das Hochfahren des Rollladens auslösen kann.
Wie lässt sich das anpassen?
Vielen Dank schon mal für eure Hilfe!

Kommentar