Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Off Topic
    4. Grafana
    5. Gelöst - Grafana Strom Summen in Zusammenspiel mit PVAnlage

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Gelöst - Grafana Strom Summen in Zusammenspiel mit PVAnlage

    This topic has been deleted. Only users with topic management privileges can see it.
    • R
      Rand last edited by 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 1 Reply Last reply Reply Quote 0
      • R
        Rand @Rand last edited by Rand

        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 Reply Last reply Reply Quote 0
        • First post
          Last post

        Support us

        ioBroker
        Community Adapters
        Donate

        714
        Online

        31.8k
        Users

        80.0k
        Topics

        1.3m
        Posts

        grafana pv-anlage strom tagessumme
        1
        2
        1370
        Loading More Posts
        • Oldest to Newest
        • Newest to Oldest
        • Most Votes
        Reply
        • Reply as topic
        Log in to reply
        Community
        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
        The ioBroker Community 2014-2023
        logo