Watchdog Trigger geht nicht mehr

Begonnen von prime1009, 01 April 2015, 15:13:05

Vorheriges Thema - Nächstes Thema

prime1009

Hi,

seit einigen Tagen läuft die Watchdog funktion nicht mehr sauber:

define ToilWatch watchdog wc.KT:open 00:02 wc.KT:closed set pushmsg msg 'Toilette' 'Fenster offen !' ' ' 0 'bike'; trigger ToilWatch

Der Status geht nach der Auslösung von 'defined' über auf 'next' und dann kommt auch die Aktion. Danach geht der Status auf 'triggered' aber es folgt keine weiter Aktion (Benachrichtigung per Pushmsg) mehr.

Früher hat das Problemlos funktioniert.

Hat einer eine Idee woran das jetzt liegen kann?
FHEM 5.7 auf RasPi3
Homematic, IT, FS20, Cams (SSCAM), CUL, HueBridge, HarmonyHub, LIGHTIFY, TelegramBot, Homebridge (Siri), DBLog mit MySQL, Text2Speech, ...

rudolfkoenig

Sollte das nicht
trigger ToilWatch .
heissen? Und vermutlich ;; statt ; (es sei denn, man editiert das Ganze in FHEMWEB).
Watchdog habe ich seit 4 Monaten nicht angefasst.

prime1009

Heißt auch so:
define ToilWatch watchdog wc.KT:open 00:02 wc.KT:closed set pushmsg msg 'Toilette' 'Fenster offen !' ' ' 0 'bike' ;; trigger ToilWatch .

Könnte die Ursache mit dem Wechsel des Fesnterkontakts von FS20 auf Homematic stehen?
Der Homematic ist jetzt auch direkt mit einem Heizungsventil gekoppelt.

Der Status geht jetzt auch nach dem einmaligen Ausführen der Aktion auf 'defined'.
FHEM 5.7 auf RasPi3
Homematic, IT, FS20, Cams (SSCAM), CUL, HueBridge, HarmonyHub, LIGHTIFY, TelegramBot, Homebridge (Siri), DBLog mit MySQL, Text2Speech, ...

rudolfkoenig

Geht STATE auf triggered wie im ersten Post beschrieben, oder auf defined wie im dritten?

Triggered meint ausgeloest, und wertet keine Aktionen mehr aus. Mit defined ist der Watchdog wieder scharf.
Habs gerade mit einem dummy probiert, funktioniert einwandfrei:
fhem> define d dummy
fhem> define w watchdog d:open 00:00:05 d:closed {Log 1, "WD"};;trigger w .
fhem> inform timer
fhem> set d open

Nach 5 Sekunden erscheint "WD" im log, und STATE von w ist defined.
Und das kann man beliebig wiederholen.

Puschel74

ZitatKönnte die Ursache mit dem Wechsel des Fesnterkontakts von FS20 auf Homematic stehen?
Ich meine das einer von beiden closed sendet und der andere Closed - dito mit opened und Opened.
Auch hier - Gross- kleinschreibung beachten da FHEM case sensitiv ist.
Aber auch hier würde ein Blick in den EventMonitor reichen um das Rätsel zu lösen.
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

prime1009

@Puschel: Vielen Dank für den Hinweis, hatte ich schon geändert.

@rudolfkoenig: Status geht auf defined wie im dritten Post beschrieben.
Eine einmalige Benachrichtigung findet ja auch statt. Nur sollte nach weiteren 2 Minuten wieder eine Benachrichtigung erfolgen, so lange bis das Fenster wieder geschlossen wurde. Das geht leider nicht mehr.
Fragt der Watchdog Regelmäßig den Status von 'wc.KT' ab oder reagiert er nur auf Änderungen?
FHEM 5.7 auf RasPi3
Homematic, IT, FS20, Cams (SSCAM), CUL, HueBridge, HarmonyHub, LIGHTIFY, TelegramBot, Homebridge (Siri), DBLog mit MySQL, Text2Speech, ...

rudolfkoenig

Die wiederholte Ausfuehrung lief aber auch frueher auch nicht, das war nie Bestandteil von watchdog.
Man kann es natuerlich mit einem weiteren trigger simulieren.

prime1009

Aber Watchdog müsste doch nach Ausführen der Aktion und Rückkehr in den Status defined wieder neu ausgeführt werden, wenn er den Status neu abfragt.
Wenn Watchdog allerdings nur auf eine Änderung des Status reagiert, würde natürlich keine neue Meldung kommen.
Sehe ich das so richtig?
FHEM 5.7 auf RasPi3
Homematic, IT, FS20, Cams (SSCAM), CUL, HueBridge, HarmonyHub, LIGHTIFY, TelegramBot, Homebridge (Siri), DBLog mit MySQL, Text2Speech, ...

rudolfkoenig

Watchdog fragt nie ein Status ab, sondern reagiert nur auf Events.

Eigentlich weiss er nicht, welche Geraete er ueberwacht, achtet nur auf das Eintreffen bestimmter Strings via Event.

flurin

#9
Diese zwei Varianten funktionieren bei mir beide:

Aus fhem.cfg:

define w_cellar_door_warning watchdog cellar_door:open 00:10 cellar_door:closed \
{myLog("Watchdog: Cellar Door open");;;; fhem("trigger w_cellar_door_warning .")}



define di_cellar_door_warning DOIF ([cellar_door] eq "open") ({myLog("Cellar Door open")})
attr di_cellar_door_warning do always
attr di_cellar_door_warning wait 600


cellar_door: EnOcean-STM-250

prime1009

@flurin: Ich habe beide varianten ausprobiert und es kommt jeweils leider nur eine Meldung!

