[GELÖST] Reading auslesen

Begonnen von KraxelHuber, 30 Mai 2017, 22:00:02

Vorheriges Thema - Nächstes Thema

KraxelHuber

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?

Esjay

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

igami

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
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

KraxelHuber

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...

KraxelHuber

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

Es handelt sich um ein Sensative AB Strips.

igami

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.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

KraxelHuber

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?

KraxelHuber

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.

igami

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).

[doorsensor_wz:alarm] =~ /open/


Irgendwie hatte ich den Beitrag nur überflogen und gar nicht gesehen, dass das die eigentliche Frage war ::)
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

Damian

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
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

KraxelHuber

Danke, passt.

Gesendet von meinem ONE A2003 mit Tapatalk


KernSani

Dann bitte noch [GELÖST] vor das Subject des ersten Posts :-)
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...