Hallo,
habe hier ein seltsames Problem.
Für ein shelly-Thermostat würde ich mir gerne im state das ReadingAge ausgeben lassen (weil das Ding nur sehr unregelmäßig sendet).
Das hab ich jetzt mal so gebaut:
{ sprintf("T: %s °C H: %s %(vor %s m)", ReadingsVal("winkler_sensor","temperature",0), ReadingsVal("winkler_sensor","humidity",0), POSIX::round(readingAge("winkler_sensor","temperature")/60)) }
(das mit dem sprintf hab ich so aus dem mqtt2-template übernommen)
Was ich nicht verstehe: das Alter wird nicht refresht, auch wenn ich ein page refresh im browser mache.
Lasse ich es mir dagegen direkt ausgeben, stimmt es.
Sorry, wenn es das Thema schon gab und ich es überlesen habe - aber kennt wer das Problem und evtl auch eine Lösung?
Cheers,
Pula
readingAge gibt es "offiziell" nicht ... müsste wohl ReadingsAge heissen.
ReadingsAge hat drei Muss-Parameter ... <name>, <reading>, <default> ... z.B.:
ReadingsAge("winkler_sensor","temperature",0)
Ich tippe mal... (!). Es geht um stateFormat? Das wird dann evaluiert, wenn es ein triggerndes Event im betreffenden Device gab. Sonst nicht...
@Odfhem: danke, das war die Lösung. Hab da vor ewigkeiten mal was in myUtils eingebaut und nicht mehr dran gedacht. Mit ReadingsAge tut es so, wie es soll...
Cheers,
Pula