FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: hhsch am 21 November 2013, 17:56:52

Titel: Watchdog
Beitrag von: hhsch am 21 November 2013, 17:56:52
Hallo,

das sehr viele offene Fragen zu Watchdog im Forum vorhanden sind, und es dazu kaum brauchbare Antworten gibt, habe ich dazu eine Frage:
Funktioniert Watchdog überhaupt mit folgender Konfiguration: FB 7390 (fw 06.00), fhem (v 5.5), CUL868 (fw 1.57), FS20TFK, FS20PIRI-2

Grüße
hhsch
Titel: Antw:Watchdog
Beitrag von: Zrrronggg! am 21 November 2013, 18:03:23
Nichts in der Konfiguration spricht gegen einen Watchdog. hängt natürlich davon ab, was du genau machen willst. Ich bin aber auch nicht der Super Watchdog-fachmann.
Titel: Antw:Watchdog
Beitrag von: hhsch am 22 November 2013, 16:46:26
Problem wurde gelöst:

Vorher:define y watchdog Schalter1.state:on 00:00:05 Schalter1.state:off set Schalter1 off;;setstate y defined

Nacher:define y watchdog Schalter1.*:on 00:00:05 Schalter1.*:off set Schalter1 off;;setstate y defined

Warum geht es nur mit "*"?

Grüße
hhsch
Titel: Antw:Watchdog
Beitrag von: Zrrronggg! am 22 November 2013, 16:51:53
Gegenfrage: Was ist "Schalter1" für ein Gerät und wie ist seine defintion?
Titel: Antw:Watchdog
Beitrag von: hhsch am 22 November 2013, 16:59:51
Schalter1 ist so definiert:

define Schalter1 FS20 xxxx xx
attr Schalter1 model fs20su
attr Schalter1 room FS20


Die "x" sind Zahlen.
Titel: Antw:Watchdog
Beitrag von: koldomon am 22 November 2013, 17:08:32
Als ablsoluter NoBrainer tipp ich mal

ZitatSchalter1.state:off
wobei das als RegEx bedeutet, dass "." ein Zeichen ersetzt. Da würden Events "Schalter1:state:off" erfasst werden. Dein Event müsste aber "Schalter1 off" sein. Du musst ".state" garnicht angeben, was du mit ".*" als RegEx auch getan hast  ;D. Um dich auf den festen Wert festzulegen müsste "Schalter1:off" funktionieren.

Wie gesagt - nobrainer, korrigiert mich 8)
Titel: Antw:Watchdog
Beitrag von: hhsch am 22 November 2013, 17:24:12
Ok danke.

Wie bekomme ich es hin, dass nur von den Readings die "state" Zeile verglichen werden soll? Aktuelles Reading:
state off 2013-11-22 00:26:12

Es können ja auch mehrere Readings mit dem Wert "off"/"on" existieren.

Grüße
hhsch
Titel: Antw:Watchdog
Beitrag von: Zrrronggg! am 22 November 2013, 17:33:05
ZitatEs können ja auch mehrere Readings mit dem Wert "off"/"on" existieren.

Zum Beispiel? (ich kenn keine)

FS20 testet man nur gegen den Schaltzustand (FS20 kennt soweit ich mich erinnere 16 sates aber eben nur "states" nix sonst)

Es reicht daher Schalter1:on (oder wenn man auch on-for-timer und ähnlichen Kram erfassen will Schalter1:on.*)

D.H. ein
ZitatSchalter1.state:
gibt es bei FS20 nicht.

Bei HM Schaltern und Aktoren ist das anders, weil die viel mehr können und ausserdem nach dem Pairen verschiedene Taster eines Schalter als Button EINES Gerätes gefiltert werden.

Bei FS20 hingegen wird jedes Tastenpaar (oder bei Toggel jeder Taster) als eigenes Geräte definiert.

d.h. koldomon hat Recht.

Titel: Antw:Watchdog
Beitrag von: koldomon am 22 November 2013, 18:05:29
ZitatEs können ja auch mehrere Readings mit dem Wert "off"/"on" existieren.

Mal "Highlevel" beschrieben
Der WD (Watchdog) reagiert auf ein Event, nicht auf das Reading. Das was du im Eventmonitor siehst, das sieht auch der WD.

Du bringst da nur was durcheinander. Readings kannst du innhalb "des auszuführenden befehls" verwenden. Mit der RegEx des WD legst du einen "Textfilter" auf die Events. Passt der Filter, reagiert der WD.

Mit dem WD hab ich auch ewig gebraucht, bis ich den richtig verstanden habe. Als Beispiel kann ich dir mal meine Verwendung zu WD posten
#Presence
define 02_OG_Wohn_Computer_Presence PRESENCE lan-ping <hostname> 120 600

#Notify
#02_OG_Wohn_Computer_Watchdog NOTIFY
define 02_OG_Wohn_Computer_Watchdog_Notify notify 02_OG_Wohn_Computer_Watchdog_Notify {\
fhem "set <DEIN_DEVICE> $EVENT";;\
}

#Watchdog_Absent
#Trigger Notify off and let state "triggered" set
define 02_OG_Wohn_Computer_Watchdog_Absent watchdog 02_OG_Wohn_Computer_Presence:absent 00:05:00 02_OG_Wohn_Computer_Presence:present {\
fhem "trigger 02_OG_Wohn_Computer_Watchdog_Notify off";;\
fhem "setstate 02_OG_Wohn_Computer_Watchdog_Present defined";;\
}
attr 02_OG_Wohn_Computer_Watchdog_Absent disable 0
attr 02_OG_Wohn_Computer_Watchdog_Absent regexp1WontReactivate 1


#Watchdog_Present
#set state of 02_OG_Wohn_ComputerAbsent_Watchdog to "defined"
define 02_OG_Wohn_Computer_Watchdog_Present watchdog 02_OG_Wohn_Computer_Presence:present 00:05:00 SAME {\
fhem "setState 02_OG_Wohn_Computer_Watchdog_Absent defined";;\
}
attr 02_OG_Wohn_Computer_Watchdog_Present disable 0

Ist der Computer "present", setz ich "WD_Absent" auf "defined" (reset des WD)
Ist der Computer für 5 Minuten "absent" (hybernate oder shutdown), dann wird die steckdose ausgeschaltet (was mal so nebenbei 26W/h bei mir spart) und der "WD_Present" auf "defined" (reset des WD) gesetzt
Das zurücksetzen des WD durch die ständig auftretenden "absent" Meldungen des PRESENCE hat mich zu dieser Lösung gezwungen. Wenn da einer was besseres weiss, her damit  :D

ich hoffe mein Beispiel bringt dich weiter.
Titel: Antw:Watchdog
Beitrag von: UliM am 23 November 2013, 09:21:55
Hi,
kleine Bitte am Rande: wenn die Doku zu watchdog als "dünn" empfunden wird und hier hilfreiche Erklärungen gegeben werden - schreibt sie doch bitte in ne Entspr. Wiki-Seite, damit's nicht versandet :)
Gruß, Uli