NEWS
Grafana - Stromzähler nachbauen
-
@humidor sagte in Grafana - Stromzähler nachbauen:
@meister-mopper welcher Wert kommt da ins Grafana, der pos. Watt-Wert?
Jap
-
@meister-mopper kannst mir bitte den code einstellen, sonst müsste ich ihne mühsam abtipseln
-
Hier das json zum importieren, da sind dann auch alle Formatierungen und overrides mit drin:
Hier influx
import "timezone" option location = timezone.location(name: "Europe/Berlin") from(bucket: "iobroker") |> range(start: -1mo, stop: v.timeRangeStop) |> filter(fn: (r) => r["_measurement"] == "smartmeter.0.1-0:1_8_0__255.value" and r["_field"] == "value") |> difference() |> aggregateWindow(every: 1d, fn: sum, timeSrc: "_start")
-
@meister-mopper sagte in Grafana - Stromzähler nachbauen:
|> difference() |> aggregateWindow(every: 1d, fn: sum, timeSrc: "_start")
OK, das kapier ich noch nicht
woher stammt der "Spoiler"? iobroker oder grafana?
wenn ich deine Influx Text (geändert auf meine Werte) eingebe, kommt mal nix
-
@humidor sagte in Grafana - Stromzähler nachbauen:
woher stammt der "Spoiler"? iobroker oder grafana?
Das ist das json des dashboard von Grafana und kann in Grafana eingelesen werden.
-
@meister-mopper etwas weiter bin ich gekommen, habe dein dashboard eingelesen, darin ein panel geöffnet mit das query eingetragen
(ist das richtig ein Panel zu öffnen, das ist auf std. Einstellungen)nun sehe ich diese Information
-
Schau mal hier.
Damit habe ich es hinbekommen.
-
@meister-mopper super, danke, habs soweit kapiert
jetzt habe ich ein Problem mit den Daten
Alias - aus einem Mqtt Wert wird der aktuelle Wert (Leistung) entnommen
Alias - aus einem Mqtt Wert nur der Neg. Wert
Alias - aus einem Mqtt Wert nur der Pos. Wertalle werden in die Influx eingetragen
wenn ich mir im ioBroker den Verlauf ansehe, sehe ich die jeweiligen Werte zBsp. bezogen auf 1 Tag
im Grafana mit der Summen Funktion, kommt dann irgendwas raus, auch Minuswerte??
-
@humidor sagte in Grafana - Stromzähler nachbauen:
@meister-mopper super, danke, habs soweit kapiert
jetzt habe ich ein Problem mit den Daten
Alias - aus einem Mqtt Wert wird der aktuelle Wert (Leistung) entnommen
Alias - aus einem Mqtt Wert nur der Neg. Wert
Alias - aus einem Mqtt Wert nur der Pos. Wertalle werden in die Influx eingetragen
wenn ich mir im ioBroker den Verlauf ansehe, sehe ich die jeweiligen Werte zBsp. bezogen auf 1 Tag
im Grafana mit der Summen Funktion, kommt dann irgendwas raus, auch Minuswerte??
Tatsächlich kann ich nicht nachvollziehen, was du hier sagen möchtest. Meinst mit negativen Werten die Einspeisung?
Ich rechne alle Negativdaten in positive Werte um. Mit diesen Daten arbeite ich in Grafana,
-
@meister-mopper mache ich genauso, dh die neg. Werte werden in pos. Werte umgerechnet, es geht mir um die Summen wieviel Bezug bzw. Lieferung stattgefunden hat.
Aus pos. Werte wird im Grafana ein Minuswert erzeugt, völliger quatsch. Aber wo liegt der Fehler?du siehst am Graph vom ioBroker die pos. Werte, da müsste im Grafana dann die Summe berechnet werden. Soweit klar, raus kommt aber unsinnige Werte und auch Minus.
-
@humidor sagte in Grafana - Stromzähler nachbauen:
Aber wo liegt der Fehler?
Okay, das sind zwei verschiedene Ausgangslagen und ein Missverständnis.
Ich visualisiere bei dem täglichen Verbrauch im letzten Monat sowohl für den Tagesbezug als auch den Tagesverbrauch anwachsende Datenpunkte (Stromzähler und selbst berechneter Verbrauchszähler).
-
@meister-mopper hmm
range(start: -1mo, stop: v.timeRangeStop)
das ist dann das -1mo, wie sage ich ihm von 0:00 - 23:59? also 1 Tag?
und das summiert wird, ist aberdifference() |> aggregateWindow(every: 1d, fn: sum, timeSrc: "_start")
fn: sum oder nicht?
welche Rolle spielt das difference? -
hätte ev. jemand die richtigen Settings um die den Wert im Grafana zu summieren?
-
@humidor
Habe da einiges bei mir gemacht um solche Sachen darzustellen.
Um dir helfen zu können, muss man aber wissen wie (und wie oft du dir Rohdaten loggst.)
Sind es Leistungen oder Zählerstände?Wenn du Leistungen aufsummieren willst, kommt es darauf an, wie oft du die loggst
difference() |> aggregateWindow(every: 1d, fn: sum, timeSrc: "_start")
Das hier macht nur Sinn, wenn du "Zählerstände loggst....
-
@mickemup danke dir!
das sind Werte die per Mqtt einlese
mW ist Mqtt Event gesteuert, dh keine fixe Abfragezeit, der Timestamp könnte da eine Auskunft geben -
@humidor
OK das heisst es sind Leistungswerte?
Um Energie zu erhalten, muss man das Integrieren.
Das kann man "grob" im Grafana machen.Die saubere Lösung wurde aber schon hier beschrieben.
@lesiflo hat das im Post von 13.Okt als Blockly aufgezeigt...
Kannst du sagen wie oft die Werte in Influx geloggt werden und loggst du nur Veränderungen oder jeden mqtt Wert?
evtl Printscrren? -
@mickemup Ja, momentane Leistungswerte
das ist was ich aus dem System per Mqtt raus bekomme:
die Werte kommen jede Sekundegibt zwar auch die Möglichkeit per Modbus direkt auf den Zähler zu gehen, aber die Register scheinen nicht zu stimmen, da kommen oft utopische Werte rüber.
-
Ok probier mal das:
import "date" import "timezone" option location = timezone.location(name: "Europe/Madrid") from(bucket: "iobroker_YOURBUCKET") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r["_measurement"] == "YOURdatapoint") |> filter(fn: (r) => r["_field"] == "value") |> aggregateWindow(every: 1m, fn: mean, timeSrc: "_start") |> aggregateWindow(every: 1h, fn: mean, timeSrc: "_start") |> aggregateWindow(every: 1d, fn: sum, timeSrc: "_start")
aja und kommen die Daten immer oder nur bei Veränderung
und loggst du immer oder nur bei Veränderung? -
@mickemup standard Einstellung von influxdb
-
hab mal diesen Wert genommen: Power (ist ein Plus/Minus Wert)
das wird aber wenig Sinn machen, verm. muss ich getrennt für Plus und Minus Werte hier loggen.