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. [gelöst]Grafana 8.4.3 InfluxDB2.11 Flux monatlich

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

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

Geplant Angeheftet Gesperrt Verschoben Off Topic
15 Beiträge 8 Kommentatoren 8.2k Aufrufe 9 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
    marsmännchen
    schrieb am zuletzt editiert von marsmännchen
    #1

    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

    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 F 2 Antworten Letzte Antwort
    0
    • 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

      J Offline
      J Offline
      JoergH
      schrieb am zuletzt editiert von JoergH
      #2

      @marsmännchen Moin. Probiers mal so

      bd7d8b53-c204-41df-80e1-3ac7b00c6805-grafik.png

      Du musst "difference" einstellen...

      M 1 Antwort Letzte Antwort
      1
      • J JoergH

        @marsmännchen Moin. Probiers mal so

        bd7d8b53-c204-41df-80e1-3ac7b00c6805-grafik.png

        Du musst "difference" einstellen...

        M Offline
        M Offline
        marsmännchen
        schrieb am zuletzt editiert von
        #3

        @joergh
        Danke sehr, aber leider hab ich kein InfluxQL sondern Flux.
        Und das kann ich leider nicht "umschreiben" Ich kapiers einfach nicht...
        Danke trotzdem.

        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.

        crunchipC 1 Antwort Letzte Antwort
        0
        • M marsmännchen

          @joergh
          Danke sehr, aber leider hab ich kein InfluxQL sondern Flux.
          Und das kann ich leider nicht "umschreiben" Ich kapiers einfach nicht...
          Danke trotzdem.

          crunchipC Abwesend
          crunchipC Abwesend
          crunchip
          Forum Testing Most Active
          schrieb am zuletzt editiert von
          #4

          @marsmännchen sollte es mit differenz gehen, gibt es dies aber auch bei flux
          https://docs.influxdata.com/flux/v0.x/stdlib/universe/difference/

          umgestiegen von Proxmox auf Unraid

          M 1 Antwort Letzte Antwort
          0
          • crunchipC crunchip

            @marsmännchen sollte es mit differenz gehen, gibt es dies aber auch bei flux
            https://docs.influxdata.com/flux/v0.x/stdlib/universe/difference/

            M Offline
            M Offline
            marsmännchen
            schrieb am zuletzt editiert von
            #5

            @crunchip
            Ja die Anleitungen lese ich schon ganze Woche, und ausser das ich |> difference() unten dran füge hab ich nicht viel davon verstanden.
            Bringt mir aber auch nicht das gewünschte Ergebnis.
            Aber mit |> difference() geht das schon irgendwie in die richtige Richtung.....
            Das is halt eher ein basteln und probieren als sinvolle "Datenverarbeitung".
            :sneezing_face:

            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.

            1 Antwort Letzte Antwort
            0
            • 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
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              0
              • M Offline
                M Offline
                marsmännchen
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  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
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    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
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      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
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        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
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          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
                            schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                            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 Online
                              Meister MopperM Online
                              Meister Mopper
                              schrieb am zuletzt editiert von
                              #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

                              1 Antwort Letzte Antwort
                              0
                              • akuhnshA Offline
                                akuhnshA Offline
                                akuhnsh
                                schrieb am zuletzt editiert von
                                #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 Antwort Letzte Antwort
                                1
                                Antworten
                                • In einem neuen Thema antworten
                                Anmelden zum Antworten
                                • Älteste zuerst
                                • Neuste zuerst
                                • Meiste Stimmen


                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                672

                                Online

                                32.7k

                                Benutzer

                                82.3k

                                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