Hallo zusammen,
ich baue gerade eine Tablet UI auf mit FTUI. Dort zeige ich einige Temperaturen an.
Es kommt jedoch immer mal wieder vor, dass ein Sensor nicht sauber empfangen wird und die Werte somit unter Umständen mehrere Tage alt sein können.
Statt jetzt neben jede Temperatur noch den Zeitstempel zu schreiben hätte ich mir gewünscht, dass statt der Temp dann einfach "--.-" angezeigt wird.
Gibt es dafür schon eine einfache Lösung zum Beispiel über ein Attribut "Reading-timeout" oder so. ???
Als Workaround könnte ich natürlich zyklisch über AT alle Zeitstempel auswerten und das entsprechende Reading ändern.
Gruß
drobskind
du könntest mit readingschange und einer perl Funktion arbeiten, alternativ ein notfiy und perl Funktion auf die Readings setzen, oder natürlich mit einem DOIF auf die Readings lauschen und ersetzen. Aber ein direktes Modul, welches alte Readings überprüft ist mir nicht bekannt.
Hi,
ich denke am kürzesten und "schönsten" geht das mit userReadings. Also in etwa so:
attr sensor userReadings tempIfNotTooOld:temperature.* {fhem("sleep 3600 temp4711sleep; setreading sensor tempIfNotTooOld --.-");;ReadingsVal("sensor","temperature","--.-"}
...absolut ungetestet, aber ich bin mir sicher, dass die Idee in die richtige Richtung geht.
Gruß,
Thorsten