FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: gadget am 13 August 2017, 09:20:12

Titel: Bestimmten Zustandswechsel erkennen
Beitrag von: gadget am 13 August 2017, 09:20:12
Hallo,

Wie bekomme ich es elegant hin, bei einem reading, das z.B. 7 Zustände annehmen kann, den Zustandswechsel von Wert 1 auf Wert 2 in einer DOIF-Bedingung abzufragen ? Der Ausführungsteil soll also nur dann greifen, wenn das reading von Wert 1 auf Wert 2 springt, aber nicht wenn das Reading von Wert 3 auf Wert 2 springt.

Beispiel: Modul PRESENCE: Hier kann der state

home - Bewohner sind zu Hause und mindestens einer schläft nicht
gotosleep - alle anwesenden Bewohner sind auf dem Weg ins Bett (wenn sie nicht schon schlafen)
asleep - alle anwesenden Bewohner schlafen
awoken - mindestens einer der anwesenden Bewohner ist gerade aufgewacht
absent - keiner der Bewohner ist momentan zu Hause; mindestens einer ist aber in Kürze zurück
gone - alle Bewohner sind für längere Zeit verreist
none - kein Mitglied aktiv

sein. Ich will jetzt eine Aktion ausführen wenn der state von absent auf home wechselt, aber nicht wenn der state von asleep auf home wechselt.


Grüße,

gadget
Titel: Antw:Bestimmten Zustandswechsel erkennen
Beitrag von: CoolTux am 13 August 2017, 09:25:20
Dafür gibt es doch ein Reading namens lastState das man dann abfragen kann.
Titel: Antw:Bestimmten Zustandswechsel erkennen
Beitrag von: Per am 14 August 2017, 13:37:10
Allgemein (da bei DOIF eingestellt) kannst du mit
and [?$SELF:cmd] == 3
auf den vorhergehenden Zustand abfragen.