FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Andreas74 am 24 Januar 2016, 11:46:25

Titel: Timer / Nach ablauf von x Minuten eine Aktion ausführen
Beitrag von: Andreas74 am 24 Januar 2016, 11:46:25
Hi,

ich zerbreche mir seit einigen Tagen den Kopf über folgendes Problem:

Wenn die Balkontür mehr als 3 Minuten offen ist (HM-SEC-SC-2) dann senke mir die desired-temp (HM-TC-IT-WM-W-EU / HM-CC-RT-DN) auf X Grad ab. Ist die Balkontür dann wieder zu, stelle mir die desired-temp wieder auf den letzten Wert, der vor  Türöffnung eingestellt war.

Ich hab schon mit diversen DOIF / notify Kombinationen gespielt, komme aber nicht weiter.

Zum einen ist mir nicht klar, wie ich mir den alten desired-temp Wert merken kann, (mal abgesehen von system  tail /opt/fhem/log/logfile Geschichten) und zum zweiten scheitere ich an "tue erst nach drei Minuten etwas".

Kann mir evtl. jemand auf die Sprünge helfen?

Viele Grüße aus Wien

Andreas
Titel: Antw:Timer / Nach ablauf von x Minuten eine Aktion ausführen
Beitrag von: marvin78 am 24 Januar 2016, 11:57:51
Letzten Wert merken kannst du bspw. mit setreading oder mit set in einem dummy (ersteres ist eleganter). Aber auch die Register in HM Devices sind hier evtl. hilfreich). Direktes peeren wäre möglich und sinnvoll.
Titel: Antw:Timer / Nach ablauf von x Minuten eine Aktion ausführen
Beitrag von: stromer-12 am 24 Januar 2016, 12:11:14
Das habe ich bei mir mit einen virtuellen Fensterkontakt, einen Watchdog und einem Notify gelöst.
Die Thermostate sind mit dem virtuellen Fensterkontakt gepeert.
Der Watchdog trigger auf die Öffnungszeit und das Notify ist für das Schliessen der Balkontür zuständig.

define w_balkontuer watchdog sc_balkontuer:contact:.open.* 00:03 sc_balkontuer:contact:.closed.* trigger w_balkontuer . ;set vt_balkontuer postEvent open

define n_balkontuer notify sc_balkontuer:contact:.closed.* set vt_balkontuer postEvent closed
Titel: Antw:Timer / Nach ablauf von x Minuten eine Aktion ausführen
Beitrag von: Andreas74 am 24 Januar 2016, 12:30:37
Danke!!


der Watchdog hat mir gefehlt. Damit wird's einfach.


Viele Grüße

Andreas
Titel: Antw:Timer / Nach ablauf von x Minuten eine Aktion ausführen
Beitrag von: Joker am 24 Januar 2016, 21:33:19
Vermutlich würde auch beim DOIF das Attribut "wait" funktionieren.
Titel: Antw:Timer / Nach ablauf von x Minuten eine Aktion ausführen
Beitrag von: kasslerks am 25 Januar 2016, 23:36:55
Ich hab das so gelöst

([Wz.Fenster] eq "open")
(setreading WZ.Heizung_Clima VorherTemp [WZ.Heizung_Clima:desired-temp])
(set WZ.Heizung_Clima desired-temp off)  (set WZ.Heizung_Clima burstXmit)
(setreading EZ.Heizung_Clima VorherTemp [EZ.Heizung_Clima:desired-temp])
(set EZ.Heizung_Clima desired-temp off) (set EZ.Heizung_Clima burstXmit)
(set PushNachricht msg 'Fenster' 'seit 15min offen' ''0'')

DOELSEIF

([Wz.Fenster] eq "closed") (set WZ.Heizung_Clima desired-temp [WZ.Heizung_Clima:VorherTemp],
     set EZ.Heizung_Clima desired-temp [EZ.Heizung_Clima:VorherTemp])



Dann noch das wait 15,1,1,1,1,1,900:0

lg