Hallo zusammen,
ich habe einen Fensterkontakt, der im Reading "alarm" folgende zwei Stati haben kann:
1. AccessControl: Window/Door is open, arg 0000
2. AccessControl: Window/Door is closed, arg 0000
Für die weitere Verarbeitung sind nur die beiden Begriffe "open" und "closed" wichtig. Mit welcher Syntax kann ich diese Werte möglichst effektiv in z.B. einem DOIF abfragen?
Zitat von: KraxelHuber am 30 Mai 2017, 22:00:02
Hallo zusammen,
ich habe einen Fensterkontakt, der im Reading "alarm" folgende zwei Stati haben kann:
1. AccessControl: Window/Door is open, arg 0000
2. AccessControl: Window/Door is closed, arg 0000
Für die weitere Verarbeitung sind nur die beiden Begriffe "open" und "closed" wichtig. Mit welcher Syntax kann ich diese Werte möglichst effektiv in z.B. einem DOIF abfragen?
Schau dir mal doiftools an.Dort kannst du dann im Eventmonitor eine komplette Zeile makieren,und diese Automatisch weiterverarbeiten.
Grüße
Um was für ein Modul handelt es sich? Vielleicht gibt es eine Möglichkeit das direkt dort zu ändern.
Falls nicht gibt es das Modul readingsChange (http://commandref.fhem.de/#readingsChange)
Zitat von: Esjay am 30 Mai 2017, 22:04:58
Schau dir mal doiftools an.Dort kannst du dann im Eventmonitor eine komplette Zeile makieren,und diese Automatisch weiterverarbeiten.
Grüße
Werde ich machen...
Zitat von: igami am 30 Mai 2017, 22:09:00
Um was für ein Modul handelt es sich? Vielleicht gibt es eine Möglichkeit das direkt dort zu ändern.
Falls nicht gibt es das Modul readingsChange (http://commandref.fhem.de/#readingsChange)
Es handelt sich um ein Sensative AB Strips.
Zitat von: KraxelHuber am 30 Mai 2017, 22:17:16
Es handelt sich um ein Sensative AB Strips.
Also um ZWAVE ;)
Dann wäre das Thema natürlich in dem Unterforum dort besser aufgehoben. Die unterstütze Hardware sollte ja auch korrekt dargestellt werden.
Zitat von: Esjay am 30 Mai 2017, 22:04:58
Schau dir mal doiftools an.Dort kannst du dann im Eventmonitor eine komplette Zeile makieren,und diese Automatisch weiterverarbeiten.
Grüße
Als vielversprechendsten Vorschlag wird mir folgendes angezeigt:
[doorsensor_wz:alarm] eq "AccessControl: Window/Door is open, arg 0000"
Es muss doch irgendwie möglich sein, nicht auf den gesamten String zu testen, sondern nur zu testen, ob das Reading das Wort "open" oder eben das Wort "closed" enthält?
Zitat von: igami am 30 Mai 2017, 22:21:58
Also um ZWAVE ;)
Dann wäre das Thema natürlich in dem Unterforum dort besser aufgehoben. Die unterstütze Hardware sollte ja auch korrekt dargestellt werden.
Naja, die Frage ist eher allgemeiner Natur. Es geht um die Prüfung eines einzelnen Wortes innerhalb eines Readings. Das könnte ja auch in jedem anderen Device irgendwie auftreten.
Zitat von: KraxelHuber am 30 Mai 2017, 22:34:14
Als vielversprechendsten Vorschlag wird mir folgendes angezeigt:
[doorsensor_wz:alarm] eq "AccessControl: Window/Door is open, arg 0000"
Es muss doch irgendwie möglich sein, nicht auf den gesamten String zu testen, sondern nur zu testen, ob das Reading das Wort "open" oder eben das Wort "closed" enthält?
Na statt eq =~ nehmen (Operatoren (http://www.aip.de/groups/soe/local/handbuch/html/tecf.htm#a2)).
[doorsensor_wz:alarm] =~ /open/
Irgendwie hatte ich den Beitrag nur überflogen und gar nicht gesehen, dass das die eigentliche Frage war ::)
Zitat von: KraxelHuber am 30 Mai 2017, 22:34:14
Als vielversprechendsten Vorschlag wird mir folgendes angezeigt:
[doorsensor_wz:alarm] eq "AccessControl: Window/Door is open, arg 0000"
Es muss doch irgendwie möglich sein, nicht auf den gesamten String zu testen, sondern nur zu testen, ob das Reading das Wort "open" oder eben das Wort "closed" enthält?
[doorsensor_wz:alarm] =~ "open"
einfach mal in der Commandref schauen https://fhem.de/commandref_DE.html#DOIF_Teilausdruecke_abfragen
Danke, passt.
Gesendet von meinem ONE A2003 mit Tapatalk
Dann bitte noch [GELÖST] vor das Subject des ersten Posts :-)