NEWS
Grafana BarChart Werte addieren (Wechselrichter)
-
Hallo,
ich habe ein kleines Problem und schaffe es nicht richtig zu lösen.
Ich habe zwei unterschiedliche Typen an Wechselrichtern, die ich per MQTT und eigenen Adapter an den ioBroker angebunden habe.Die einzelnen Werte der Wechselrichter schreibe ich in eine InfluxDB (Leistung und Arbeit der einzelnen Wechselrichter).
Nun wollte ich nicht noch eine weitere Datenreihe in die InfluxDB mit der Gesamten-Leistung / Arbeit schicken, da diese Werte ja eigentlich schon vorhanden sind. Ich muss diese nur addieren. Dann würde es passen.
Bei InfluxDB und Grafana nutze ich die Flux Sprache.
Ich nutze ein BarChart, um die Stromerzeugung, Strombezug und Einspeisung darzustellen. Wenn ich drei oder auch vier einzelne Werte habe, sieht das auch gut aus.
Als Beispiel habe ich von meinem Shelly und vom Hoymiles ein BarChart erstellt.
Nur wenn ich eine Expression mit $A + $B einfüge, werden der andere Balken nicht mehr richtig dargestellt. Die Farbe wird grau. Der berechnete Wert wird/bleibt grün.
Warum ist das so?
Gibt es eine bessere Lösung ?Bei B werden vor dem 29.4. keine Daten angezeigt, weil dort auch keine vorhanden sind (Habe gestern einen kleinen Umbau an meiner Solaranlage vorgenommen. Die Wechselrichter habe ich auf drei Phasen verteilt. Vorher lief alles über den Shelly)
Hoffentlich kann mir jemand helfen.
Schönen tag noch.
Andreas -
Ich glaube ich habe es fast...
Die Variablen (bei den Overrides) musste ich neu anwählen, damit die Farbe wieder gefunden wird.Kann ich ich einzelne Balken auch ausblenden ?
Wie geht das?
Gruß
Andreas -
Jetzt habe ich aber noch eine viel wichtigere Frage zum addieren mit Grafana.
Ich habe, wie oben beschrieben, zwei unterschiedliche Wechselrichter. Die kWh von Shelly1 werden schon immer in die Influx geschrieben. Nun nach meinem Umbau schreibe ich auch von Hoymiles die kWh in Influx. Diese Daten von Hoymiles gibt es aber erst seit ein paar Tagen. Davor gibt es nichts in diesem Datenpunkt.
Die Addition wird aber nur dann ausgeführt, wenn zwei Daten vorhanden sind. D.h. das ich keine Daten für die Gesamt kWh erhalten, wenn in einem Feld nichts steht.
Wie kann ich das umgehen, das trotz dem vom Shelly die Daten als Gesamt angezeigt wird, wenn in dem anderen Feld nichts steht ?
import "timezone" option location = timezone.location(name: "Europe/Berlin") from(bucket: "StromDaten") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r["_measurement"] == "ArbeitSolarShelly1" or r._measurement == "Hoymiles_Gesamt_Arbeit" ) |> filter(fn: (r) => r["_field"] == "value") |> aggregateWindow(every: 1w, offset: 4d, fn: sum, timeSrc: "_start", createEmpty: false) |> pivot(rowKey: ["_time"], columnKey: ["_measurement"], valueColumn: "_value") |> map(fn: (r) => ({ r with _Gesamt: r.ArbeitSolarShelly1 + r.Hoymiles_Gesamt_Arbeit}))
Hoffe das jemand dafür einen Tipp hat.
Danke schon mal.
Andreas -
@kapitaen31 sagte in Grafana BarChart Werte addieren (Wechselrichter):
Hoffe das jemand dafür einen Tipp hat.
Moin,
ich kenne Deine Daten nicht, aber schon mal das versucht bei
|> aggregateWindow(every: 1w, offset: 4d, fn: sum, timeSrc: "_start", createEmpty: false)
Ein
true
zu setzen?Erklärung:
createEmpty:Boolean For windows without data, this will create an empty window and fill it with a `null` aggregate value.
VG
Bernd -
@dp20eic said in Grafana BarChart Werte addieren (Wechselrichter):
@kapitaen31 sagte in Grafana BarChart Werte addieren (Wechselrichter):
Hoffe das jemand dafür einen Tipp hat.
Moin,
ich kenne Deine Daten nicht, aber schon mal das versucht bei
|> aggregateWindow(every: 1w, offset: 4d, fn: sum, timeSrc: "_start", createEmpty: false)
Ein
true
zu setzen?Hi Bernd,
danke für den Tipp, aber irgendwie tut sich da nichts.Die Daten habe ich oben abgebildet. Was fehlt noch an Informationen?
Gruß
Andreas -
@kapitaen31
QuickHack: Du könntest die leeren Spalten mit "0" auffüllen und diese Zeile vor die Map Funktion einfügen:|> fill(column: "Hoymiles_Gesamt_Arbeit", value: 0.0)
Damit funktioniert die Bildung der Summe wieder, die mit "empty/null" nicht umgehen kann.
-
@dp20eic sagte in Grafana BarChart Werte addieren (Wechselrichter):
Moin,
ich kenne Deine Daten nicht, aber schon mal das versucht bei
|> aggregateWindow(every: 1w, offset: 4d, fn: sum, timeSrc: "_start", createEmpty: false)Ein true zu setzen?
Durch die Pivot-Funktion werden automatisch "empty" Zellen eingefügt, darum nützt dein Vorschlag in diesem Fall leider nichts.
-
@kapitaen31 sagte in Grafana BarChart Werte addieren (Wechselrichter):
Die Daten habe ich oben abgebildet. Was fehlt noch an Informationen?
Moin,
Deine Informationen waren schon ok, ich meinte damit Daten, mit denen ich spielen kann. Ich müsste mir da erst mal was zaubern
Aber der Hack von @Marc-Berg hört sich soweit erst einmal gut an und in ein paar Wochen sollten dann ja immer Daten vorhanden sein.
VG
Bernd -
@marc-berg said in Grafana BarChart Werte addieren (Wechselrichter):
@kapitaen31
QuickHack: Du könntest die leeren Spalten mit "0" auffüllen und diese Zeile vor die Map Funktion einfügen:|> fill(column: "Hoymiles_Gesamt_Arbeit", value: 0.0)
Damit funktioniert die Bildung der Summe wieder, die mit "empty/null" nicht umgehen kann.
Hi Marc,
super, danke für den Tipp. Habe es eben eingefügt und es wird alles zusammengerechnet.
So sieht die BarChart jetzt aus:
Die Daten in der Tabelle sehen jetzt so aus:
Ich habe die anderen zwei Balken über Override versteckt(hide). Kann der übrig gebliebene Balken auch wieder breiter angezeigt werden ?
-
@kapitaen31 sagte in Grafana BarChart Werte addieren (Wechselrichter):
Ich habe die anderen zwei Balken über Override versteckt(hide). Kann der übrig gebliebene Balken auch wieder breiter angezeigt werden ?
Ich bin mir unsicher, ob Grafana das in dieser Konstellation kann. Aber du könntest doch schon in der Query alle unbenötigten Spalten entfernen, indem du das hier unten anhängst:
|> keep(columns: ["_time", "_Gesamt"])
-
@marc-berg said in Grafana BarChart Werte addieren (Wechselrichter):
@kapitaen31 sagte in Grafana BarChart Werte addieren (Wechselrichter):
Ich habe die anderen zwei Balken über Override versteckt(hide). Kann der übrig gebliebene Balken auch wieder breiter angezeigt werden ?
Ich bin mir unsicher, ob Grafana das in dieser Konstellation kann. Aber du könntest doch schon in der Query alle unbenötigten Spalten entfernen, indem du das hier unten anhängst:
|> keep(columns: ["_time", "_Gesamt"])
Super, jetzt ist das Diagramm wieder so wie es sein soll.
Danke.
Ich werde heute abend damit ein wenig experimentieren..Gruß
Andreas