Hauptmenü

DoIf Problem mit Nuki

Begonnen von yep_DD, 14 Oktober 2018, 17:26:53

Vorheriges Thema - Nächstes Thema

yep_DD

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

der-Lolo

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

yep_DD

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?

Per


choenig

Per meint damit:


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


LG
Christian

choenig

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