DOIF Waittimer zurücksetzen bei Zustandswechsel

Begonnen von mnl1234, 07 August 2017, 12:14:22

Vorheriges Thema - Nächstes Thema

mnl1234

Tag zusammen,

ich brauch mal eine kleine Denkhilfe, weil ich es irgendwie nicht hinbekomme.

Ich habe ein einen Homematic HM-SEC-SCo als Fensterkontakt an meiner Terrassentür. Funktioniert prima.

Ich möchte per DOIF eine Nachricht senden, wenn die Tür länger als z.B. 30 Min. geöffnet ist (Falls mal wieder einer vergessen hat sie zu zu machen). Und dies soll dann alle 30 Minuten wiederholt werden.

([EG_ez_FK] eq "open")
   (set teleBot msg Terrassentür seit {(int(([EG_ez_FK:state:sec])/60))} Min. geöffnet!)
DOELSEIF ([EG_ez_FK] eq "closed")
   (set teleBot msg Terrassentür ist zu!)


teleBot ist mein Telegrambot
wait ist 1800
repeatcmd ist auch 1800

Bis hier hin klappt das ganz gut, aber ab hier hänge ich.

1. Problem: Ich möchte, dass der Timer neu startet, wenn die Tür wieder geöffnet wird. Aktuell ist das so, dass der Waittimer läuft. Wenn nach 10 Minuten jemand die Tür schließt und nach 5 Minuten wieder öffnet, wird cmd_1 ausgeführt, aber 30 Min. nach dem ersten öffnen und nicht nach dem letzten öffnen. Kann mir jemand helfen?

2. Problem: Ich möchte, das die Info über das Schließen nur gesendet wird, wenn vorher auch eine Nachricht über das Öffnen versendet wurde. Geht das irgendwie?

Danke im Voraus für eure Hilfe!

Grüße
Micha

amenomade

Zitat1. Problem
Ich würde mit attr do resetwait probieren.

Zitat2. Problem
DOELSEIF ([EG_ez_FK] eq "closed" and [?$SELF:cmd] eq "1")
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

mnl1234

Zitat von: amenomade am 07 August 2017, 12:38:35
Ich würde mit attr do resetwait probieren.

Heieie! Ja, resetwait... Da war ich vorher schon mal, allerdings habe ich im DOIF-Teil nicht auf der Zustand geprüft sondern durch das on-Event getriggert, was dann ständig den Timer zurückgesetzt hat. Und nach der Umstellung hab ichs dann nicht wieder reingenommen.

Zitat von: amenomade am 07 August 2017, 12:38:35
DOELSEIF ([EG_ez_FK] eq "closed" and [?$SELF:cmd] eq "1")

Wow! Super! Vielen Dank. Klappt wie geschmiert. Und jetzt hab ich den Teil mit dem $SELF auch kapiert. Beim Lesen der DOIF-Hilfe hat das irgendwie meine geistigen Fähigkeiten überstiegen. ;-)

Vielen Dank für die Hilfe! :-D