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

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Off Topic
  4. Grafana
  5. Grafana Stromerzeugung / verschwendung summieren

NEWS

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

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

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

Grafana Stromerzeugung / verschwendung summieren

Geplant Angeheftet Gesperrt Verschoben Grafana
11 Beiträge 3 Kommentatoren 948 Aufrufe 2 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.
  • B Blechbixn

    Hallo zusammen.

    Ich versuche gerade mir in Grafana eine Anzeige zu bauen, die mir die Tagessumme an erzeugten kWh anzeigt, sowie dann den Strom in kWh den ich verschenkt habe.
    Ich habe ein Smartmeter am Stormzähler, sowie einen Shelly Plug S welches mir alle 30sekunden einen Watt wert in die InfluxDB schreibt.

    hat jemand eine lösung für mich?
    das habe ich bisher:

    from(bucket: "iobroker")
      |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
      |> filter(fn: (r) => r["_measurement"] == "shelly.0.SHPLG-S#DD4CA5#1.Relay0.Power" or r["_measurement"] == "sonoff.0.Stromzähler.SML_curr_w")
      |> filter(fn: (r) => r["_field"] == "value")
      |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)
      |> yield(name: "mean")
    

    Screenshot 2024-04-06 205824.png

    Danke! :)

    B Offline
    B Offline
    Blechbixn
    schrieb am zuletzt editiert von
    #2

    hat keiner einen Tipp für mich?

    1 Antwort Letzte Antwort
    0
    • B Blechbixn

      Hallo zusammen.

      Ich versuche gerade mir in Grafana eine Anzeige zu bauen, die mir die Tagessumme an erzeugten kWh anzeigt, sowie dann den Strom in kWh den ich verschenkt habe.
      Ich habe ein Smartmeter am Stormzähler, sowie einen Shelly Plug S welches mir alle 30sekunden einen Watt wert in die InfluxDB schreibt.

      hat jemand eine lösung für mich?
      das habe ich bisher:

      from(bucket: "iobroker")
        |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
        |> filter(fn: (r) => r["_measurement"] == "shelly.0.SHPLG-S#DD4CA5#1.Relay0.Power" or r["_measurement"] == "sonoff.0.Stromzähler.SML_curr_w")
        |> filter(fn: (r) => r["_field"] == "value")
        |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)
        |> yield(name: "mean")
      

      Screenshot 2024-04-06 205824.png

      Danke! :)

      A Offline
      A Offline
      astrakid
      schrieb am zuletzt editiert von
      #3

      @blechbixn der wattwer des shelly hilft dir nihct. du brauchst einen aktuellen verbrauchswert des letzten zeitraums in kWh. sonst musst du ja aggregieren, das setzt aber voraus, dass der 30s-wert der durchschnittswert der letzten 30s ist, damit du daraus die Summe in kWh errechnen kannst.

      wenn du die absoluten verbrauchsstände hast, kannst die einfach herausholen:
      ...
      |> filter(fn: (r) => r["aggregate"] == "last")
      |> aggregateWindow(every: 1d, fn: first, timeSrc: "_start")
      |> difference()

      gruß,
      andre

      B 1 Antwort Letzte Antwort
      0
      • A astrakid

        @blechbixn der wattwer des shelly hilft dir nihct. du brauchst einen aktuellen verbrauchswert des letzten zeitraums in kWh. sonst musst du ja aggregieren, das setzt aber voraus, dass der 30s-wert der durchschnittswert der letzten 30s ist, damit du daraus die Summe in kWh errechnen kannst.

        wenn du die absoluten verbrauchsstände hast, kannst die einfach herausholen:
        ...
        |> filter(fn: (r) => r["aggregate"] == "last")
        |> aggregateWindow(every: 1d, fn: first, timeSrc: "_start")
        |> difference()

        gruß,
        andre

        B Offline
        B Offline
        Blechbixn
        schrieb am zuletzt editiert von Blechbixn
        #4

        @astrakid danke für deinen Beitrag!
        Problem ist nur, das der Shelly auf Mqtt läuft & damit nicht in der Cloud ist.
        Der Wattwert ist das einzigste was er mir liefert :/

        25708eca-83d2-4984-abc6-1b154fcfebfe-grafik.png

        Also abschreiben, weils nicht anders funktioniert?
        Cloud möchte ich ungern aktivieren.

        Grüße

        mickymM A 2 Antworten Letzte Antwort
        0
        • B Blechbixn

          @astrakid danke für deinen Beitrag!
          Problem ist nur, das der Shelly auf Mqtt läuft & damit nicht in der Cloud ist.
          Der Wattwert ist das einzigste was er mir liefert :/

          25708eca-83d2-4984-abc6-1b154fcfebfe-grafik.png

          Also abschreiben, weils nicht anders funktioniert?
          Cloud möchte ich ungern aktivieren.

          Grüße

          mickymM Offline
          mickymM Offline
          mickym
          Most Active
          schrieb am zuletzt editiert von
          #5

          @blechbixn Du hast doch die Wh im Energy Datenpunkt. Die sollten hochzählen und wenn Du die in der Influx speicherst musst Du halt die Differenzen der Zählerstände berechnen. Alternativ habe ich gerade einen Node für NodeRed - für sowas gebastelt: https://forum.iobroker.net/topic/73952/tageszähler-stromverbrauch

          Da ist auch ein Blockly von @paul53 - falls Dir das lieber ist.

          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

          1 Antwort Letzte Antwort
          0
          • B Blechbixn

            @astrakid danke für deinen Beitrag!
            Problem ist nur, das der Shelly auf Mqtt läuft & damit nicht in der Cloud ist.
            Der Wattwert ist das einzigste was er mir liefert :/

            25708eca-83d2-4984-abc6-1b154fcfebfe-grafik.png

            Also abschreiben, weils nicht anders funktioniert?
            Cloud möchte ich ungern aktivieren.

            Grüße

            A Offline
            A Offline
            astrakid
            schrieb am zuletzt editiert von
            #6

            @blechbixn der muss nicht in der cloud sein. weiß nicht, warum shelly den energy-wert nicht hochzählt. mal auf dem shelly direkt geschaut, ob es dafür eine option gibt?

            B 1 Antwort Letzte Antwort
            0
            • A astrakid

              @blechbixn der muss nicht in der cloud sein. weiß nicht, warum shelly den energy-wert nicht hochzählt. mal auf dem shelly direkt geschaut, ob es dafür eine option gibt?

              B Offline
              B Offline
              Blechbixn
              schrieb am zuletzt editiert von Blechbixn
              #7

              @astrakid hab da beim shelly nichts gefunden...
              habs jetzt über sourceanalytics gemacht, weiß aber noch nicht wo genau ich deinen code einfügen muss.
              So wie ichs aktuell gemacht habe funktionierts leider nicht

              from(bucket: "iobroker")
                |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                |> filter(fn: (r) => r["_measurement"] == "sourceanalytix.0.shelly__0__SHPLG-S#DD4CA5#1__Relay0__Power.2024.readingCumulative")
                |> filter(fn: (r) => r["_field"] == "value")
                |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)
                |> yield(name: "mean")
              
                |> filter(fn: (r) => r["aggregate"] == "last")
              |> aggregateWindow(every: 1d, fn: first, timeSrc: "_start")
              |> difference()
              

              edit:
              Versuch 2 der mir logisch gewesen wäre funktioniert auch nicht
              12f0f506-819b-4fb6-aec0-5ceb034970d2-grafik.png

              A 1 Antwort Letzte Antwort
              0
              • B Blechbixn

                @astrakid hab da beim shelly nichts gefunden...
                habs jetzt über sourceanalytics gemacht, weiß aber noch nicht wo genau ich deinen code einfügen muss.
                So wie ichs aktuell gemacht habe funktionierts leider nicht

                from(bucket: "iobroker")
                  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                  |> filter(fn: (r) => r["_measurement"] == "sourceanalytix.0.shelly__0__SHPLG-S#DD4CA5#1__Relay0__Power.2024.readingCumulative")
                  |> filter(fn: (r) => r["_field"] == "value")
                  |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)
                  |> yield(name: "mean")
                
                  |> filter(fn: (r) => r["aggregate"] == "last")
                |> aggregateWindow(every: 1d, fn: first, timeSrc: "_start")
                |> difference()
                

                edit:
                Versuch 2 der mir logisch gewesen wäre funktioniert auch nicht
                12f0f506-819b-4fb6-aec0-5ceb034970d2-grafik.png

                A Offline
                A Offline
                astrakid
                schrieb am zuletzt editiert von
                #8

                @blechbixn die voraussetzung für meinen codeschnipsel sind abolute zählerwerte - davon wird aus den aggregationsintervall der jeweils letzte wert genommen und die differenz ausgegeben.
                was steht in der tabelle von sourceanalytix?

                B 1 Antwort Letzte Antwort
                0
                • A astrakid

                  @blechbixn die voraussetzung für meinen codeschnipsel sind abolute zählerwerte - davon wird aus den aggregationsintervall der jeweils letzte wert genommen und die differenz ausgegeben.
                  was steht in der tabelle von sourceanalytix?

                  B Offline
                  B Offline
                  Blechbixn
                  schrieb am zuletzt editiert von Blechbixn
                  #9

                  @astrakid der kumuliert die kWh fürs ganze Jahr, leider gibts da kein Objekt welches die Tageseinspeisung anzeigt.

                  f29586c0-64b7-4176-8023-155e78094233-grafik.png

                  die 12,1kwh zeigt er mir auch an.. Es fehlt eigentlich nur die Rechnung aktueller wert - wert des vortags in der Nacht

                  1369b4a5-0fc5-4361-9c2b-2900e98d1201-grafik.png

                  A 1 Antwort Letzte Antwort
                  0
                  • B Blechbixn

                    @astrakid der kumuliert die kWh fürs ganze Jahr, leider gibts da kein Objekt welches die Tageseinspeisung anzeigt.

                    f29586c0-64b7-4176-8023-155e78094233-grafik.png

                    die 12,1kwh zeigt er mir auch an.. Es fehlt eigentlich nur die Rechnung aktueller wert - wert des vortags in der Nacht

                    1369b4a5-0fc5-4361-9c2b-2900e98d1201-grafik.png

                    A Offline
                    A Offline
                    astrakid
                    schrieb am zuletzt editiert von
                    #10

                    @blechbixn du musst einen anderen graphen auswählen. du hast stat ausgewählt, der zeigt nr einen wert an. nimm am besten timeseries fürs erste und als zeitraum dann irgendwas größer 2 tage, um auch zwei werte zu sehen.

                    A 1 Antwort Letzte Antwort
                    0
                    • A astrakid

                      @blechbixn du musst einen anderen graphen auswählen. du hast stat ausgewählt, der zeigt nr einen wert an. nimm am besten timeseries fürs erste und als zeitraum dann irgendwas größer 2 tage, um auch zwei werte zu sehen.

                      A Offline
                      A Offline
                      astrakid
                      schrieb am zuletzt editiert von
                      #11

                      @astrakid nachtrag: du musst die werte regelmäßig in deine influxdb schreiben, je nachdem wie granular das haben willst. ich schreibe alle 10s einen wert in die DBen und aggregiere später. für die tagesanzeige gehe ich auf minuten-intervalle, für wochen und monats ansichten auf 6h intervalle.

                      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

                      845

                      Online

                      32.4k

                      Benutzer

                      81.5k

                      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