NEWS
Tagesverbrauch - Ich komm nicht drauf
-
Hallo zusammen,
bin echt am verzweifeln. Hab diesen query geschrieben. Der "mystrom energy since boot - WLAN" liefert immer die summierte Energie in Watt-Sekunden seit der ersten Betriebssekunde. Und ich möchte daraus den Tageswert jeweils ermitteln. Also um Mitternacht immer bestimmen, was seit letzter Mitternacht dazu kam. Aber der query summiert einfach Tag für Tag zusammen. Wo ist der Fehler? Kann mir jemand helfen?
import "timezone"
option location = timezone.location(name: "Europe/Berlin")
from(bucket: "homebucket")
|> range(start: -10d)
|> filter(fn: (r) => r["_measurement"] == "mystrom energy since boot - WLAN" and r["_field"] == "value")
|> aggregateWindow(every: 24h, fn: last, timeSrc: "_start", createEmpty: false)
|> difference(nonNegative: true, columns: ["_value"])
|> map(fn: (r) => ({r with _value: r._value / 3600.0}))
|> yield(name: "last") -
@mere13 sagte in Tagesverbrauch - Ich komm nicht drauf:
|> aggregateWindow(every: 24h, fn: last, timeSrc: "_start", createEmpty: false)
Würde stattdessen mal
every: 1d
testen. Sonst werden wahrscheinlich immer nur 24 Stunden genommen und die Tagesgrenze ignoriert.Ich würde vor dem aggregateWindow die Differenz bilden und dann
sum
aller Differenzen anwenden.import "timezone" option location = timezone.location(name: "Europe/Berlin") from(bucket: "homebucket") |> range(start: -10d) |> filter(fn: (r) => r["_measurement"] == "mystrom energy since boot - WLAN" and r["_field"] == "value") |> difference(nonNegative: true, columns: ["_value"]) |> aggregateWindow(every: 1d, fn: sum, timeSrc: "_start", createEmpty: false) |> map(fn: (r) => ({r with _value: r._value / 3600.0})) |> yield(name: "last")