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: täglichen Solar-Ertrag summieren

NEWS

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

  • 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: täglichen Solar-Ertrag summieren

Geplant Angeheftet Gesperrt Verschoben Grafana
7 Beiträge 3 Kommentatoren 606 Aufrufe 4 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.
  • M Offline
    M Offline
    mere13
    schrieb am zuletzt editiert von mere13
    #1

    Hallo zusammen,

    mein Victronic Blue Solar liefert mir den Ertrag in kWh als Wert in einem Datenpunkt. Jetzt möchte ich diesen Wert pro Tag addieren und daraus einen Wochen/Monats/Jahres-Ertrag berechnen. Dafür habe ich diese FLUX Query geschrieben:

    import "timezone"
    option location = timezone.location(name: "Europe/Berlin")
    from(bucket: "homebucket")
    |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
    |> filter(fn: (r) => r["_measurement"] == "Victronic Heute Ertrag" and r["_field"] == "value")
    |> aggregateWindow(every: 1d, fn: last, createEmpty: false)
    |> aggregateWindow(every: 1w, offset: 4d, fn: sum, createEmpty: false)
    |> yield(name: "sum")

    Leider stimmt die Visualisierung nicht ganz. Sowohl die Summe als auch die Anzeige des Datums (DD-MM) funktionieren nicht. Findet jemand meinen Fehler?

    Bildschirmfoto 2024-04-22 um 14.24.17.png

    Meister MopperM Marc BergM 2 Antworten Letzte Antwort
    0
    • M mere13

      Hallo zusammen,

      mein Victronic Blue Solar liefert mir den Ertrag in kWh als Wert in einem Datenpunkt. Jetzt möchte ich diesen Wert pro Tag addieren und daraus einen Wochen/Monats/Jahres-Ertrag berechnen. Dafür habe ich diese FLUX Query geschrieben:

      import "timezone"
      option location = timezone.location(name: "Europe/Berlin")
      from(bucket: "homebucket")
      |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
      |> filter(fn: (r) => r["_measurement"] == "Victronic Heute Ertrag" and r["_field"] == "value")
      |> aggregateWindow(every: 1d, fn: last, createEmpty: false)
      |> aggregateWindow(every: 1w, offset: 4d, fn: sum, createEmpty: false)
      |> yield(name: "sum")

      Leider stimmt die Visualisierung nicht ganz. Sowohl die Summe als auch die Anzeige des Datums (DD-MM) funktionieren nicht. Findet jemand meinen Fehler?

      Bildschirmfoto 2024-04-22 um 14.24.17.png

      Meister MopperM Offline
      Meister MopperM Offline
      Meister Mopper
      schrieb am zuletzt editiert von
      #2

      @mere13

      Hier z. B. eine Lösung für eine Tagesübersicht:

      import "timezone"
      option location = timezone.location(name: "Europe/Berlin")
      
      from(bucket: "iobroker")
        |> range(start: -1mo, stop: v.timeRangeStop)
        |> filter(fn: (r) => r["_measurement"] == "solax.0.data.yieldtoday" and r["_field"] == "value")
        |> aggregateWindow(every: 1d, fn: max, timeSrc: "_start")
      

      2d8bfd38-1da2-4803-846e-20f3dc156654-grafik.png

      Das kannst du natürlich auch für Monate und Jahre anzeigen lassen.

      Proxmox und HA

      M 1 Antwort Letzte Antwort
      0
      • Meister MopperM Meister Mopper

        @mere13

        Hier z. B. eine Lösung für eine Tagesübersicht:

        import "timezone"
        option location = timezone.location(name: "Europe/Berlin")
        
        from(bucket: "iobroker")
          |> range(start: -1mo, stop: v.timeRangeStop)
          |> filter(fn: (r) => r["_measurement"] == "solax.0.data.yieldtoday" and r["_field"] == "value")
          |> aggregateWindow(every: 1d, fn: max, timeSrc: "_start")
        

        2d8bfd38-1da2-4803-846e-20f3dc156654-grafik.png

        Das kannst du natürlich auch für Monate und Jahre anzeigen lassen.

        M Offline
        M Offline
        mere13
        schrieb am zuletzt editiert von mere13
        #3

        @meister-mopper Danke! Das habe ich auch schon so ähnlich. Ich muss aber für die Wochenübersicht die Tageswerte addieren und dann als einen Balken darstellen. Also "max" als fn ist es nicht und ich habe versucht, durch eine zweite aggregation diese Wochensumme zu ermitteln.

        Oder gibt es eine andere Möglichkeit, diese 7 Werte jeweils zu addieren?

        Meister MopperM 1 Antwort Letzte Antwort
        0
        • M mere13

          @meister-mopper Danke! Das habe ich auch schon so ähnlich. Ich muss aber für die Wochenübersicht die Tageswerte addieren und dann als einen Balken darstellen. Also "max" als fn ist es nicht und ich habe versucht, durch eine zweite aggregation diese Wochensumme zu ermitteln.

          Oder gibt es eine andere Möglichkeit, diese 7 Werte jeweils zu addieren?

          Meister MopperM Offline
          Meister MopperM Offline
          Meister Mopper
          schrieb am zuletzt editiert von
          #4

          @mere13

          Hier die Tage einer Woche, Wochen in einem Monat u. s. w. sollte damit auch funktionieren:

          import "timezone"
          option location = timezone.location(name: "Europe/Berlin")
          
          from(bucket: "iobroker")
            |> range(start: -1w)
            |> 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")
            |> map(fn: (r) => ({r with _cost: float(v: r._value) * 0.4414894736842105}))
          

          f42be3d5-950e-4415-8937-99d7a4e6fb81-grafik.png

          Proxmox und HA

          M 1 Antwort Letzte Antwort
          0
          • Meister MopperM Meister Mopper

            @mere13

            Hier die Tage einer Woche, Wochen in einem Monat u. s. w. sollte damit auch funktionieren:

            import "timezone"
            option location = timezone.location(name: "Europe/Berlin")
            
            from(bucket: "iobroker")
              |> range(start: -1w)
              |> 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")
              |> map(fn: (r) => ({r with _cost: float(v: r._value) * 0.4414894736842105}))
            

            f42be3d5-950e-4415-8937-99d7a4e6fb81-grafik.png

            M Offline
            M Offline
            mere13
            schrieb am zuletzt editiert von
            #5

            @meister-mopper said in Grafana: täglichen Solar-Ertrag summieren:

            |> difference()

            Danke. Ich glaub wir missverstehen uns. Ich bekomme für jeden Tag einen Wert geliefert. Z.B. Montag 2 kWh, Dienstag 2,5, Mittwoch 1,3 usw. Und für die Wochendarstellung muss ich die Werte addieren und als Wochenwert darstellen. Der Datenpunkt liefert immer den ganzen Tag einen Wert, der tagsüber ansteigt und in der Nacht gleich bleibt und um 0 Uhr wieder auf 0 zurückgestellt wird.

            import "timezone"
            option location = timezone.location(name: "Europe/Berlin")
            from(bucket: "homebucket")
            |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
            |> filter(fn: (r) => r["_measurement"] == "Victronic Heute Ertrag" and r["_field"] == "value")
            |> aggregateWindow(every: 24h, fn: last, timeSrc: "_start")
            |> yield(name: "last")

            liefert diese Werte:

            Time value
            2024-04-15 16:15:11 2.17
            2024-04-16 00:00:00 2.20
            2024-04-17 00:00:00 2.12
            2024-04-18 00:00:00 2.13
            2024-04-19 00:00:00 1.52
            2024-04-20 00:00:00 2.30
            2024-04-21 00:00:00 2.75
            2024-04-22 00:00:00 2.77

            1 Antwort Letzte Antwort
            0
            • M mere13

              Hallo zusammen,

              mein Victronic Blue Solar liefert mir den Ertrag in kWh als Wert in einem Datenpunkt. Jetzt möchte ich diesen Wert pro Tag addieren und daraus einen Wochen/Monats/Jahres-Ertrag berechnen. Dafür habe ich diese FLUX Query geschrieben:

              import "timezone"
              option location = timezone.location(name: "Europe/Berlin")
              from(bucket: "homebucket")
              |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
              |> filter(fn: (r) => r["_measurement"] == "Victronic Heute Ertrag" and r["_field"] == "value")
              |> aggregateWindow(every: 1d, fn: last, createEmpty: false)
              |> aggregateWindow(every: 1w, offset: 4d, fn: sum, createEmpty: false)
              |> yield(name: "sum")

              Leider stimmt die Visualisierung nicht ganz. Sowohl die Summe als auch die Anzeige des Datums (DD-MM) funktionieren nicht. Findet jemand meinen Fehler?

              Bildschirmfoto 2024-04-22 um 14.24.17.png

              Marc BergM Offline
              Marc BergM Offline
              Marc Berg
              Most Active
              schrieb am zuletzt editiert von Marc Berg
              #6

              @mere13 sagte in Grafana: täglichen Solar-Ertrag summieren:

              |> aggregateWindow(every: 1w, offset: 4d, fn: sum, createEmpty: false)

              in beiden "aggregateWindow"-Funktionen muss

              timeSrc: "_start"
              

              angehängt werden.

              In der grafana.ini kannst du noch das deutsche Datumsformat einstellen (wenn gewünscht)

              NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+RabbitMQ+Grafana

              Pi-hole, Traefik, Checkmk, Conbee II+Zigbee2MQTT, ESPSomfy-RTS, LoRaWAN, Arduino, KiCad

              Benutzt das Voting im Beitrag, wenn er euch geholfen hat.

              M 1 Antwort Letzte Antwort
              1
              • Marc BergM Marc Berg

                @mere13 sagte in Grafana: täglichen Solar-Ertrag summieren:

                |> aggregateWindow(every: 1w, offset: 4d, fn: sum, createEmpty: false)

                in beiden "aggregateWindow"-Funktionen muss

                timeSrc: "_start"
                

                angehängt werden.

                In der grafana.ini kannst du noch das deutsche Datumsformat einstellen (wenn gewünscht)

                M Offline
                M Offline
                mere13
                schrieb am zuletzt editiert von
                #7

                @marc-berg said in Grafana: täglichen Solar-Ertrag summieren:

                timeSrc: "_start"

                Super!! Das war die Lösung.

                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

                835

                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