Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Off Topic
    4. Grafana
    5. Grafana - Stromzähler nachbauen

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Grafana - Stromzähler nachbauen

    This topic has been deleted. Only users with topic management privileges can see it.
    • Humidor
      Humidor @Meister Mopper last edited by

      @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 aber

      difference()
        |> aggregateWindow(every: 1d, fn: sum, timeSrc: "_start")
      

      fn: sum oder nicht?
      welche Rolle spielt das difference?

      Humidor 1 Reply Last reply Reply Quote 0
      • Humidor
        Humidor @Humidor last edited by

        hätte ev. jemand die richtigen Settings um die den Wert im Grafana zu summieren?

        mickemup 1 Reply Last reply Reply Quote 0
        • mickemup
          mickemup @Humidor last edited by

          @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....

          Humidor 1 Reply Last reply Reply Quote 0
          • Humidor
            Humidor @mickemup last edited by Humidor

            @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

            mickemup 1 Reply Last reply Reply Quote 0
            • mickemup
              mickemup @Humidor last edited by mickemup

              @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?

              Humidor 1 Reply Last reply Reply Quote 0
              • Humidor
                Humidor @mickemup last edited by

                @mickemup Ja, momentane Leistungswerte
                das ist was ich aus dem System per Mqtt raus bekomme:
                Bildschirmfoto 2024-11-28 um 17.34.43.png
                die Werte kommen jede Sekunde

                gibt 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.

                mickemup 2 Replies Last reply Reply Quote 0
                • mickemup
                  mickemup @Humidor last edited by mickemup

                  @humidor

                  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?

                  Humidor 1 Reply Last reply Reply Quote 1
                  • Humidor
                    Humidor @mickemup last edited by

                    @mickemup standard Einstellung von influxdb
                    Bildschirmfoto 2024-11-29 um 07.11.59.png

                    Humidor mickemup 2 Replies Last reply Reply Quote 0
                    • Humidor
                      Humidor @Humidor last edited by Humidor

                      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.
                      Bildschirmfoto 2024-11-29 um 07.21.26.png Bildschirmfoto 2024-11-29 um 07.23.46.png

                      mickemup 1 Reply Last reply Reply Quote 0
                      • mickemup
                        mickemup @Humidor last edited by mickemup

                        @humidor
                        Du hast ja gesagt, dass du Dps für Einspeisung und Bezug separat hast.
                        Diese müsstest du natürlich auch so loggen.

                        Falls du denn generellen loggst, hast du Einfach eine Netto Bilanz...hast du überhaupt ein PV Anlage?
                        Aber die die 12 KW (Ich nehme an Bezug) machen wohl schon Sinn, wenn man mit deinem INFLUX Plot vergleicht 🙂

                        Hast du erst Daten von heute gesammelt?
                        Falls nicht, musst du mal die Tiemrange in deinem Panel erhöhen
                        Schreib mal beim zweiten "Printscreen" unter Query Options:
                        Relative time now/M
                        Time shift 0M/M

                        Und nimm mal Barchart

                        Sobald du mit dem ersten Plot zufrieden bist, kann man anschliessend noch die Wochen/Jahressummaries erstellen.
                        Dies ist dann nur noch ein kleiner Schritt

                        1 Reply Last reply Reply Quote 1
                        • mickemup
                          mickemup @Humidor last edited by

                          @humidor
                          OK das passt 👍

                          Wenn die Datenpunkte regelmässig beschrieben werden, wie du ja gesagt hast, dann stimmt auch die "Pseudointegrierung" in Grafana 🙂

                          1 Reply Last reply Reply Quote 0
                          • mickemup
                            mickemup @Humidor last edited by

                            @humidor Sry für die vielen Fragen, aber hier hättest du ja unter Energy: Forward einen Datenpunkt, welche die Energie liefert...
                            Wird der jeden Tag genullt oder erhöht der sich kontinuirlich?

                            Humidor 1 Reply Last reply Reply Quote 0
                            • Humidor
                              Humidor @mickemup last edited by

                              @mickemup sry, war abgelenkt, hatte zuviel zu tun...
                              ich denke das sind Summen:
                              Bildschirmfoto 2024-12-08 um 07.11.55.png
                              getrennt Bezug u Lieferung habe ich

                              mickemup 1 Reply Last reply Reply Quote 0
                              • mickemup
                                mickemup @Humidor last edited by

                                @humidor
                                OK also bräuchtest du gar keinen Stromzähler nachbauen...
                                Den Strombezug vom Netz eines Tages kriegst du so raus:

                                import "date"
                                import "timezone"
                                option location = timezone.location(name: "Europe/Madrid")
                                
                                from(bucket: "DEIN BUCKET")
                                  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                                  |> filter(fn: (r) => r["_measurement"] == "DEIN BEZUGSZAEHLER")
                                  |> filter(fn: (r) => r["_field"] == "value")
                                  |> aggregateWindow(every: 1d, fn: last, timeSrc: "_start")
                                  |> difference()
                                

                                Hier nimmst du einfach immer den letzten Zählerstand eines Tages und bildest dann die Differenz zum Zählerstand vom Vortag.
                                Somit Hast du nachher den Strombezug pro Tag.
                                Passt das so?

                                Falls du deinen "Hausverbrauch" wissen willst, musst du noch dazuzählen wieviel von deinem Solarstrom du selbst verbraucht hast.

                                Ich hab das bei mir so dargestellt (Monatsstatistiken)

                                963ef40d-aa98-4c1e-9f00-a90713b47902-image.png

                                1 Reply Last reply Reply Quote 1
                                • First post
                                  Last post

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                1.1k
                                Online

                                31.7k
                                Users

                                79.7k
                                Topics

                                1.3m
                                Posts

                                5
                                36
                                1879
                                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