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?
Du triggerst auf Erhöhung der Luftfeuchtigkeit und hast diesen Wert im DOIF?
Warum nicht ein Schwellwert?
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