DOIF, Wert speichern, aber nur wenn.........

Begonnen von rippchen, 24 Januar 2021, 20:34:21

Vorheriges Thema - Nächstes Thema

rippchen

Hallo liebe SmartHome Freunde,
ich verzweifel gerade, mein Bedarf:
Ich möchte eine Lampe (WPC_Stripe.....) per Bewegungsmelder schalten. Diese Lampe ist aber abends sporadisch auch manuell eingeschaltet.
Das ganze erst bei unter 100 Lux
Also soll diese Lampe erst den letzten Wert speichern und bei Bewegung auf einen bestimmten Wert setzen (70%), und bei ,,nomotion" auf vorherigen Wert zurück kehren.
Das funktioniert nun auch alles. Mein Problem ist aber, sollte ein weiteres ,,motion" während der 70% kommen speichert FHEM natürlich die 70%.
Ich möchte also ,,last_state" nur dann speichern wenn vorher ,,nomotion" war.
Oder als Notlösung, wenn der Wert NICHT ,,70%" ist.


Hab nach langer Zeit nun ein Brett vor dem Kopf, kann evtl. jemand helfen?

Mein Device:
define PIR_Bewegung DOIF ([PIR_Garten:state] eq "motion" && [Lux_Terrasse:lux]<100)(setreading WPC_Stripe_HUE17 last_state [WPC_Stripe_HUE17], set WPC_Stripe_HUE17 pct 70) DOELSEIF ([PIR_Garten] eq "nomotion")(set WPC_Stripe_HUE17 [WPC_Stripe_HUE17:last_state])

LG
Roland

PS.: Ich glaube ein WAIT hilft nicht, da der Bewegungsmelder in Reichweite meines Grills und meiner Terasse liegt.