Hallo zusammen,
ich verzweifle gerade und benötige mal Hilfe von euch.
Ich versuche folgendes Problem zu lösen und finde keinen Weg:
pseudo:
Wenn Fenster auf,
dann warte X Minuten und sende anschließend Message1
Sollte X Minuten abgelaufen und die Message1 versendet sein, sende Message2 wenn das Fenster geschlossen wird.
Sollte das Fenster vor Ablauf von X Minuten geschlossen werden, sende KEINE Message.
Ich habe mal ein DOIF angefangen.
Folgende Atribute sind gesetzt:
do resetwait
wait 10:0 (zum Test nur 10 Sekunden)
define doFenster_Warning DOIF ([Fenster] eq "open")\
{\
fhem('set WEB_TelegramBot msg @123 Fenster schon 10Minuten geöffnet');;\
}\
DOELSEIF ([Fenster] eq "closed")\
{\
fhem('set WEB_TelegramBot msg @123 Fenster wieder geschlossen')\
}\
attr doFenster_Warning do resetwait
attr doFenster_Warning wait 10:0
Das funktioniert natürlich nicht, aber vielleicht kann mit jmd den entscheidenen Tipp (Codeschnipsel) geben :).
Vielen Dank im Voraus für eure Unterstützung und allen einen schönen Jahreswechel.
AGi
###### UPDATE ######
Ich habe eine Lösung gefunden.
Ich arbeite mit einer Hilfsvariablen...varHelp
defmod doFenster_Warning DOIF ([Fenster] eq "open")\
{\
fhem('set WEB_TelegramBot msg @123 Fenster schon 10Minuten geöffnet');;\
fhem('setreading doFenster_Warning varHelp gesendet');;\
}\
DOELSEIF (([Fenster] eq "closed") and ([doFenster_Warning:varHelp] eq "gesendet"))\
{\
fhem('set WEB_TelegramBot msg @123 Fenster wieder geschlossen');;\
fhem('setreading doFenster_Warning varHelp init');;\
}\
DOELSEIF ([Fenster] eq "closed")\
{\
fhem('setreading doFenster_Warning varHelp init');;\
}\
\
attr doFenster_Warning do resetwait
attr doFenster_Warning readingList varHelp
attr doFenster_Warning wait 10:0