NEWS
Grafana Stromauswertung Wochen und Monatsverbrauch
-
Hallo zusammen,
gerne würde ich im Grafana meinen Stromzählerverbrauch abbilden.
Dazu nutzte ich einen Tasmota IR Lesekopf am Stromzähler.Nun habe ich versucht, mit dem aktuell angezeigten momentan Verbrauch ein Diagramm zu erzeugen. Leider kommen da werte raus, die überhaupt nicht stimmen können.
Ich hoffe sehr, hier hilfe zu finden. Im Anhang einmal der Code. Was mache ich falsch? Oder muss ich den gesamtverbrauch dazu nehmen und das damit rechnen?
from(bucket: "nodered")
|> range(start: -7d,)
|> filter(fn: (r) => r["_measurement"] ==
"sonoff.0.DVES_31F2FC.MT681_Power_cur")
|> filter(fn: (r) => r["_field"] == "value")
|> aggregateWindow(every: 24h, fn: sum, timeSrc: "_start")Viele Grüße Martin
-
@martinibianco8 sagte in Grafana Stromauswertung Wochen und Monatsverbrauch:
Hallo zusammen,
gerne würde ich im Grafana meinen Stromzählerverbrauch abbilden.
Dazu nutzte ich einen Tasmota IR Lesekopf am Stromzähler.Nun habe ich versucht, mit dem aktuell angezeigten momentan Verbrauch ein Diagramm zu erzeugen. Leider kommen da werte raus, die überhaupt nicht stimmen können.
Ich hoffe sehr, hier hilfe zu finden. Im Anhang einmal der Code. Was mache ich falsch? Oder muss ich den gesamtverbrauch dazu nehmen und das damit rechnen?
from(bucket: "nodered")
|> range(start: -7d,)
|> filter(fn: (r) => r["_measurement"] ==
"sonoff.0.DVES_31F2FC.MT681_Power_cur")
|> filter(fn: (r) => r["_field"] == "value")
|> aggregateWindow(every: 24h, fn: sum, timeSrc: "_start")Viele Grüße Martin
Teste mal
import "timezone" option location = timezone.location(name: "Europe/Berlin") from(bucket: "nodered") |> range(start: -7d, stop: v.timeRangeStop) |> filter(fn: (r) => r["_measurement"] == "sonoff.0.DVES_31F2FC.MT681_Power_cur"] == "value") |> difference() |> aggregateWindow(every: 24h, fn: sum, timeSrc: "_start")
-
Leider kommt dann dieses Fehlerbild
invalid: compilation failed: error @6:85-6:87: invalid expression: invalid token for primary expression: EQ error @6:88-6:95: invalid expression @6:83-6:84: ]
-
@martinibianco8
Die Frage ist, was wilst Du anzeigen?
Die Verbrauchs-Kurve der letzten 7 Tage?
Ich nehme an, der Datenpunkt "sonoff.0.DVES_31F2FC.MT681_Power_cur" zeigt den aktuellen Stromverbrauch zum Zeitpunkt an.
Dann solltest Du folgendes einsetzen:|> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)
Willst Du den Verbrauch summiert je Tag anzeigen, müsstest Du den Datenpunkt wählen, der den Gesamtverbrauch anzeigt und immer summiert wird. Dann bekommst über die Differenz den Verbrauch über einen Zeitraum
-
Genau ich möchte den Gesamtverbrauch pro Tag.
Ok, ich muss den datenpunkt für den Gesamtverbrauch nehmen. Und wie schreibe ich das summieren ? -
Hat schon jemand Erfahrungen mit mehreren influxdb Buckets auf einem System?
Ich habe derzeit noch ein einziges Bucket, mit einer "Retention Time" von 365 Tagen
Stelle mir vor, dass da Rechnungen mit Daten aus den iobroker-Bucket von influx-Tasks ausgeführt werden, und die aggregierten Daten dann z.b. in einem separaten bucket "iobroker-long" landen mit einer deutlich längeren Retention time ....
Es gäbe in meinem iobroker Bucket nur Monatsverbräuche der letzten 12 Monate - das wäre mir zu wenig ...
-
@martinp
Ich habe damit keiner Erfahrung. Was ich bis jetzt hinbekommen habe, ist folgendes, mir fehlt nur noch der Verbrauch pro Tag -
@martinibianco8 Mein flux Query für eine Grafik des Tages-Elektrizitätsbezugs
from(bucket: "iobroker") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r["_measurement"] == "alias.0.Zaehler.Elektrizität.1.Arbeit.Bezug") |> filter(fn: (r) => r["_field"] == "value") |> aggregateWindow(every: 1d, fn: last, timeSrc: "_start") |> difference(nonNegative: true, columns: ["_value"]) |> yield(name: "last")
Wahrscheinlich muss man diese Messwerte in Influx dann irgendwie auch so aggregieren, aber dann nicht über Grafana wegschreiben, sondern dann in das Langzeit-Bucket eintüten.
-
Danke, was hätte ich nur ohne die Hilfe gemacht...
Nun habe ich endlich ein brauchbares Ergebnis -
@martinp
Schau dir mal den Blog-Eintrag InfluxDB 2.x - Dashboard für eine PV-Anlage von @haus-automatisierung an und auch das YT-Video.Da zeigt er anhand seiner eigenen PV wie er die Daten in die InfluxDb2 schreibt und auch Daten in ein Langzeit-Archiv überträgt.
-
Eine Frage hätte ich mal noch an euch, wieso habe ich bei meinem Ertrag der Solaranlage öfter 0 am Ende des Tages? Was habe ich da falsch gemacht? Die Daten kommen von einem OpenDTU
ERLEDIGT, Habe den Fehler gefunden
-
@martinibianco8
Der da wäre? Interessiert ja eventuell den ein oder anderen auch -
@woupi
Ich musste den Wert des gesamtverbrauches nehmen und nicht den aktuellen