FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: yep_DD am 14 Oktober 2018, 17:26:53

Titel: DoIf Problem mit Nuki
Beitrag von: yep_DD am 14 Oktober 2018, 17:26:53
Hallo zusammen,

ich habe folgendes Szenario. Ich prüfe meine FritzBox und Repeater ob jemand zu Hause und speichere das Ergebnis in einer Struct JemandDa ab. Nun soll wenn  JemandDa eq "absent" ist und das Schloss auf unlock steht, das Schloss abgeschlossen werden.

Dazu verwende ich folgendes doIf, in dem aber ein Fehler in der Abfrage des Zustand des Schlosses steckt, kann jemand helfen?

([JemandDa] eq "absent" and [NUKIDevicexxxxxxxx:lockState] eq "unlocked") (set NUKIDevicexxxxxxxx lock)


ohne die Überprüfung des Lockzustandes funktioniert es, dass will ich aber nicht, da es ansonsten das Schloss zweimal lockt, wenn es manuell gelockt wurde.

Liebe Grüße
Titel: Antw:DoIf Problem mit Nuki
Beitrag von: der-Lolo am 14 Oktober 2018, 17:40:59
Du kannst das NukiDevice einfach abfragen...

([JemandDa] eq "absent" and [?NUKIDevicexxxxxxxx:lockState] eq "unlocked") (set NUKIDevicexxxxxxxx lock)

Es ist immer unwahrscheinlich das beide Trigger gleichzeitig da sind - ein ? holt nur den aktuellen Zustand des readings...
Titel: Antw:DoIf Problem mit Nuki
Beitrag von: yep_DD am 14 Oktober 2018, 17:46:01
Klasse, vielen Dank. Ich habe es jetzt so umgeändert, da es ja eigentlich immer ausgeführt werden kann, wenn es nicht gerade auf "locked" steht:

([JemandDa] eq "absent" and [?NUKIDevicexxxxxxx:lockState] ne "locked") (set NUKIDevicexxxxxxx lock)


muss ich auch hier doAlways=true setzen?
Titel: Antw:DoIf Problem mit Nuki
Beitrag von: Per am 15 Oktober 2018, 13:03:28
Oder FILTER nehmen.
Titel: Antw:DoIf Problem mit Nuki
Beitrag von: choenig am 17 Oktober 2018, 22:09:03
Per meint damit:


([JemandDa] eq "absent") (set NUKIDevicexxxxxxx:FILTER=lockState!=locked lock)


LG
Christian
Titel: Antw:DoIf Problem mit Nuki
Beitrag von: choenig am 17 Oktober 2018, 22:11:45
Zitat von: yep_DD am 14 Oktober 2018, 17:46:01
muss ich auch hier doAlways=true setzen?

Würde ich eher nicht machen, würde eher:


([JemandDa] eq "absent") (set NUKIDevicexxxxxxx:FILTER=lockState!=locked lock)
DOELSE


machen, das mach' ich in der Regel so, weil dann der gleiche Zustand nicht zweimal auslöst, falls es das gleiche Event gibt.

LG
Christian