Hallo,
habe schon alles mögliche Probiert und auch im Forum gesucht - möglicherweise ist es nur ein Syntaxproblem bei mir.
Ich möchte mit DbRep und und reduceLog die Daten auf einen Wert pro Stunde als Mittelwert zusammenfassen. Egal wa ich probiere, es wird immer nur als Zusammenfassung der jeweils erste Datensatz der Stunde als Zusammenfassung eingetragen.
Das set sieht so aus:
set dbreduce reduceLog logdb average=hour averageValue=writeToDBSingle
Und die Attribute des dbreduce:
attr dbreduce aggregation hour
attr dbreduce averageCalcForm avgArithmeticMean
attr dbreduce device WoZi.TH.Climate
attr dbreduce reading measured-temp
attr dbreduce timestamp_begin 2021-03-16 00:00:00
attr dbreduce timestamp_end 2021-03-16 23:59:50
Was mache ich falsch?
Vielen Dank für Hilfe.
Hallo atze2010,
den Zusatz averageValue gibt es nicht, den kannst du weglassen. Wo hast du den überhaupt her ?
average=hour gibt es auch nicht, entweder nur average oder average=day.
Der Befehl würde dann lauten:
set dbreduce reduceLog logdb average
Aber ich glaube es gibt ein Issue, wenn die Zeitgrenzen nur innerhalb eines Tages liegen.
Erweitere mal bitte deine time.* Attribute zum Beispiel so:
attr dbreduce timestamp_begin 2021-03-15 00:00:00
attr dbreduce timestamp_end 2021-03-16 23:59:50
Grüße,
Heiko
Danke für die schnelle Antwort. Habe es so abgeändert und über 4 Tage laufen lassen, hat leider nichts geändert, immer noch statt Mittelwert der erste zeitliche Eintrag aus der Datenbank. Es ist auch im log nichts zu erkennen, dass ein average angewendet wurde:
2021.04.25 09:03:13 3: DbRep dbreduce - ################################################################
2021.04.25 09:03:13 3: DbRep dbreduce - ### new reduceLog run ###
2021.04.25 09:03:13 3: DbRep dbreduce - ################################################################
2021.04.25 09:03:14 3: DbRep dbreduce - reduce data older than: 2021-03-20 23:59:50, newer than: 2021-03-17 00:00:00
2021.04.25 09:03:14 3: DbRep dbreduce - reduceLog requested with options: INCLUDE -> Devs: WoZi.TH.Climate Readings: measured-temp
PS: mit DBLog und reduceLogNbl hatte es versuchsweise übrigens gut funktioniert, wollte aber lieber generell mit DbRep arbeiten.
Ach jetzt sehe ich erst dass die Syntax grundsätzlich falsch ist wenn du dich nicht verschrieben hast. ???
Nicht: set dbreduce reduceLog logdb average
Sondern set dbreduce reduceLog average
Das "logdb" gehört dort nicht hin. Habs auch erst nicht gesehen.
Verbose 4 oder 5 zeigt dir mehr Infos zum reduce Lauf.
Super - das wars! Vielen Dank.
Grüße Uwe
Passiert, manchmal ist man einfach mal blind. :D
Schönen Sonntag!
Heiko