FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: gadget am 30 September 2022, 13:54:00

Titel: Idee gesucht: Feststellen, ob sich ein reading längere Zeit nicht geändert hat
Beitrag von: gadget am 30 September 2022, 13:54:00
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
Titel: Antw:Idee gesucht: Feststellen, ob sich ein reading längere Zeit nicht geändert hat
Beitrag von: betateilchen am 30 September 2022, 13:56:43
https://commandref.fhem.de/commandref_DE.html#readingsWatcher
Titel: Antw:Idee gesucht: Feststellen, ob sich ein reading längere Zeit nicht geändert hat
Beitrag 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 Sensor nichts mehr sendet.
Titel: Antw:Idee gesucht: Feststellen, ob sich ein reading längere Zeit nicht geändert hat
Beitrag von: Beta-User am 30 September 2022, 14:12:17
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"?
Titel: Antw:Idee gesucht: Feststellen, ob sich ein reading längere Zeit nicht geändert hat
Beitrag von: jhohmann am 30 September 2022, 14:46:10
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.
Titel: Antw:Idee gesucht: Feststellen, ob sich ein reading längere Zeit nicht geändert hat
Beitrag von: gadget am 30 September 2022, 19:08:03
Zitat von: Beta-User am 30 September 2022, 14:12:17
(...) passendes "timestamp-on-change-reading"

Das könnte klappen. Probier ich aus. Danke !
Titel: Antw:Idee gesucht: Feststellen, ob sich ein reading längere Zeit nicht geändert hat
Beitrag von: sash.sc am 30 September 2022, 21:21:39
Vielleicht noch reagingsage?
Titel: Antw:Idee gesucht: Feststellen, ob sich ein reading längere Zeit nicht geändert hat
Beitrag von: frank am 30 September 2022, 21:52:17
warum nicht die maxage attribute von httpmod?
Titel: Antw:Idee gesucht: Feststellen, ob sich ein reading längere Zeit nicht geändert hat
Beitrag von: gadget am 04 Oktober 2022, 19:24:07
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.