Hallo,
Ich lese über httpmod einen über thingspeak angebundenen Temperatursensor aus. Es kann passieren, dass der Sensor aus irgend einem Grund nichts mehr sendet. Normalerweise tut er das alle 10 Minuten. Dann liest httpmod aber trotzdem brav den letzten Wert bei thngspeak. Ich bräuchte also irgend einen Mechanismus, der erkennt, dass sich das reading über einen längeren Zeitraum (z.B. 6 Stunden) überhaupt nicht verändert hat. Das passiert bei der Temperatur nämlich nie.
Irgend eine Idee ?
Grüße, gadget
https://commandref.fhem.de/commandref_DE.html#readingsWatcher
Der readingswatcher prüft aber nur, ob das reading aktualisiert wird. Das hilft mir nichts. Das httpmod pollt ja unbeirrt weiter und aktualisiert das reading immer wieder mit dem gleichen Wert auch wenn der Sensor nichts mehr sendet.
Zitat von: gadget am 30 September 2022, 13:59:32
Der readingswatcher prüft aber nur, ob das reading aktualisiert wird. Das hilft mir nichts. Das httpmod pollt ja unbeirrt weiter und aktualisiert das reading immer wieder mit dem gleichen Wert auch wenn der Sonsor nichts mehr sendet.
Auch, wenn du dort "event-on-change-reading" entsprechend gesetzt hast und das ergänzt durch ein passendes "timestamp-on-change-reading"?
Ich überprüfe, ob meine Feuchtigkeitssensoren noch funktionieren. Die klinken sich warum auch immer zwischendurch mal aus.
Das mache ich mit einem AT (hier die RAW-Definition):
defmod atCheckFeuchtigkeitsSensoren at *04:00:00 {\
my @sensoren = devspec2array("type=ZHAHumidity");;\
my $nichterreichbar = "";;\
foreach(@sensoren) {\
my $reach = ReadingsNum($_, "reachable", 0);;\
my $time = ReadingsAge($_, "reachable", 0);;\
if ($reach == 0 && $time > 2000) {\
$nichterreichbar = $nichterreichbar.$_.";;";;\
}\
}\
if (length($nichterreichbar) > 0) {\
#Nachricht verschicken...;;\
}\
}
Die Elemente oder das konkrete Reading und auch das Alter bitte selbst anpassen.
Zitat von: Beta-User am 30 September 2022, 14:12:17
(...) passendes "timestamp-on-change-reading"
Das könnte klappen. Probier ich aus. Danke !
Vielleicht noch reagingsage?
warum nicht die maxage attribute von httpmod?
Zitat von: frank am 30 September 2022, 21:52:17
warum nicht die maxage attribute von httpmod?
Das Lesen der Readings per httpmod bei Thingspeak funktioniert ja auch dann weiterhin wenn der Sensor nichts mehr an thingspeak sendet. Man bekommt halt immer nur wieder den letzten Wert Würde also nur bei einer Störung der Kommunikation mit fhem>->thingspeak was bringen, aber den Fehler zwischen sensor <-> thingspeak nicht finden.