Hauptmenü

DOIF mit Zeitauswertung

Begonnen von Muschelpuster, 17 Juli 2015, 22:24:29

Vorheriges Thema - Nächstes Thema

Muschelpuster

Hallo zusammen,

Leider scheitere ich an einem verzögertem Alarm. Bei Eintreten des Events fülle ich einen Dummy mit dem aktuellen Linux-Zeitstempel:
define not_Kuehlschrank_auf notify HM_Kuehlschrank:open {fhem("set du_alarm_kuehlschrank ".int(time))}
Nun will ich nach 1 Minute einen Alarm auslösen:
define di_Kuehlschrank_Alarm DOIF ([+00:00:15] and [?du_alarm_kuehlschrank:state] > 100 and [?du_alarm_kuehlschrank:state] < {int(time)-60}) (set WhatsApp0 send 491712345678  "Alarm")\
attr di_Kuehlschrank_Alarm do always
Ist das vielleicht völlig der falsche Weg, denn ich musste ja auch schon die zyklische Ausführung nehmen, damit ich ein Event habe. Taugt die aus Perl gezogene Zeit hier nicht? Wenn ich einen festen Wert rein schreibe funktioniert es.
Ich weiß, dass der Alarm momentan alle 30 Sekunden kommt, hier wird das Dummy noch nach Absetzen des Alarms auf 99 gesetzt.

Grüße vom Holzweg?
Niels

fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

Damian

Zitat von: Muschelpuster am 17 Juli 2015, 22:24:29
Hallo zusammen,

Leider scheitere ich an einem verzögertem Alarm. Bei Eintreten des Events fülle ich einen Dummy mit dem aktuellen Linux-Zeitstempel:
define not_Kuehlschrank_auf notify HM_Kuehlschrank:open {fhem("set du_alarm_kuehlschrank ".int(time))}
Nun will ich nach 1 Minute einen Alarm auslösen:
define di_Kuehlschrank_Alarm DOIF ([+00:00:15] and [?du_alarm_kuehlschrank:state] > 100 and [?du_alarm_kuehlschrank:state] < {int(time)-60}) (set WhatsApp0 send 491712345678  "Alarm")\
attr di_Kuehlschrank_Alarm do always
Ist das vielleicht völlig der falsche Weg, denn ich musste ja auch schon die zyklische Ausführung nehmen, damit ich ein Event habe. Taugt die aus Perl gezogene Zeit hier nicht? Wenn ich einen festen Wert rein schreibe funktioniert es.
Ich weiß, dass der Alarm momentan alle 30 Sekunden kommt, hier wird das Dummy noch nach Absetzen des Alarms auf 99 gesetzt.

Grüße vom Holzweg?
Niels

Ich glaube eher Holzweg.

Mögliche Lösung ohne notify:

define di_Kuehlschrank_Alarm ([HM_Kuehlschrank] eq "open") (set WhatsApp0 send 491712345678  "Alarm")
attr di_Kuehlschrank_Alarm wait 60




Gruß

Damian

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Muschelpuster

Oh man, Danke! Manche Dinge sind ja unfassbar einfach. Ich hatte jetzt noch befürchtet, dass der Alarm trotz inzwischen geschlossener Tür los geht, aber doch nicht bei der Genialität des doif-Modul-Etwicklers  ;)

vereinfachte Grüße
Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF