[gelöst] Statistics, Probleme mit Berechnung von Delta Werten

Begonnen von KNUT345, 29 Mai 2018, 19:12:56

Vorheriges Thema - Nächstes Thema

KNUT345

Hallo Zusammen,
ich wollte mir einen Fitness-Tracker bauen und mit dem statistics-Modul diverse Auswertungen machen.
Da ich schon alte Werte hatte wollte ich diese per setreading/setstate vorbelegen.
Das funktionierte soweit auch, allerdings bei einem Dummy bekomme ich keine Berechnung der Delta Werte.
Die Vorbelegung war:
setstate Fitness 2018-05-27 15:18:23 statMyCountTotal Hour: 1 Day: 1 Month: 43 Year: 277
Nach Aktualisierung um 1
statMyCountTotal Hour 2018-05-29 18:33:40

Ich habe schon den Dummy mehrfach neu angelegt,
die Readings per set Statistik_Fitness resetStatistics Fitness zurückgesetzt,
den Dummy aus dem Statistik-Modul entfernt, etc.
aber mit diesem einen Dummy erhalte ich keine korrekte Berechnung bzw. keine Berechnung.

OK, ich weis dass man das üblicherweise anders macht,
aber warum funktioniert es mit 4 Dummies und mit dem 5ten nicht?


defmod Statistik_Fitness_Total statistics Fitness|Radfahren....
attr Statistik_Fitness_Total deltaReadings myCountTotal,myDauerHTotal,myDistanzTotal,myKalorienTotal
attr Statistik_Fitness_Total disable 1
attr Statistik_Fitness_Total ignoreDefaultAssignments 1
attr Statistik_Fitness_Total room System->FHEM
attr Statistik_Fitness_Total singularReadings .*:my*.*Total:Delta:(Day|Month|Year)


Hat jemand einen Tipp?

Grüße
Knut

rudolfkoenig

setstate erzeugt keine Events, und statistics kann nur auf Events reagieren.
Events erzeugt ein dummy dann, wenn setList und readingsList gesetzt ist, und man die Readings/Events mit set setzt.
Weiterhin darf der dummy nicht mit disable/disableForIntervals deaktiviert sein.

Das ist alles geraten, weil ich nur ein Teil der Definitionen sehe, und deswegen es nicht selbst nachstellen kann.

KNUT345

Danke für den Hinweis, das habe ich soweit eigentlich versucht umzusetzen.

defmod Fitness dummy
attr Fitness DbLogInclude statMy*.*(Day|Month|Year),stat*.*(Min|Avg|Max)
attr Fitness event-min-interval .*:10800
attr Fitness event-on-change-reading .*
attr Fitness event-on-update-reading statMy*.*(Day|Month|Year),stat*.*(Min|Avg|Max)


defmod Radfahren dummy
attr Radfahren DbLogInclude statMy*.*(Day|Month|Year),statMy*.*(Min|Avg|Max)
attr Radfahren event-min-interval .*:10800
attr Radfahren event-on-change-reading .*
attr Radfahren event-on-update-reading statMy*.*(Day|Month|Year),stat*.*(Min|Avg|Max)

setList und readingsList benutze ich um vereinfachte Eingaben zu realisieren,
aber das anfangs genannte Problem-Reading: myCountTotal wird über ein Notify per setreading beschrieben.
Der wesentliche Unterschied zwischen den gezeigten Dummies ist, dass ich nur bei Fitness setList und readingsList verwende.
Was irritiert ist, dass ein anderes Reading bei Fitness funktioniert.
Zitatsetstate Fitness 2018-05-29 18:54:55 statMyDauerHTotal Hour: 0.50 Day: 0.50 Month: 0.50 Year: 0.50 (since:  )
OK, ich werde die Unterschiede nochmals beobachten und ggf. hier darstellen.
Momentan favorisiere ich einen Ersatz-Dummy den ich mal parallel beschreibe wie den Radfahren.

Danke und Grüße
Knut

KNUT345

Sorry,
Fehlalarm, hab meinen Fehler gefunden!
Hab mir die Readings mit meinem Notify überschrieben.

Grüße
Knut