Watchdog

Begonnen von daredevil, 08 Dezember 2014, 11:39:45

Vorheriges Thema - Nächstes Thema

daredevil

Hi,

da wir uns nun wieder in der dunklen Jahreszeit befinden, und ich Eltako Raumtemperaturregler FTR55d nutze und diese leider in
einigen Räumen nun nicht mehr genug Licht erhalten um sich komplett aufzuladen, habe ich dafür einen Watchdog erstellt.

Dies funktioniert allerdings nicht zuverlässig. Aufgabenstellung war folgende:

Die Raumtemperaturregler senden alle 20 min ein Signal an den Aktor, kommt innerhalb von 50 min kein Signal mehr an, schaltet das Eltako Relais in den
Fehlermodus und somit wird dann der Raum aufgeheizt. Dies möchte ich allerdings vermeiden und habe mir dazu folgenden Watchdog erstellt:

define thermoCheckSZ watchdog thermostatSZ:setpointTemp.* 00:50:00 SAME set stellmotorSZ setpointTemp;; trigger thermoCheckSZ .
attr thermoCheckSZ room Schlafzimmer


Ich kann mich leider nicht darauf verlassen, das dies immer funktioniert. Häufig wird der Trigger ausgelöst, aber es kommt eben auch vor, dass der Status auf defined steht und dann
der Watchdog gar nicht mehr angesprochen wird, bis ich entweder manuell setpointTemp des Thermostats in FHEM auslöse oder warte bis das Thermostat wieder seinen Sendebetrieb aufnimmt.

Ich wollte dies nicht mit einem timer durchführen, sondern gerne den watchdog dafür nutzen. Gibt es einen Bug im watchdog? Der Aufbau des watchdog entspricht der Commandref.

rudolfkoenig

ZitatGibt es einen Bug im watchdog?
Das sieht man, wenn du alle passenden Events dazu postest.
Die Events kann man mit einem FileLog sammeln.

daredevil

#2
2014-12-08_13:35:33 thermoCheckBad .
2014-12-08_15:35:23 thermoCheckBad .
2014-12-08_22:30:10 thermoCheckBad .
2014-12-09_12:42:52 thermoCheckBad .
2014-12-09_15:02:25 thermoCheckBad .
2014-12-09_19:55:27 thermoCheckBad .
2014-12-09_22:51:25 thermoCheckBad .
2014-12-10_03:29:26 thermoCheckBad .
2014-12-10_04:51:49 thermoCheckBad .
2014-12-10_07:51:09 thermoCheckBad .
2014-12-10_11:21:10 thermoCheckBad .
2014-12-10_18:46:01 thermoCheckBad .
2014-12-10_20:13:19 thermoCheckBad .
2014-12-10_21:17:54 thermoCheckBad .
2014-12-10_22:38:39 thermoCheckBad .


Bitteschön. Allerdings glaube ich nicht wirklich das dies aussagekräftig ist. Der Trigger wird nicht mehr ausgeführt
und der Status steht auf defined. Zudem sieht man, dass dieser nicht alle 50min ausgelöst wurde, wie definiert. Dies resultiert daraus,
dass der FTR55 zwischendurch immer mal wieder gesendet hat, aber seit 10.12.2014 21:48:39 nichts mehr sendet.  Das Thermostat ist bewusst nicht wieder aufgeladen worden. Auch FHEM wurde nicht durchgestartet.

rudolfkoenig

Der o.g. watchdog loest aus, falls als erstes ein thermostatSZ:setpointTemp.* bekommt, und danach 50 Minuten lang keins. Da ich in dem Log kein thermostatSZ gesehen habe, kann ich auch kein Fehler des Watchdogs erkennen.

daredevil

#4
Es spielt keine Rolle, da der Watchdog für alle meine Thermostate entsprechend gleich angelegt wurde. Und die Verhaltensweise bei allen Watchdogs gleich ist.

Habe hier nur das Bad genommen, da dort sowieso geheizt wird und es keine Rolle spielt ob das Relais in den Fehlermodus schaltet.
Ich kann den Eventauszug aus meinem vorherigen Post auch gerne auf ThermoCheckSZ abändern, falls gewünscht.

Ändert nichts an der Tatsache, das der Watchdog seine Arbeit einfach einstellt und nicht das tut was er soll.
Es müsste alle 50min der Trigger ausgelöst werden, da vom Thermostat seit 10.12 21:48 keine Signale mehr gesendet werden und das findet nicht statt oder warum habe ich wohl unter dem Eventauszug noch eine Erklärung dazu geschrieben. Wie der Watchdog funktionieren sollte ist mir Bewusst, tut er aber nicht zuverlässig.

Danke für die hilfreiche Antwort.
*Kopfschüttel*


rudolfkoenig

ZitatEs müsste alle 50min der Trigger ausgelöst werden, da vom Thermostat seit 10.12 21:48 keine Signale mehr gesendet werden
Das ist nicht richtig.

Ich wiederhole mich (ungern):
ZitatDer o.g. watchdog loest aus, falls als erstes ein thermostatSZ:setpointTemp.* bekommt, und danach 50 Minuten lang keins.
D.h. es reicht nicht, wenn 50 Minuten lang kein Event kommt, und ein FHEM Neustart (bzw. ein rereadcfg) setzt diesen wachdog zurueck, dh. es muss wieder ein passendes Event kommen, um es zu aktivieren. Mann kann zwar watchdogs auch beim definieren aktivieren (d.h. ein erstes event ist nicht notwendig), das ist hier aber nicht der Fall.