FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: _Gunther am 20 Juni 2021, 13:04:31

Titel: Timeout bei Readings
Beitrag von: _Gunther am 20 Juni 2021, 13:04:31
Gibt es einen bequemen Weg bei Readings einen Timeout zu setzen nachdem der Wert zurück gesetzt wird?

Hintergrund sind Sensoren die nicht sehr zuverlässig die Temperatur setzen. Falls für Stunden kein neuer Wert kommt, so bleibt der alte Wert stehen. Ich bräuchte hier nach zBsp 1 Stunde einen nicht definierten Wert anstelle des veralteten.

Ich könnte mir periodische Skripte vorstellen, aber das ist alles fern von bequem.
Titel: Antw:Timeout bei Readings
Beitrag von: Otto123 am 20 Juni 2021, 15:41:06
Da gibt es mehrere Möglichkeiten. Wenn Du kein separates Device willst, missbrauche ein userReadings in der Art (nicht getestet):
attr DeviceNameDeinesSensors userReadings watchdog:temperature:.* {fhem("sleep 3600 watch1;; setreading $name temperature undef")}
Wirkungsweise: ein benanntes sleep wird gestartet wenn ein Temperatur Wert kommt, kommt innerhalb einer Stunde wieder einer beginnt der Timer einfach von vorn, kommt kein Wert wird das reading temperature auf einen Wert gesetzt.
Das reading watchdog bleibt leer...

Achte beim eingeben des Codes auf die Semikolons, wenn Du es über die DEF machst darf nur eines hin!

Gruß Otto
Titel: Antw:Timeout bei Readings
Beitrag von: TomLee am 20 Juni 2021, 17:06:14
Warum genau kommt es bei dem Vorschlag nicht zu der ... prohibited Meldung ?

Es ist doch ein setreading im selben Device und $name wird auch verwendet.

Liegt es daran das aus der Perl-Ebene der FHEM-Befehl ausgeführt wird und es darum dann nicht zu der Meldung kommt ?
Titel: Antw:Timeout bei Readings
Beitrag von: Otto123 am 20 Juni 2021, 17:12:54
@Thomas Durch das sleep ist es quasi ausgelagert.
Titel: Antw:Timeout bei Readings
Beitrag von: TomLee am 21 Juni 2021, 18:14:19
Mich beschäftigt das weiter, kann auch daneben liegen (irgendwas ist mir aber in Erinnerung, komm aber nicht drauf), müsste es nicht ein at geben das mir mit list TYPE=at angezeigt würde ? Ist es versteckt und ich muss mich nur wieder weiter einlesen bis ich drauf komme ?
Titel: Antw:Timeout bei Readings
Beitrag von: Otto123 am 21 Juni 2021, 18:43:33
cancel zeigt Dir das "named sleep" solange an wie es existiert.
Titel: Antw:Timeout bei Readings
Beitrag von: TomLee am 21 Juni 2021, 19:24:16
Ja, machts, Danke.


Verstehen tu ich deshalb gerade nicht mehr, irgendwo her muss der Timer ja kommen. Ich mag mich aber aktuell nicht tiefer mit beschäftigen, auch wenn es mich grundsätzlich interessieren würde warum und weshalb.
Titel: Antw:Timeout bei Readings
Beitrag von: rabehd am 21 Juni 2021, 19:37:00
Hätte die Suche nicht geholfen?

https://forum.fhem.de/index.php/topic,49408.msg410767.html#msg410767 (https://forum.fhem.de/index.php/topic,49408.msg410767.html#msg410767)
Titel: Antw:Timeout bei Readings
Beitrag von: _Gunther am 26 Juli 2021, 19:22:54
Den Tipp mit dem watchdog habe ich verwendet und er funktioniert wie gewünscht.

Das Module Modul 98_readingsWatcher scheint es bequemer zu machen, schaue nun, wie ich mit dem zurecht komme.

Vielen Danke für die Antworten!

PS:
Zitat von: rabehd
Hätte die Suche nicht geholfen?
Falls die Frage mir gegolten hat, so ist der Konjunktiv unbegründet. Die Suche half nicht, daher der Beitrag. Aber man freut sich schon, wenn der erste Forumsbeitrag in der Kategorie Anfängerfragen so nett beantwortet wird!