In den Logfiles haben ich dann den Unterschied der beiden Fensterkontakte gefunden. Wärend der alte FS20 alle 5 Minuten einen neuen Status-Event gesendet hat, senden der Homatic HM-SEC-SC-2 leider nur einen Event bei Änderung und danach nur einen alive-Event.
2015-04-07_15:22:56 wc.KT Activity: alive
2015-04-07_15:20:38 wc.KT Activity: alive
2015-04-07_15:05:22 wc.KT Activity: alive
2015-04-07_14:58:10 wc.KT Activity: alive
2015-04-07_14:46:43 wc.KT Activity: alive
2015-04-07_14:45:45 wc.KT trigger_cnt: 174
2015-04-07_14:45:45 wc.KT trigDst_1C67C1: noConfig
2015-04-07_14:45:45 wc.KT open
2015-04-07_14:45:45 wc.KT contact: open (to HMLAN1)
2015-04-07_14:45:45 wc.KT battery: ok

Vermutlich hat deshalb das ganze mit dem alten Fensterkontakt funktioniert und mit dem neuen (HM-SEC-SC-2) nicht mehr!

Hat eventuell jemand eine Idee wie ich das ganze dennoch zum laufen bekomme?

Ich möchte gerne so lange Meldungen bekommen, bis das Fenster wieder geschlossen wurde.
FHEM 5.7 auf RasPi3
Homematic, IT, FS20, Cams (SSCAM), CUL, HueBridge, HarmonyHub, LIGHTIFY, TelegramBot, Homebridge (Siri), DBLog mit MySQL, Text2Speech, ...

flurin

#11
Zitat von: prime1009 am 07 April 2015, 17:36:36
@flurin: Ich habe beide varianten ausprobiert und es kommt jeweils leider nur eine Meldung!

In den Logfiles haben ich dann den Unterschied der beiden Fensterkontakte gefunden. Wärend der alte FS20 alle 5 Minuten einen neuen Status-Event gesendet hat, senden der Homatic HM-SEC-SC-2 leider nur einen Event bei Änderung und danach nur einen alive-Event.
2015-04-07_15:22:56 wc.KT Activity: alive
2015-04-07_15:20:38 wc.KT Activity: alive
2015-04-07_15:05:22 wc.KT Activity: alive
2015-04-07_14:58:10 wc.KT Activity: alive
2015-04-07_14:46:43 wc.KT Activity: alive
2015-04-07_14:45:45 wc.KT trigger_cnt: 174
2015-04-07_14:45:45 wc.KT trigDst_1C67C1: noConfig
2015-04-07_14:45:45 wc.KT open
2015-04-07_14:45:45 wc.KT contact: open (to HMLAN1)
2015-04-07_14:45:45 wc.KT battery: ok

Vermutlich hat deshalb das ganze mit dem alten Fensterkontakt funktioniert und mit dem neuen (HM-SEC-SC-2) nicht mehr!

Hat eventuell jemand eine Idee wie ich das ganze dennoch zum laufen bekomme?

Ich möchte gerne so lange Meldungen bekommen, bis das Fenster wieder geschlossen wurde.

versuchs mal sinngemäss so:


define di_cellar_door_warning DOIF ([cellar_door] eq "open" and ([cellar_door:Activity] eq "alive")
  ({myLog("Cellar Door open")})
attr di_cellar_door_warning do always
attr di_cellar_door_warning wait 600


wenn State auf "open" bleibt, müsste es funktionieren.

Edit: bei deinem Fall:


define ToilWatch DOIF ([wc.KT] eq "open" and [wc.KT:Aktivity] eq "alive")
    (set pushmsg msg 'Toilette' 'Fenster offen !' ' ' 0 'bike')
attr ToilWatch do always


Ich würde es mal ohne attr wait testen.

prime1009

Ich musste etwas anpassen, hat aber leider nichts gebracht. Es erfolgte keinerlei Auslösung mehr!
define ToilWatch DOIF ([wc.KT] eq "open" and [wc.KT:Activity] eq "alive")
    {fhem("set pushmsg msg 'Toilette' 'Fenster offen !' ' ' 0 'bike'")}
FHEM 5.7 auf RasPi3
Homematic, IT, FS20, Cams (SSCAM), CUL, HueBridge, HarmonyHub, LIGHTIFY, TelegramBot, Homebridge (Siri), DBLog mit MySQL, Text2Speech, ...

flurin

#13
Zitat von: prime1009 am 07 April 2015, 19:01:05
Ich musste etwas anpassen, hat aber leider nichts gebracht. Es erfolgte keinerlei Auslösung mehr!
define ToilWatch DOIF ([wc.KT] eq "open" and [wc.KT:Activity] eq "alive")
    {fhem("set pushmsg msg 'Toilette' 'Fenster offen !' ' ' 0 'bike'")}


Beim DOIF brauchst du die (...) Klammer auch beim Befehl:


define ToilWatch DOIF ([wc.KT] eq "open" and [wc.KT:Activity] eq "alive")
    ({fhem("set pushmsg msg 'Toilette' 'Fenster offen !' ' ' 0 'bike'")})


und


attr ToilWatch do always

prime1009

Mit

define ToilWatch DOIF ([wc.KT] eq "open" and [wc.KT:Activity] eq "alive") (set pushmsg msg 'Toilette' 'Fenster offen !' ' ' 0 'bike')
attr ToilWatch do always
attr ToilWatch wait 120


erfolgt die einmalige Auslösung aber leider keine Wiederholungen
FHEM 5.7 auf RasPi3
Homematic, IT, FS20, Cams (SSCAM), CUL, HueBridge, HarmonyHub, LIGHTIFY, TelegramBot, Homebridge (Siri), DBLog mit MySQL, Text2Speech, ...