Hallo zusammen,
ich würde gerne eine Aktion fünf Minuten vor einer folgenden Aktion ausführen lassen.
Meine Jalousien fahren 30 min vor Sonnenuntergang herunter. Fünf Minuten davor soll es eine entsprechende Nachricht auf dem TV und ggf. Smartphone geben.
Gibt es eine Möglichkeit, diese Aktion in Abhängigkeit der folgenden Aktion auszuführen oder sollte ich einfach nur eine neue Aktion bzw. neues Notify definieren,
die halt fünf Minuten vorher ausgeführt wird?
Bsp.:
*{sunset(-1800)} IF ([str_WZ_klFJalousien:state] ne "closed") (set str_WZ_klFJalousien closes)
*{sunset(-2100)} IF ([str_WZ_klFJalousien:state] ne "closed") (set OLED55B7D screenMsg Die Jalousien werden teilweise heruntergefahren.
Hallo twinFHEM,
laienhaft würde ich in einem notify auf 25 Minuten vor Sonnenuntergang prüfen, ob das Rollo heruntergefahrenen ist und, wenn nicht, die Meldung absetzen und einen Timer (at) jetzt + 5 Minuten anlegen, der das Rollo dann (ggf.. nach erneuter Prüfung) herunterfährt.
Aber es gibt wahrscheinlich weitere, - vielleicht auch bessere -, Wege.
Gernot
Zitatich würde gerne eine Aktion fünf Minuten vor einer folgenden Aktion ausführen lassen.
Halte ich für einen Denkfehler.
Was ist den die Abhängigkeit?
Der Zeittpunkt.
Deine Lösung sollte funktionieren.
Alternativ ein notify mit der Meldung 35 min vor Sonnenuntergang, 5 min Sleep und dann das Herunterfahren der Jalousien.
Man könnte auch:
Ein notify mit der Meldung 35 min vor Sonnenuntergang, welche ein at erzeugt das in 5 min das Herunterfahren der Jalousien auslöst.
Oder DOIF
oder...
Du hast natürlich recht, rabehd,
35 Minuten vor Sonnenuntergang das notify/at mit der Meldung, dass in 5 Minuten etwas passiert :-[.
Sorry,
Gernot
Hallo zusammen und besten Dank für eure Antworten.
Dies mit einem Notify zu lösen scheint mir mittlerweile eher kompliziert!?
Daher versuche ich es mit DOIF:
define msg2TV at *{sunset(-1860)} DOIF ([str_WZ_klFJalousien:state] ne "closed") (set OLED55B7D screenMsg Die Jalousien werden in 1 Min. heruntergefahren.)(set str_WZ_klFJalousien closes)
Allerdings kann ich wait (attr msg2TV wait 0,60) nicht setzen. Übersehe ich etwas?
Viele Grüße!
define msg2TV DOIF ([{sunset(-1860)}] and [str_WZ_klFJalousien:state] ne "closed") (set OLED55B7D screenMsg Die Jalousien werden in 1 Min. heruntergefahren.)(set str_WZ_klFJalousien closes)
Schau dir mal deine Definition nochmal genauer an :)
so sollte es mit dem wait setzen klappen? ungetestet
Gruß
Thomas
Hallo TomLee,
das at hat da also nichts zu suchen.
Vielen Dank, ich werde es ausprobieren und Rückmeldung geben.
Viele Grüße!
War klar, es funktioniert! ;)