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") -
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: 1dtesten. Sonst werden wahrscheinlich immer nur 24 Stunden genommen und die Tagesgrenze ignoriert.Ich würde vor dem aggregateWindow die Differenz bilden und dann
sumaller 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")
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden