Ich stehe irgend wie auf dem Schlauch und bräuchte mal einen Tipp.
Meine Außentemperatur erfasse ich mit einem LaCrosse Sensor. Was mich jetzt interessiert ist der Mittelwert der Außentemperatur über 24 Stunde.
Deshalb habe ich userReading angelegt mittels: attr LaCro1 userReadings temp24h { ReadingsVal($NAME,"temperature",0) }
Dann habe ich den event-aggregator so angelegt: attr LaCro1 event-aggregator temp24h::linear:mean:86400
Wenn ich das userreading ansehe, steht da immer der aktuelle Temperaturwert, nicht der Durchschnittswert. Auch in der Visualisierung mit Tablet UI sehe ich den aktuellen Temperaturwert.
ABER: In meiner SQL-Datenbank steht der aggregierte Wert und wenn ich über das Web Frontend den Wert beobachte, sehe ich immer mal wieder kurz den aggregierten Wert.
Was habe ich falsch gemacht?
Gruß und Danke schon mal für eure Hilfe!
So, nach einigem rumprobieren ist es mir jetzt mittels eines DOIF-Device gelungen den Wert zu berechnen und zurück ins Reading von dem Sensor zu schreiben.
Falls es jemand interessiert, so habe ich das DOIF-Device definiert:
defmod temp24h_event DOIF (["^LaCro1:temperature"]) (setreading temp24h_event aggregiert [LaCro1:temperature])(setreading LaCro1 temp24h [temp24h_event:aggregiert])
attr temp24h_event do always
attr temp24h_event event-aggregator aggregiert::linear:mean:86400
attr temp24h_event wait 0,1
Gruß
Michael