Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Off Topic
  4. Grafana
  5. Gelöst - Grafana Strom Summen in Zusammenspiel mit PVAnlage

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.4k

Gelöst - Grafana Strom Summen in Zusammenspiel mit PVAnlage

Geplant Angeheftet Gesperrt Verschoben Grafana
grafanapv-anlagestromtagessumme
2 Beiträge 1 Kommentatoren 1.5k Aufrufe 1 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • R Offline
    R Offline
    Rand
    schrieb am zuletzt editiert von Rand
    #1

    Hallo zusammen,

    ich weiss, ein altes Thema, aber ich bekomme es leider nicht hin. Hab schon ein paar Tage gesucht aber nicht das Ultimative gefunden.
    Vielleicht sind meine Daten auch ungeeignet :/

    Rahmenbedingungen
    Hier läuft eine PV Anlage, kein Speicher, Tages-Gesamterzeugung in IOBroker/Influx
    Ich lese den Stromzähler mit dem Volkszähler aus und schieben einen Teil der Daten via json query nach IOBroker.
    Ich war doof und habe die Zählerstände nicht gesammelt (weder Bezug noch Lieferung), aber die historischen Daten liegen in einer MySQL so das ich zu Not die als Datenquelle nehmen könnte
    Nach IOBroker gehen Gesamt_Verbrauch, Solarerzeugung und Stromfluss (positv oder negativ), die Daten werden alle 2s gespeichert (nach Influx nur bei Änderung bzw alle 60s/300s)

    Die meisten Beispiele die ich gefunden habe (z.B. https://www.smarthome-tricks.de/grafana/5-2-grafana-dashboard-fuer-den-stromzaehler/) ermitteln den Tages/ Wochen/ Monatswert über die Differenz des Zählerstandes im Zeitraum (die non_negative_difference Formel).

    Ich habe aber dummerweise die Zählerstände vom Volkszähler nicht nach ioBroker geschoben und damit auch nicht nach Influx/Grafana.
    Am Ende des Tages wären die Zählerstände aber auch ggf gar nicht korrekt, da dort der Eigenverbrauch ja verschwinden würde...

    Eigentlich bin ich also auf der Suche nach mehreren Grafana Abfragen -

    • Ich brauche den echten Verbrauch in einem Zeitraum (aktuell natürlich = Gesamt_Verbrauch), aber wie rechne ich da eine Summe über Zeitraum x aus wenn ich nicht weiss wieviele Datenpunkte ich am Ende habe?

    • Dann würde ich natürlich gerne wissen wieviel Solarstrom ich verbrauche bzw wieviel Kaufstrom, d.h. wie setzt sich der Gesamt_Verbrauch zusammen..
      Das ist schon schwieriger, weil es ja Bedingungen enthält...
      -Wenn SolarStrom >= Gesamt_Verbrauch dann alles Solar,
      -wenn SolarStrom >0 & SolarStrom <GesamtVerbrauch dann Solaranteil entsprechend usw
      -ggf auch statt dessen über den Stromfluss; wenn positiv wird Strom gekauft, wenn negativ geliefert.

    Das kann sich ja dank Wolken etc ständig ändern, so das hier eine sehr grobe Summierung (1h, 1d) am Ende furchtbar ungenau wird, d.h. eigentlich muss man das in möglichst kleinen Scheiben rechnen und dann zu 1h/1d Werten aggregieren

    Das Ganze sollte dann am Ende natürlich auf Stunden/Tage/Monats/Jahres Ebene aggregierbar sein

    Idealerweise würde ich natürlich nicht bei 0 anfangen wollen, d.h. jetzt SourceAnalytix oder ein Skript zu nehmen wäre doof weil ich dann ja meine historischen Daten nicht nutzen kann, d.h. eine Grafana Lösung wäre schön...
    Aber je mehr ich darüber nachdenken schwieriger erscheint es mir...

    Gibt es schon jemanden der in einer ähnlichen Konstellation eine Lösung mit Grafana gefunden hat?

    Mit https://community.grafana.com/t/grafana-7-3-4-some-questions-visualizing-daily-usage-power-consumption/41194
    kann ich zu mindestens Tagessummen ermitteln, z.B. den Tages-Gesamt-Verbrauch, aber mehr auch nicht...
    Die Watt basierte Berechnung hier https://community.grafana.com/t/daily-power-consumption-from-watts/16196/31 habe ich nicht ans laufen bekommen :/

    R 1 Antwort Letzte Antwort
    0
    • R Rand

      Hallo zusammen,

      ich weiss, ein altes Thema, aber ich bekomme es leider nicht hin. Hab schon ein paar Tage gesucht aber nicht das Ultimative gefunden.
      Vielleicht sind meine Daten auch ungeeignet :/

      Rahmenbedingungen
      Hier läuft eine PV Anlage, kein Speicher, Tages-Gesamterzeugung in IOBroker/Influx
      Ich lese den Stromzähler mit dem Volkszähler aus und schieben einen Teil der Daten via json query nach IOBroker.
      Ich war doof und habe die Zählerstände nicht gesammelt (weder Bezug noch Lieferung), aber die historischen Daten liegen in einer MySQL so das ich zu Not die als Datenquelle nehmen könnte
      Nach IOBroker gehen Gesamt_Verbrauch, Solarerzeugung und Stromfluss (positv oder negativ), die Daten werden alle 2s gespeichert (nach Influx nur bei Änderung bzw alle 60s/300s)

      Die meisten Beispiele die ich gefunden habe (z.B. https://www.smarthome-tricks.de/grafana/5-2-grafana-dashboard-fuer-den-stromzaehler/) ermitteln den Tages/ Wochen/ Monatswert über die Differenz des Zählerstandes im Zeitraum (die non_negative_difference Formel).

      Ich habe aber dummerweise die Zählerstände vom Volkszähler nicht nach ioBroker geschoben und damit auch nicht nach Influx/Grafana.
      Am Ende des Tages wären die Zählerstände aber auch ggf gar nicht korrekt, da dort der Eigenverbrauch ja verschwinden würde...

      Eigentlich bin ich also auf der Suche nach mehreren Grafana Abfragen -

      • Ich brauche den echten Verbrauch in einem Zeitraum (aktuell natürlich = Gesamt_Verbrauch), aber wie rechne ich da eine Summe über Zeitraum x aus wenn ich nicht weiss wieviele Datenpunkte ich am Ende habe?

      • Dann würde ich natürlich gerne wissen wieviel Solarstrom ich verbrauche bzw wieviel Kaufstrom, d.h. wie setzt sich der Gesamt_Verbrauch zusammen..
        Das ist schon schwieriger, weil es ja Bedingungen enthält...
        -Wenn SolarStrom >= Gesamt_Verbrauch dann alles Solar,
        -wenn SolarStrom >0 & SolarStrom <GesamtVerbrauch dann Solaranteil entsprechend usw
        -ggf auch statt dessen über den Stromfluss; wenn positiv wird Strom gekauft, wenn negativ geliefert.

      Das kann sich ja dank Wolken etc ständig ändern, so das hier eine sehr grobe Summierung (1h, 1d) am Ende furchtbar ungenau wird, d.h. eigentlich muss man das in möglichst kleinen Scheiben rechnen und dann zu 1h/1d Werten aggregieren

      Das Ganze sollte dann am Ende natürlich auf Stunden/Tage/Monats/Jahres Ebene aggregierbar sein

      Idealerweise würde ich natürlich nicht bei 0 anfangen wollen, d.h. jetzt SourceAnalytix oder ein Skript zu nehmen wäre doof weil ich dann ja meine historischen Daten nicht nutzen kann, d.h. eine Grafana Lösung wäre schön...
      Aber je mehr ich darüber nachdenken schwieriger erscheint es mir...

      Gibt es schon jemanden der in einer ähnlichen Konstellation eine Lösung mit Grafana gefunden hat?

      Mit https://community.grafana.com/t/grafana-7-3-4-some-questions-visualizing-daily-usage-power-consumption/41194
      kann ich zu mindestens Tagessummen ermitteln, z.B. den Tages-Gesamt-Verbrauch, aber mehr auch nicht...
      Die Watt basierte Berechnung hier https://community.grafana.com/t/daily-power-consumption-from-watts/16196/31 habe ich nicht ans laufen bekommen :/

      R Offline
      R Offline
      Rand
      schrieb am zuletzt editiert von Rand
      #2

      Ich habe eine Lösung gefunden... ich erläutere sie hier, falls jemand ein ähnliches Problem hat oder zu mindestens Teile davon gebrauchen kann (export und reimport).

      Ich habe es partout nicht hinbekommen, in Grafana die notwendige Aufteilung des Stromflusses in Lieferung & Bezug (negativ/positiv) durchzuführen, weder mit Transforms noch Expressions.

      Daher habe ich dann einfach in meinem Javascript Adapter, der die Daten aus dem Volkszähler ausliest, eine Aufteilung eingebaut:

        // aktueller_stromfluss aufteilen >0 Bezug, <0 Lieferung
                  // Kann positiv sein - strombezug (= Gesamtbezug > Solarerzeugung)
                  // Kann negativ sein - stromlieferung (= Solar > Gesamtbezug )
                  // Kann 0 sein - stromlieferung (= Solar = Gesamtbezug )
                  if (wert1 > 0 ) 
                  {
                      wert1lief=0;
                      wert1bezug=wert1;
                  }
                  else
                  {
                      if (wert1 < 0 ) 
                      {
                      wert1lief=Math.abs(wert1) ;
                      wert1bezug=0; 
                      }
                      else // (wert1 == 0 ) 
                      {
                      wert1lief=0 ;
                      wert1bezug=0; 
                      }
                  }
      

      Damit werden jetzt 3 Werte nach Influx geschrieben - Stromfluss, Lieferung (absolut) und Bezug - das ermöglicht die Summierung neuer Daten.

      Für die alten Daten habe ich dann die Stromflussdaten nach CSV exportiert

      influx -username admin -password 'myPW' -database 'iobroker' -execute 'select * from "javascript.0.Volkszaehler.AKTUELLER_STROMFLUSS"' -format csv > stromfluss.csv
      

      und diese Daten dann mit Hilfe eines kleinen Perlskripts (angehängtmod_csv.pl ) aufgeteilt und in ein importfähiges Format gebracht.
      Dann mit

      influx -username admin -password 'mypw' -database 'iobroker' -import -path=AKTUELLER_Bezug.csv
      

      die beiden Dateien importieren und fertig.
      Ich habe erst in ioBroker das Speichern der neuen Werte aktiviert und dann exportiert/importiert, damit waren die Measurements schon da (weil ich keine Ahnung habe ob der import Measurements anlegt oder nicht [oder ob man das überhaupt muss]).

      Zu guter Letzt habe ich dann einen Grafana Workspace angelegt der Gesamtverbrauch, Solarerzeugung und Lieferung/Bezug enthält und jeweils folgende Formel enthält

      SELECT SUM("power"::float) / 60.0  
       FROM (
          SELECT mean("value") AS power FROM "javascript.0.Volkszaehler.AKTUELLER_Bezug" WHERE $timeFilter GROUP BY  time(1m)  tz('Europe/Berlin')
        ) 
      GROUP BY time(24h) 
      

      Über den unteren group by wird die Aggregation gesteuert, in diesem Fall Tageswerte, funktioniert aber auch mit Stunden (1h) oder Monatsähnlichen Werten (30d). Leider gehen 1mo/1y in der aktuellen Grafana/Infuxversion(1.8) nicht...
      (Hier die flux version welche dann mit Monaten und Jahren umgehen kann... -> https://community.influxdata.com/t/multiple-aggregation-windows-for-power-aggregation/25292)

      1 Antwort Letzte Antwort
      0
      Antworten
      • In einem neuen Thema antworten
      Anmelden zum Antworten
      • Älteste zuerst
      • Neuste zuerst
      • Meiste Stimmen


      Support us

      ioBroker
      Community Adapters
      Donate

      729

      Online

      32.4k

      Benutzer

      81.4k

      Themen

      1.3m

      Beiträge
      Community
      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
      ioBroker Community 2014-2025
      logo
      • Anmelden

      • Du hast noch kein Konto? Registrieren

      • Anmelden oder registrieren, um zu suchen
      • Erster Beitrag
        Letzter Beitrag
      0
      • Home
      • Aktuell
      • Tags
      • Ungelesen 0
      • Kategorien
      • Unreplied
      • Beliebt
      • GitHub
      • Docu
      • Hilfe