Watchdog vorübergehend deaktivieren

Begonnen von tfriedrich85, 17 Februar 2020, 14:21:19

Vorheriges Thema - Nächstes Thema

tfriedrich85

Hallo zusammen,

ich nutze Bewegungsmelder zum einschalten von Lampen und watchdogs um das Licht in Räumen nach einer bestimmten Zeit wieder auszuschalten. Nun folgendes Problem, im Bad werden Bewegungen wegen des Wasserdampfs nicht erfasst. Lösung ich kann über den Luftfeuchtigkeits-Sensor feststellen wenn geduscht wird. Frage: Wie kann ich dem Watchdog so konfigurieren, dass wenn die Luftfeuchtigchkeit steigt, der Watchdog für 10 min dekativiert wird? Hier mein Versuch über ein DOIF

Hier der DEF vom DOIF

([$SELF:increase] > 10) 
(set watchdog_Bad inactive)
DOELSE
(set watchdog_Bad active)


Hier der List:


Internals:
   CHANGED   
   DEF        ([$SELF:increase] > 10) 
(set watchdog_Bad inactive)
DOELSE
(set watchdog_Bad active)
   FUUID      5daa1f74-f33f-aed9-9b33-7ee0e877e95ca43c
   MODEL      FHEM
   NAME       Presence_Bad
   NOTIFYDEV  global,Presence_Bad,ESPEasy_ESPEasy_ESP_Bad_Temp
   NR         1296
   NTFY_ORDER 50-Presence_Bad
   STATE      initialized
   TYPE       DOIF
   VERSION    20929 2020-01-10 09:44:35
   DOIF_Readings:
     increase   (::ReadingValDoIf($hash,'ESPEasy_ESPEasy_ESP_Bad_Temp','Humidity')-OldReadingsVal("ESPEasy_ESPEasy_ESP_Bad_Temp","Humidity",0))/::ReadingValDoIf($hash,'ESPEasy_ESPEasy_ESP_Bad_Temp','Humidity')*100
   READINGS:
Attributes:
   DOIF_Readings increase:([ESPEasy_ESPEasy_ESP_Bad_Temp:Humidity]-OldReadingsVal("ESPEasy_ESPEasy_ESP_Bad_Temp","Humidity",0))/[ESPEasy_ESPEasy_ESP_Bad_Temp:Humidity]*100

   do         resetwait
   event-on-change-reading increase
   event-on-update-reading increase
   loglevel   3
   room       Bad
   wait       0,600:0


Mein Versuch über das Attribut Wait funktioniert nicht, weil sobald der Feutigkeissensor einen neuen Wert bekommt, wird das DoIf neu durchlaufen und der Watchdog wird wieder aktiv.
Welche Lösung seht ihr?

rabehd

Du triggerst auf Erhöhung der Luftfeuchtigkeit und hast diesen Wert im DOIF?

Warum nicht ein Schwellwert?
Auch funktionierende Lösungen kann man hinterfragen.

tfriedrich85

Zitat von: rabehd am 17 Februar 2020, 14:31:09
Du triggerst auf Erhöhung der Luftfeuchtigkeit und hast diesen Wert im DOIF?

Warum nicht ein Schwellwert?

Mein Schwellwert ist increase = 10 - Das ist die Erhöung der Leutfeuchtigkeit von der aktuellen Messung zur vorherigen Messung.
Aber die Aktion die daraus resultieren soll - watchdo inaktiv - funktioniert nicht