openhab 3.1 / knx / siemens bewegungsmelder richtig einbinden

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
hotznplotz
Beiträge: 2
Registriert: 8. Sep 2021 15:50
Answers: 0

openhab 3.1 / knx / siemens bewegungsmelder richtig einbinden

Beitrag von hotznplotz »

Hi,

meine openhab/KNX-Installation läuft per KNX-IP-Brücke soweit recht gut, allein die korrekte Einbindung meiner SIEMENS Bewegungsmelder (5WG1258-2DB12) schaffe ich wohl nicht ohne Eure geschätzte Hilfe.

KNX-Geräte-ID ist bekannt um lt. ETS gibt es eine GA für "Schalten Beginn Präsenz A" und eine andere GA für "Schalten Ende Präsenz C", DataPointType = DPST-1-1 .
In der ETS habe ich das minimale Zeitintervall für die Aktualisierung eingestellt. Lt. ETS-Protokoll werden auch Bewegungen erfasst.

Welcher channel-type ist hier in openhab zu verwenden ? switch/number/string/...?
Ich habe es mit zwei "Switch"-es auf den beiden oe Gruppenadressen versucht, aber kein Mucks in openhab bzw dessen events.log :(

DANKE im Voraus für Euren Input!

Benutzeravatar
udo1toni
Beiträge: 15265
Registriert: 11. Apr 2018 18:05
Answers: 245
Wohnort: Darmstadt

Re: openhab 3.1 / knx / siemens bewegungsmelder richtig einbinden

Beitrag von udo1toni »

Du musst einen Switch Channel pro Kanal erstellen. Der DPT ist 1.001 (weder gibt es da ein S noch gibt es in DPT Striche) Der DPT muss aber auch nicht angegeben werden, da DPT 1.001 ohnehin der Default ist.
Da beide Channel ausschließlich 1 empfangen, wirst Du davon im log nichts sehen (es sei denn, Du stellst das log vorläufig auf DEBUG um), es kann also gut sein, dass Du "zwischendurch" schon erfolgreich warst.
Du musst eine Rule verwenden, die auf received update triggert. Je nachdem, was Du erreichen willst, kann es sein, dass es reicht, den Trigger für die eigentliche Rule zu verwenden. Wenn Du den Zustand (Bewegung/keine Bewegung) kennen willst, wäre so eine Rule sinnvoll:

Code: Alles auswählen

rule "on-on zu on-off"
when
    Item Trigger_A received update or
    Item Trigger_C received update
then
    Bewegung.postUpdate(if(triggeringItemName == "Trigger_A") ON else OFF)
end
Die Idee dahinter: Beide Items triggern die Rule. Nur, wenn das A-Item die Rule ausgelöst hat, wird ON gesetzt, sonst OFF.

Diesee Rule kann leicht generalisiert werden, falls es um mehrere baugleiche Bewegungsmelder geht. Dann müssen die Itemnamen voneinander ableitbar sein, z.B. so:

Code: Alles auswählen

Group gBWMin
Group gBWMout
Switch BWM01_A (gBWMin)
Switch BWM01_C (gBWMin)
Switch BWM01   (gBWMout)
Switch BWM02_A (gBWMin)
Switch BWM02_C (gBWMin)
Switch BWM02   (gBWMout)
Switch BWMeg_A (gBWMin)
Switch BWMeg_C (gBWMin)
Switch BWMeg   (gBWMout)
Switch BWMog_A (gBWMin)
Switch BWMog_C (gBWMin)
Switch BWMog   (gBWMout)
Switch dubidu_A (gBWMin)
Switch dubidu_C (gBWMin)
Switch dubidu   (gBWMout)
Die Rule sieht dann so aus:

Code: Alles auswählen

rule "on-on zu on-off"
when
    Member of gBWMin received update
then
    gBWMout.members.filter[i|i.name==triggeringItem.name.split("_").get(0)].head.postUpdate(if(triggeringItem.name.endswith("A")) ON else OFF)
end
Die Rule sucht also das Ausgangsitem heraus, dessen Name dem 1. Teil des Namens des Eingangsitems entspricht. Der geforderte Zustand wird dann durch den letzten Buchstaben des Items bestimmt, welches die Rule getriggert hat.

Die beiden Rules sind für openHAB3 geschrieben (triggeringItemName <-> triggeringItem.name)
Die Itembezeichnungen sind beliebig, es ist nur wichtig, dass die drei zueinander gehörenden Items im Teil vor dem _ identisch sind (das 3. Item hat nur diesen ersten Teil des Namens) Daraus ergibt sich natürlich, dass dieser Namensteil auch eindeutig sein muss :)
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

hotznplotz
Beiträge: 2
Registriert: 8. Sep 2021 15:50
Answers: 0

Re: openhab 3.1 / knx / siemens bewegungsmelder richtig einbinden

Beitrag von hotznplotz »

Wow !
VIELEN DANK für die super-schnelle und kompetente Antwort !
Ich werde das morgen mal testen um RM geben.

Antworten