FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: KraxelHuber am 30 Mai 2017, 22:00:02

Titel: [GELÖST] Reading auslesen
Beitrag 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?
Titel: Antw:Reading auslesen
Beitrag von: Esjay am 30 Mai 2017, 22:04:58
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
Titel: Antw:Reading auslesen
Beitrag 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)
Titel: Antw:Reading auslesen
Beitrag von: KraxelHuber am 30 Mai 2017, 22:14:48
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...
Titel: Antw:Reading auslesen
Beitrag von: KraxelHuber am 30 Mai 2017, 22:17:16
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.
Titel: Antw:Reading auslesen
Beitrag von: igami am 30 Mai 2017, 22:21:58
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.
Titel: Antw:Reading auslesen
Beitrag von: KraxelHuber am 30 Mai 2017, 22:34:14
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?
Titel: Antw:Reading auslesen
Beitrag von: KraxelHuber am 30 Mai 2017, 22:36:46
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.
Titel: Antw:Reading auslesen
Beitrag von: igami am 30 Mai 2017, 22:54:59
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 ::)
Titel: Antw:Reading auslesen
Beitrag von: Damian am 30 Mai 2017, 22:56:15
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
Titel: Antw:Reading auslesen
Beitrag von: KraxelHuber am 30 Mai 2017, 22:59:54
Danke, passt.

Gesendet von meinem ONE A2003 mit Tapatalk

Titel: Antw:Reading auslesen
Beitrag von: KernSani am 30 Mai 2017, 23:23:24
Dann bitte noch [GELÖST] vor das Subject des ersten Posts :-)