NEWS
Grafana mit InfluxDB und Flux
-
Haben wir hier auch Experten, die sich mit Grafana, InfluxDB und Flux auskennen?
Meine Voraussetzungen:
Eine InfluxDB 1.8 mit freigeschalteter Flux-Kodierung auf Grafana. Die Diagramme binde ich in meine VIS ein. Eine InfluxDB-Tabelle nimmt die Änderungen eines ioBroker-Datenpunkts auf, welches den Zählerstand meines Stromzählers darstellt.Mein Ziel:
Ein Diagramm soll innerhalb des jeweiligen Monats den Tagesverbrauch als Balken darstellen und den Gesamtverbrauch des jeweiligen Jahres als Linie.Meine Fragen & Probleme:
Das Liniendiagramm gibt den Gesamtstromverbrauch wieder. Ich möchte aber den Jahresverbrauch darstellen. Also <Gesamtstromverbrauch> - <Stromverbrauch am 01.01.2022 um 0:00 Uhr>. Wie kann ich das wohl in den Code einfügen?
from(bucket: v.defaultBucket) |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r._measurement == "Stromverbrauch" and r._field == "value") |> set(key: "_field", value: "Verbrauch kumuliert")
Ich freue mich auf einen regen Austausch!
Grüße,
Timo -
@spampunk Ja was denn nun? Tagesverbrauch? Oder Jahresverbrauch?
Mach 2 weiterere Queries drunter...
Tagesverbauch:
|> aggregateWindow(every: 24h, fn: last, createEmpty: true)
Jahresverbrauch
|> aggregateWindow(every: 365d, fn: last, createEmpty: true)
Du musst allerdings den Tagesverbrauch auf die jeweils andere Y-Achse legen und eine andere Skalierung wählen... sonst erkennst du die Linie nicht, weil der Verbrauch pro Tag ein 365igstel vom Jahr ist.
-
@ftd Das ist eigentlich gar nicht Problem, das funktioniert wunderbar.
Also, worum geht es?
Der Datenpunkt in iobroker zeigt immer den Gesamtverbrauch am Stromzähler an. Das ist wunderbar, um ihn an meinen Provider zu melden. Ich möchte aber nur den Verbrauch des jeweiligen Jahres im Diagramm haben. (siehe Rechnung im Ursprungspost).
Bei der Aggregation solltest Du übrigens every: 1y Deiner Schreibeweise vorziehen, damit Du auch Schaltjahre mit berücksichtigst. Flux kann ja auch Monat und Jahr (das war bei mir das Argument auf Flux umzusteigen).