Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Off Topic
  4. [gelöst]Grafana 8.4.3 InfluxDB2.11 Flux monatlich

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    624

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    5.6k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.5k

[gelöst]Grafana 8.4.3 InfluxDB2.11 Flux monatlich

Scheduled Pinned Locked Moved Off Topic
15 Posts 8 Posters 8.3k Views 9 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M marsmännchen

    Hallo zusammen,

    ich weiß dieses Thema wurde schon öfter gefragt, aber ich komme da nicht weiter.
    Ich habe meine InfluxDB Daten auf einen externen Host (+Grafana) laufen.
    Jetzt habe ich auf Flux gewechselt und bekomme keine monatliche Darstellung hin.
    Ich kann es mir mittlerweile schon so darstellen: flux1.PNG
    In diesem Beispiel jetzt als täglich dargestellt.
    Aber was muss ich wo eingeben um jedes Monat bei quasi Null anzufangen? (Oder im aktuellen Beispiel alle 24h)
    Jetzt wird ja jeden Tag nur Addiert.
    Mein Query sieht so aus:flux2.PNG
    Das muss doch in Grafana sicher leicht lösbar sein wenn man weiss wie.
    Hat vielleicht jemand eine Idee?
    MfG
    Patrick

    F Offline
    F Offline
    ftd
    wrote on last edited by
    #6

    @marsmännchen said in Grafana 8.4.3 InfluxDB2.11 Flux monatliche Darstellung:

    Hat vielleicht jemand eine Idee?

    Täglich mit Differenz (also die Summe aus allen Differenzen)

    |> aggregateWindow(every: 24h, fn: sum, timeSrc: "_start")
    

    oder

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

    Wenn dein Gaszähler schon Gesamtwerte liefert... also immer den letzten. Aber mit AggregateWindow kannst du jedenfalls die X-Achse teilen...

    oder

    |> aggregateWindow(every: 1mo, fn: last, timeSrc: "_start")
    

    für 1 Monat

    G 1 Reply Last reply
    0
    • M Offline
      M Offline
      marsmännchen
      wrote on last edited by
      #7

      @ftd sagte in Grafana 8.4.3 InfluxDB2.11 Flux monatliche Darstellung:

      |> aggregateWindow(every: 24h, fn: sum, timeSrc: "_start")

      nein, ist scheinbar auch nicht was ich brauche.
      Sieht alles noch falscher aus als nur mit difference:
      Hier mit

      |> aggregateWindow(every: 24h, fn: sum, timeSrc: "_start")
      

      gas2.JPG

      Hier hab ich das eine aggregateWindow weggelassen:gas4.JPG

      Und so weiter, alle möglichen Konstellationen durch.
      Am ehesten kommts mit nur difference() dabei:
      gas5.JPG

      Raspberry Pi 4 8GB, Debian 11, js-controller: 5.0.12, Nodejs: v18.18.2, NPM: 9.8.1 (Multihost),
      Wago PFC200 mit Dali Lichtsteuerung.

      J 1 Reply Last reply
      0
      • M marsmännchen

        @ftd sagte in Grafana 8.4.3 InfluxDB2.11 Flux monatliche Darstellung:

        |> aggregateWindow(every: 24h, fn: sum, timeSrc: "_start")

        nein, ist scheinbar auch nicht was ich brauche.
        Sieht alles noch falscher aus als nur mit difference:
        Hier mit

        |> aggregateWindow(every: 24h, fn: sum, timeSrc: "_start")
        

        gas2.JPG

        Hier hab ich das eine aggregateWindow weggelassen:gas4.JPG

        Und so weiter, alle möglichen Konstellationen durch.
        Am ehesten kommts mit nur difference() dabei:
        gas5.JPG

        J Offline
        J Offline
        JoergH
        wrote on last edited by
        #8

        @marsmännchen

        Am ehesten kommts mit nur difference() dabei:
        gas5.JPG

        Was heißt denn "am ähnlichsten"? Das ist doch das, was Du wolltest. Er aggregiert die Daten innerhalb 24 Std. auf und stellt dann den Wert dar...Was fehlt denn noch?

        M 1 Reply Last reply
        0
        • J JoergH

          @marsmännchen

          Am ehesten kommts mit nur difference() dabei:
          gas5.JPG

          Was heißt denn "am ähnlichsten"? Das ist doch das, was Du wolltest. Er aggregiert die Daten innerhalb 24 Std. auf und stellt dann den Wert dar...Was fehlt denn noch?

          M Offline
          M Offline
          marsmännchen
          wrote on last edited by
          #9

          @joergh
          mit am ehesten meine ich Kleinigkeiten des Designs. Datum unten, Farbe,.. aber das sind Kleinigkeiten merk ich gerade. Ich würde das mal als gelöst deklarieren. Ich schätze mal den Rest schaffe ich irgendwie.
          Danke sehr an alle!

          Raspberry Pi 4 8GB, Debian 11, js-controller: 5.0.12, Nodejs: v18.18.2, NPM: 9.8.1 (Multihost),
          Wago PFC200 mit Dali Lichtsteuerung.

          K 1 Reply Last reply
          0
          • M marsmännchen

            @joergh
            mit am ehesten meine ich Kleinigkeiten des Designs. Datum unten, Farbe,.. aber das sind Kleinigkeiten merk ich gerade. Ich würde das mal als gelöst deklarieren. Ich schätze mal den Rest schaffe ich irgendwie.
            Danke sehr an alle!

            K Offline
            K Offline
            Kalli71
            wrote on last edited by
            #10

            @marsmännchen
            Hallo, bist du an dem Thema weiter dran geblieben und hast "den Rest" auch geschafft? Ich bin nahezu am verzweifeln, da mir die Funktion Difference() nicht die Differenz zum Vorgängerwert ermittelt

            M 1 Reply Last reply
            0
            • K Kalli71

              @marsmännchen
              Hallo, bist du an dem Thema weiter dran geblieben und hast "den Rest" auch geschafft? Ich bin nahezu am verzweifeln, da mir die Funktion Difference() nicht die Differenz zum Vorgängerwert ermittelt

              M Offline
              M Offline
              marsmännchen
              wrote on last edited by
              #11

              @kalli71
              "der Rest" ist wohl etwas untergegangen. Da meine Datenaufnahme im Moment generell nicht funktioniert, konnte ich weiterhin nichts optimieren.
              Ist natürlich schwer dir einen Tipp oder Hinweis zu geben wenn du keine weiteren Info´s mitteilst.

              Raspberry Pi 4 8GB, Debian 11, js-controller: 5.0.12, Nodejs: v18.18.2, NPM: 9.8.1 (Multihost),
              Wago PFC200 mit Dali Lichtsteuerung.

              K 1 Reply Last reply
              0
              • M marsmännchen

                @kalli71
                "der Rest" ist wohl etwas untergegangen. Da meine Datenaufnahme im Moment generell nicht funktioniert, konnte ich weiterhin nichts optimieren.
                Ist natürlich schwer dir einen Tipp oder Hinweis zu geben wenn du keine weiteren Info´s mitteilst.

                K Offline
                K Offline
                Kalli71
                wrote on last edited by
                #12

                @marsmännchen Danke für Deine Rückmeldung. Ich versuche aus meinen Stromzählerveränderungen (werden bei Änderungern protokolliert) den stündlichen verbrauch zu berechnen. Mit Flux komme ich aber an meine Grenzen.
                Ich habe z.B. eine Protokollierung um 17:20h mit 1000KWh Zählerstand, 17:58h mit 1001KWh und um 19:45h einen neuen Zählerstand mit 1001KWh. Wenn ich jetzt eine Zeitleiste auf Stundenbasis aufstelle (18h, 19h, 20h) müsste Grafana die einzelnen Punkte zwischen den Messwerten interpolieren und als value in der Tabelle notieren. Hier wird aber nichts interpoliert, sondern zu den Zeitpunkten die Ganzzahlwerte fortgeschrieben. Daher ist bei der Umrechnung in Verbrauch/Zeitintervall das Ergebnis 0 oder 1.

                1 Reply Last reply
                0
                • F ftd

                  @marsmännchen said in Grafana 8.4.3 InfluxDB2.11 Flux monatliche Darstellung:

                  Hat vielleicht jemand eine Idee?

                  Täglich mit Differenz (also die Summe aus allen Differenzen)

                  |> aggregateWindow(every: 24h, fn: sum, timeSrc: "_start")
                  

                  oder

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

                  Wenn dein Gaszähler schon Gesamtwerte liefert... also immer den letzten. Aber mit AggregateWindow kannst du jedenfalls die X-Achse teilen...

                  oder

                  |> aggregateWindow(every: 1mo, fn: last, timeSrc: "_start")
                  

                  für 1 Monat

                  G Offline
                  G Offline
                  GoodOld
                  wrote on last edited by GoodOld
                  #13

                  @ftd hast du eine Idee wie man den Verbrauch der letzten 7 Tage anzeigen könnte?

                  from(bucket: "data")
                    |> range(start: -7d, stop: now())
                    |> filter(fn: (r) => r["_measurement"] == "Zaehlerstand")
                    |> filter(fn: (r) => r["_field"] == "value")
                    |> aggregateWindow(every: 7d, fn: last, timeSrc: "_start")
                    |> difference()
                  //  bzw. mit Offset
                  //  |> aggregateWindow(every: 7d, fn: last, timeSrc: "_start", offset: 4d)
                  //  |> difference()
                  

                  damit funktioniert es nicht da er immer von Montage/Donnerstag rechnet, da Grafana die Unix-Epochenwochen verwendet und diese beginnt halt am Donnerstag und somit rechnet er immer von Donnerstag den Verbrauch bzw. von Montag wenn man mit Offset arbeitet. Das liegt daran das 7 Tage = 1 Woche sind und er das "falsch" Interpretiert.

                  Meister MopperM 1 Reply Last reply
                  0
                  • G GoodOld

                    @ftd hast du eine Idee wie man den Verbrauch der letzten 7 Tage anzeigen könnte?

                    from(bucket: "data")
                      |> range(start: -7d, stop: now())
                      |> filter(fn: (r) => r["_measurement"] == "Zaehlerstand")
                      |> filter(fn: (r) => r["_field"] == "value")
                      |> aggregateWindow(every: 7d, fn: last, timeSrc: "_start")
                      |> difference()
                    //  bzw. mit Offset
                    //  |> aggregateWindow(every: 7d, fn: last, timeSrc: "_start", offset: 4d)
                    //  |> difference()
                    

                    damit funktioniert es nicht da er immer von Montage/Donnerstag rechnet, da Grafana die Unix-Epochenwochen verwendet und diese beginnt halt am Donnerstag und somit rechnet er immer von Donnerstag den Verbrauch bzw. von Montag wenn man mit Offset arbeitet. Das liegt daran das 7 Tage = 1 Woche sind und er das "falsch" Interpretiert.

                    Meister MopperM Offline
                    Meister MopperM Offline
                    Meister Mopper
                    wrote on last edited by
                    #14

                    @goodold sagte in [gelöst]Grafana 8.4.3 InfluxDB2.11 Flux monatlich:

                    from(bucket: "data")

                    Du kannst ein offset definieren:

                    from(bucket: "data")
                      |> range(start: -7d, stop: now())
                      |> filter(fn: (r) => r["_measurement"] == "Zaehlerstand")
                      |> filter(fn: (r) => r["_field"] == "value")
                      |> aggregateWindow(every: 7d, offset: -3d, fn: last, timeSrc: "_start")
                    
                      |> difference()
                    

                    Proxmox und HA - dank KI/AI endlich "blocklyfrei"

                    1 Reply Last reply
                    0
                    • akuhnshA Offline
                      akuhnshA Offline
                      akuhnsh
                      wrote on last edited by
                      #15

                      @marsmännchen

                      Ist zwar schon eine Weile her, aber vielleicht hilft die Herangehensweise jemandem. Den folgenden Code habe ich im Data Explorer der neuen InfluxDB 2.x quasi fast automatisch erstellen lassen. Wer in etwa weiß wie die InfluxQL Abfragen funktionieren, der braucht kaum Code lernen wie ich finde. Die Weboberfläche der neuen DB erreicht man unter der IP Adresse des Hosts über Port :8086 im Browser und dort sieht es nach dem Anmelden und 4-5 Clicks dann z.B. so aus:

                      Bildschirmfoto 2023-02-08 um 20.19.12.png

                      Hier können nach belieben Code-Schnipsel zusammengebracht und ggf. angepasst werden. Ich habe Difference() aus der Liste unten rechts per Click eingefügt, nonNegative auf true geändert und aggregateWindow auf every: 1mo. Das war es dann auch schon.

                      from(bucket: "iobroker")
                        |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                        |> filter(fn: (r) => r["_measurement"] == "sonoff.0.Gartenkraftwerk II.ENERGY_Total" or r["_measurement"] == "sonoff.0.MiniJoule.ENERGY_Total")
                        |> filter(fn: (r) => r["_field"] == "value")
                        |> aggregateWindow(every: 1mo , fn: last, timeSrc: "_start")
                        |> difference(nonNegative: true, columns: ["_value"])
                        |> yield(name: "last")
                      

                      Den Code dann 1:1 in Grafana kopiert und siehe da, passt. In den Query Options die Relative Time auf 1Y und schon wirft Grafana saubere Monatswerte der saldierenden Zählerwerte aus.

                      Bildschirmfoto 2023-02-08 um 20.29.33.png

                      Anpassungen der Optik sind wie gewohnt und nach belieben möglich.

                      1 Reply Last reply
                      1
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      417

                      Online

                      32.7k

                      Users

                      82.6k

                      Topics

                      1.3m

                      Posts
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Home
                      • Recent
                      • Tags
                      • Unread 0
                      • Categories
                      • Unreplied
                      • Popular
                      • GitHub
                      • Docu
                      • Hilfe