Aktion vor folgender Aktion ausführen (Abhängkeit)

Begonnen von twinFHEM, 20 Dezember 2018, 01:24:35

Vorheriges Thema - Nächstes Thema

twinFHEM

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.




supernova1963

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

rabehd

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...
Auch funktionierende Lösungen kann man hinterfragen.

supernova1963

Du hast natürlich recht, rabehd,

35 Minuten vor Sonnenuntergang das notify/at mit der Meldung, dass in 5 Minuten etwas passiert   :-[.

Sorry,

Gernot

twinFHEM

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!

TomLee

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


twinFHEM

Hallo TomLee,

das at hat da also nichts zu suchen.
Vielen Dank, ich werde es ausprobieren und Rückmeldung geben.

Viele Grüße!

twinFHEM