Skip to content
  • 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
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Off Topic
  4. Grafana
  5. Grafana + Influx 2 + Flux + Bar Gauge

NEWS

  • Wartung am 15.11. – Forum ab 22:00 Uhr nicht erreichbar
    BluefoxB
    Bluefox
    11
    2
    208

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

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

Grafana + Influx 2 + Flux + Bar Gauge

Grafana + Influx 2 + Flux + Bar Gauge

Scheduled Pinned Locked Moved Grafana
51 Posts 6 Posters 3.1k Views 5 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.
  • L Laser

    @spacerx Sowas will ich ja machen. Das zu überschreibende Feld auswählen. Das geht ja mit dem Pfeil rechts/ "wählen". Zu lang, wird abgeschnitten. 2. Version: kopieren des Namens aus dem Bucket- hat nicht geklappt. 3. suchen nach "Tuesday" funktioniert, aber nur so lange, wie es diese Bezeichnung nur 1x gibt, bei öfteren Vorkommen von "thuesday"wird es problematisch. Endet wieder in einer endlosen Versuchsreihe.
    EDIT: kopieren eines längeren Teiles aus dem Namen (in der Hoffnung, dieser Teil ist einmalig) und danach suchen lassen. Hat erst mal funktioniert. Weitertesten ist angesagt. Schön ist etwas Anderes! FLUX finde ich nicht so toll! Ist umfangreich, aber auch sehr umständlich zu bedienen.

    ? Offline
    ? Offline
    A Former User
    wrote on last edited by
    #12

    @laser sagte in Grafana + Influx 2 + Flux + Bar Gauge:

    Schön ist etwas Anderes! FLUX finde ich nicht so toll! Ist umfangreich, aber auch sehr umständlich zu bedienen.

    Moin,

    das ist nicht das Problem von FLUX, das ist ja nur die Abfragesprache, dass die GUI von Grafana keine Langen XXL Namen anzeigen kann, ist ja eher Dein Problem, wenn Du die Namen so in der DB abspeicherst 😉
    Ich habe leider kein Beispiel, kann mir aber vorstellen, wenn Du in dem Feld anfängst zu tippen, dass dann die Auswahl eingeschränkt wird, bis das passende angezeigt wird.

    VG
    Bernd

    1 Reply Last reply
    0
    • L Laser

      @spacerx
      Das geht schon in die Richtung. Bisher ist mir nur gelungen, daß immer z.B. "Montag! in allen Feldern steht.
      Die Unterschrift meiner Balken (einzelne Werte aus Sourceanalytix) ist aber kein Datum, sondern ein Objektname.
      c504c2d5-d930-4d0a-906f-0a23c841bf99-image.png
      Dieser Name ist aber so lang, daß er beim Auswählen rechts aus dem Bild hinausgeht und nicht sichtbar ist.

      0cc856ac-daaa-4290-b936-c0130d8d3168-image.png

      mit einem Zufallstreffer hat es 1x geklappt:
      8322c606-ea90-474f-8737-4e8ad5659305-image.png

      Marc BergM Offline
      Marc BergM Offline
      Marc Berg
      Most Active
      wrote on last edited by Marc Berg
      #13

      @laser sagte in Grafana + Influx 2 + Flux + Bar Gauge:

      @spacerx
      Das geht schon in die Richtung. Bisher ist mir nur gelungen, daß immer z.B. "Montag! in allen Feldern steht.
      Die Unterschrift meiner Balken (einzelne Werte aus Sourceanalytix) ist aber kein Datum, sondern ein Objektname.

      Dieser Name ist aber so lang, daß er beim Auswählen rechts aus dem Bild hinausgeht und nicht sichtbar ist.

      mit einem Zufallstreffer hat es 1x geklappt:

      ein mögliche Lösung wäre, an deine Queries anzuhängen:

        |> keep(columns: ["_value"])
        |> rename(columns: {_value:"Montag"})
      
        |> keep(columns: ["_value"])
        |> rename(columns: {_value:"Dienstag"})
      

      Damit entfernst du alle anderen Spalten und Grafana bekommt nur den "Kurznamen", also Spaltennamen. Das setzt natürlich voraus, dass die Spalte "_value" existiert und vorher nicht schon umbenannt wurde.

      af3c429f-9d77-4ffe-8057-17b6baf62fe5-grafik.png

      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.

      L 1 Reply Last reply
      2
      • Marc BergM Marc Berg

        @laser sagte in Grafana + Influx 2 + Flux + Bar Gauge:

        @spacerx
        Das geht schon in die Richtung. Bisher ist mir nur gelungen, daß immer z.B. "Montag! in allen Feldern steht.
        Die Unterschrift meiner Balken (einzelne Werte aus Sourceanalytix) ist aber kein Datum, sondern ein Objektname.

        Dieser Name ist aber so lang, daß er beim Auswählen rechts aus dem Bild hinausgeht und nicht sichtbar ist.

        mit einem Zufallstreffer hat es 1x geklappt:

        ein mögliche Lösung wäre, an deine Queries anzuhängen:

          |> keep(columns: ["_value"])
          |> rename(columns: {_value:"Montag"})
        
          |> keep(columns: ["_value"])
          |> rename(columns: {_value:"Dienstag"})
        

        Damit entfernst du alle anderen Spalten und Grafana bekommt nur den "Kurznamen", also Spaltennamen. Das setzt natürlich voraus, dass die Spalte "_value" existiert und vorher nicht schon umbenannt wurde.

        af3c429f-9d77-4ffe-8057-17b6baf62fe5-grafik.png

        L Offline
        L Offline
        Laser
        wrote on last edited by
        #14

        @marc-berg sagte in Grafana + Influx 2 + Flux + Bar Gauge:

        |> keep(columns: ["_value"]) |> rename(columns: {_value:"Montag"})
        Das sieht dann so aus:
        96bf40c8-0613-4516-a5e6-b4ef5ea28d26-image.png
        Das ist sicher der elegantere Weg. Passt nur noch nicht ganz.

        Marc BergM 1 Reply Last reply
        0
        • L Laser

          @marc-berg sagte in Grafana + Influx 2 + Flux + Bar Gauge:

          |> keep(columns: ["_value"]) |> rename(columns: {_value:"Montag"})
          Das sieht dann so aus:
          96bf40c8-0613-4516-a5e6-b4ef5ea28d26-image.png
          Das ist sicher der elegantere Weg. Passt nur noch nicht ganz.

          Marc BergM Offline
          Marc BergM Offline
          Marc Berg
          Most Active
          wrote on last edited by Marc Berg
          #15

          @laser sagte in Grafana + Influx 2 + Flux + Bar Gauge:

          Das ist sicher der elegantere Weg. Passt nur noch nicht ganz.

          Zeig mal deine Queries. Hast du vielleicht noch Overrides definiert?

          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.

          L 1 Reply Last reply
          0
          • Marc BergM Marc Berg

            @laser sagte in Grafana + Influx 2 + Flux + Bar Gauge:

            Das ist sicher der elegantere Weg. Passt nur noch nicht ganz.

            Zeig mal deine Queries. Hast du vielleicht noch Overrides definiert?

            L Offline
            L Offline
            Laser
            wrote on last edited by Laser
            #16

            @marc-berg
            from(bucket: "iobroker")
            |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
            |> filter(fn: (r) => r["_measurement"] == "sourceanalytix.0.alias__0__OpenDTU-Gesamptproduktion__yieldtotal.currentYear.delivered.currentWeek.01_Monday")
            |> filter(fn: (r) => r["_field"] == "value")
            |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)
            |> yield(name: "mean")
            |> keep(columns: ["_value"])
            |> rename(columns: {_value:"Montag"})

            keine overides

            Marc BergM 1 Reply Last reply
            0
            • L Laser

              @marc-berg
              from(bucket: "iobroker")
              |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
              |> filter(fn: (r) => r["_measurement"] == "sourceanalytix.0.alias__0__OpenDTU-Gesamptproduktion__yieldtotal.currentYear.delivered.currentWeek.01_Monday")
              |> filter(fn: (r) => r["_field"] == "value")
              |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)
              |> yield(name: "mean")
              |> keep(columns: ["_value"])
              |> rename(columns: {_value:"Montag"})

              keine overides

              Marc BergM Offline
              Marc BergM Offline
              Marc Berg
              Most Active
              wrote on last edited by Marc Berg
              #17

              @laser sagte in Grafana + Influx 2 + Flux + Bar Gauge:

              |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)
              |> yield(name: "mean")

              das muss weg, wenn ich die Anforderung richtig verstehe:

              |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)
              |> yield(name: "mean")
              

              und das hier muss in Grafana eingestellt sein:

              4fadcb47-d27f-4c8e-9efe-f6fb790da92f-grafik.png

              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.

              L 1 Reply Last reply
              1
              • Marc BergM Marc Berg

                @laser sagte in Grafana + Influx 2 + Flux + Bar Gauge:

                |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)
                |> yield(name: "mean")

                das muss weg, wenn ich die Anforderung richtig verstehe:

                |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)
                |> yield(name: "mean")
                

                und das hier muss in Grafana eingestellt sein:

                4fadcb47-d27f-4c8e-9efe-f6fb790da92f-grafik.png

                L Offline
                L Offline
                Laser
                wrote on last edited by Laser
                #18

                @marc-berg So ist es OK!
                from(bucket: "iobroker")
                |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                |> filter(fn: (r) => r["_measurement"] == "sourceanalytix.0.alias__0__OpenDTU-Gesamptproduktion__yieldtotal.currentYear.delivered.currentWeek.01_Monday")
                |> filter(fn: (r) => r["_field"] == "value")
                |> keep(columns: ["_value"])
                |> rename(columns: {_value:"Montag"})
                c4a761a8-4116-449a-b0d1-49807b6e4888-image.png

                Und:
                4da8e477-e526-4e56-b950-350413dbd530-image.png

                Das ist für mich absolutes Neuland. Da muß ich mich erst einarbeiten.

                L 1 Reply Last reply
                0
                • L Laser

                  @marc-berg So ist es OK!
                  from(bucket: "iobroker")
                  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                  |> filter(fn: (r) => r["_measurement"] == "sourceanalytix.0.alias__0__OpenDTU-Gesamptproduktion__yieldtotal.currentYear.delivered.currentWeek.01_Monday")
                  |> filter(fn: (r) => r["_field"] == "value")
                  |> keep(columns: ["_value"])
                  |> rename(columns: {_value:"Montag"})
                  c4a761a8-4116-449a-b0d1-49807b6e4888-image.png

                  Und:
                  4da8e477-e526-4e56-b950-350413dbd530-image.png

                  Das ist für mich absolutes Neuland. Da muß ich mich erst einarbeiten.

                  L Offline
                  L Offline
                  Laser
                  wrote on last edited by Laser
                  #19

                  @Marc-Berg
                  Die Unterschrift wird geändert. Jedoch ändert sich auch der angezeigte Zahlenwert. 1,54 werden angezeigt, 1,97 müssten es sein.
                  def07b60-bb3d-42f8-b448-7a1489aa10eb-image.png

                  1 Reply Last reply
                  0
                  • Marc BergM Offline
                    Marc BergM Offline
                    Marc Berg
                    Most Active
                    wrote on last edited by
                    #20

                    @laser sagte in Grafana + Influx 2 + Flux + Bar Gauge:

                    @Marc-Berg
                    Die Unterschrift wird geändert. Jedoch ändert sich auch der angezeigte Zahlenwert. 1,54 werden angezeigt, 1,97 müssten es sein.

                    Verstehe gerade Null, was du meinst. Außerdem wurden doch oben in deinem Beispiel für Montag vorher und nach den Änderungen jeweils 2.59kWh angezeigt!?

                    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.

                    L 1 Reply Last reply
                    0
                    • Marc BergM Marc Berg

                      @laser sagte in Grafana + Influx 2 + Flux + Bar Gauge:

                      @Marc-Berg
                      Die Unterschrift wird geändert. Jedoch ändert sich auch der angezeigte Zahlenwert. 1,54 werden angezeigt, 1,97 müssten es sein.

                      Verstehe gerade Null, was du meinst. Außerdem wurden doch oben in deinem Beispiel für Montag vorher und nach den Änderungen jeweils 2.59kWh angezeigt!?

                      L Offline
                      L Offline
                      Laser
                      wrote on last edited by
                      #21

                      @marc-berg Ja, es wird etwas angezeigt. Aber bei genauer Kontrolle, zum Beispiel am Sonntag (aktueller Tag), habe ich den Wert in den Objekten mit dem angezeigten Wert nach der Korrektur der Unterschrift verglichen. Die beiden Werte stimmen nicht überein. Ohne die Korrektur schon. In der Datenbank steht auch der richtige Wert. ( Bildschirmausdruck).

                      Marc BergM 1 Reply Last reply
                      0
                      • L Laser

                        @marc-berg Ja, es wird etwas angezeigt. Aber bei genauer Kontrolle, zum Beispiel am Sonntag (aktueller Tag), habe ich den Wert in den Objekten mit dem angezeigten Wert nach der Korrektur der Unterschrift verglichen. Die beiden Werte stimmen nicht überein. Ohne die Korrektur schon. In der Datenbank steht auch der richtige Wert. ( Bildschirmausdruck).

                        Marc BergM Offline
                        Marc BergM Offline
                        Marc Berg
                        Most Active
                        wrote on last edited by Marc Berg
                        #22

                        @laser
                        Wenn ich es richtig verstehe, soll doch der Wert, der in diesem Datenpunkt steht:

                        3dc8c3c0-d27e-4700-9372-52d6c1851409-grafik.png

                        1:1 angezeigt werden, oder? Das wäre dann der letzte Wert, der in die Datenbank geloggt wurde.
                        Vor diesem Hintergrund ergibt es für mich keinen Sinn, mit einem Mittelwert über die Funktion "aggregateWindow (mean)" zu arbeiten. Stattdessen wirst du mit |> last() den jüngsten Wert erhalten.

                        Vielleicht zeigst du einfach mal den Inhalt des Datenpunkts und die letzten geloggten Werte in der Influxdb. Villeicht lässt es sich das Problem damit besser auflösen.

                        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.

                        L 1 Reply Last reply
                        0
                        • Marc BergM Marc Berg

                          @laser
                          Wenn ich es richtig verstehe, soll doch der Wert, der in diesem Datenpunkt steht:

                          3dc8c3c0-d27e-4700-9372-52d6c1851409-grafik.png

                          1:1 angezeigt werden, oder? Das wäre dann der letzte Wert, der in die Datenbank geloggt wurde.
                          Vor diesem Hintergrund ergibt es für mich keinen Sinn, mit einem Mittelwert über die Funktion "aggregateWindow (mean)" zu arbeiten. Stattdessen wirst du mit |> last() den jüngsten Wert erhalten.

                          Vielleicht zeigst du einfach mal den Inhalt des Datenpunkts und die letzten geloggten Werte in der Influxdb. Villeicht lässt es sich das Problem damit besser auflösen.

                          L Offline
                          L Offline
                          Laser
                          wrote on last edited by Laser
                          #23

                          @marc-berg der Sonntag mit den Problemwerten ist ja nun vorbei. Hier der Wert des Objektes (nun "vergangene Woche")
                          4dc7b80f-8bf9-4956-95a9-22674f54dbd3-image.png
                          angezeigt wurde das in meinem vorherigen Beitrag gezeigte.
                          Eine Befehlsrefernz , wo z.B. "mean" und "last" erklärt wird, suche ich noch. Das "mean" könnte der Fehler sein.
                          Diese Befehlsfolge wurde automatisch erstellt, ich habe da nichts dazu getan.
                          Aber das kommt ja in der abgewandelten Form in Grafana gar nicht mehr vor?

                          from(bucket: "iobroker")
                            |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                            |> filter(fn: (r) => r["_measurement"] == "sourceanalytix.0.alias__0__Panel power V-Ladegerät__PPV.currentYear.delivered.currentWeek.01_Monday")
                            |> filter(fn: (r) => r["_field"] == "value")
                            |> keep(columns: ["_value"])
                            |> rename(columns: {_value:"Montag"})
                          

                          Nur in der Datenbank selber:

                          from(bucket: "iobroker")
                            |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                            |> filter(fn: (r) => r["_measurement"] == "sourceanalytix.0.alias__0__Panel power V-Ladegerät__PPV.currentYear.delivered.currentWeek.01_Monday")
                            |> filter(fn: (r) => r["_field"] == "value")
                            |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)
                            |> yield(name: "mean")
                          
                          Marc BergM 1 Reply Last reply
                          0
                          • L Laser

                            @marc-berg der Sonntag mit den Problemwerten ist ja nun vorbei. Hier der Wert des Objektes (nun "vergangene Woche")
                            4dc7b80f-8bf9-4956-95a9-22674f54dbd3-image.png
                            angezeigt wurde das in meinem vorherigen Beitrag gezeigte.
                            Eine Befehlsrefernz , wo z.B. "mean" und "last" erklärt wird, suche ich noch. Das "mean" könnte der Fehler sein.
                            Diese Befehlsfolge wurde automatisch erstellt, ich habe da nichts dazu getan.
                            Aber das kommt ja in der abgewandelten Form in Grafana gar nicht mehr vor?

                            from(bucket: "iobroker")
                              |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                              |> filter(fn: (r) => r["_measurement"] == "sourceanalytix.0.alias__0__Panel power V-Ladegerät__PPV.currentYear.delivered.currentWeek.01_Monday")
                              |> filter(fn: (r) => r["_field"] == "value")
                              |> keep(columns: ["_value"])
                              |> rename(columns: {_value:"Montag"})
                            

                            Nur in der Datenbank selber:

                            from(bucket: "iobroker")
                              |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                              |> filter(fn: (r) => r["_measurement"] == "sourceanalytix.0.alias__0__Panel power V-Ladegerät__PPV.currentYear.delivered.currentWeek.01_Monday")
                              |> filter(fn: (r) => r["_field"] == "value")
                              |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)
                              |> yield(name: "mean")
                            
                            Marc BergM Offline
                            Marc BergM Offline
                            Marc Berg
                            Most Active
                            wrote on last edited by Marc Berg
                            #24

                            @laser sagte in Grafana + Influx 2 + Flux + Bar Gauge:

                            Diese Befehlsfolge wurde automatisch erstellt, ich habe da nichts dazu getan.

                            Genau das ist das Problem. In der Gui der Influxdb wird standardmäßig die "aggregateWindow" Funktion ergänzt. Je nach ausgewählten Zeitraum werden dann z.B. Mittelwerte (mean) berechnet. Wenn du die Zeile entfernst und dafür

                            |> last()
                            

                            einfügst, wird der letzte im "Range" Zeitraum selektierte Wert geliefert.

                            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.

                            L 1 Reply Last reply
                            0
                            • Marc BergM Marc Berg

                              @laser sagte in Grafana + Influx 2 + Flux + Bar Gauge:

                              Diese Befehlsfolge wurde automatisch erstellt, ich habe da nichts dazu getan.

                              Genau das ist das Problem. In der Gui der Influxdb wird standardmäßig die "aggregateWindow" Funktion ergänzt. Je nach ausgewählten Zeitraum werden dann z.B. Mittelwerte (mean) berechnet. Wenn du die Zeile entfernst und dafür

                              |> last()
                              

                              einfügst, wird der letzte im "Range" Zeitraum selektierte Wert geliefert.

                              L Offline
                              L Offline
                              Laser
                              wrote on last edited by Laser
                              #25

                              @marc-berg so? (scheint den richtigen Wert anzuzeigen)
                              from(bucket: "iobroker")
                              |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                              |> filter(fn: (r) => r["_measurement"] == "sourceanalytix.0.alias__0__Panel power V-Ladegerät__PPV.currentYear.delivered.currentWeek.01_Monday")
                              |> filter(fn: (r) => r["_field"] == "value")
                              |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)
                              |> keep(columns: ["_value"])
                              |> rename(columns: {_value:"Montag"})

                              06fb7f93-8b2f-4f16-8a51-d9f5348e6663-image.png

                              ? Marc BergM 2 Replies Last reply
                              0
                              • L Laser

                                @marc-berg so? (scheint den richtigen Wert anzuzeigen)
                                from(bucket: "iobroker")
                                |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                                |> filter(fn: (r) => r["_measurement"] == "sourceanalytix.0.alias__0__Panel power V-Ladegerät__PPV.currentYear.delivered.currentWeek.01_Monday")
                                |> filter(fn: (r) => r["_field"] == "value")
                                |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)
                                |> keep(columns: ["_value"])
                                |> rename(columns: {_value:"Montag"})

                                06fb7f93-8b2f-4f16-8a51-d9f5348e6663-image.png

                                ? Offline
                                ? Offline
                                A Former User
                                wrote on last edited by
                                #26

                                @laser sagte in Grafana + Influx 2 + Flux + Bar Gauge:

                                from(bucket: "iobroker")
                                |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                                |> filter(fn: (r) => r["_measurement"] == "sourceanalytix.0.alias__0__Panel power V-Ladegerät__PPV.currentYear.delivered.currentWeek.01_Monday")
                                |> filter(fn: (r) => r["_field"] == "value")
                                |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)
                                |> keep(columns: ["_value"])
                                |> rename(columns: {_value:"Montag"})

                                Moin,

                                wie @Marc-Berg schon sagte, das aggregateWindow brauchst Du nicht, da Du ja nur den letzten Wert vom Tag brauchst.

                                from(bucket: "iobroker")
                                |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                                |> filter(fn: (r) => r["_measurement"] == "sourceanalytix.0.alias__0__Panel power V-Ladegerät__PPV.currentYear.delivered.currentWeek.01_Monday")
                                |> filter(fn: (r) => r["_field"] == "value")
                                |> keep(columns: ["_value"])
                                |> rename(columns: {_value:"Montag"})
                                |> last ()
                                

                                VG
                                Bernd

                                1 Reply Last reply
                                0
                                • L Laser

                                  @marc-berg so? (scheint den richtigen Wert anzuzeigen)
                                  from(bucket: "iobroker")
                                  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                                  |> filter(fn: (r) => r["_measurement"] == "sourceanalytix.0.alias__0__Panel power V-Ladegerät__PPV.currentYear.delivered.currentWeek.01_Monday")
                                  |> filter(fn: (r) => r["_field"] == "value")
                                  |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)
                                  |> keep(columns: ["_value"])
                                  |> rename(columns: {_value:"Montag"})

                                  06fb7f93-8b2f-4f16-8a51-d9f5348e6663-image.png

                                  Marc BergM Offline
                                  Marc BergM Offline
                                  Marc Berg
                                  Most Active
                                  wrote on last edited by
                                  #27

                                  @laser sagte in Grafana + Influx 2 + Flux + Bar Gauge:

                                  from(bucket: "iobroker")
                                  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                                  |> filter(fn: (r) => r["_measurement"] == "sourceanalytix.0.alias__0__Panel power V-Ladegerät__PPV.currentYear.delivered.currentWeek.01_Monday")
                                  |> filter(fn: (r) => r["_field"] == "value")
                                  |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)
                                  |> keep(columns: ["_value"])
                                  |> rename(columns: {_value:"Montag"})

                                  das geht auch, aber

                                  from(bucket: "iobroker")
                                  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                                  |> filter(fn: (r) => r["_measurement"] == "sourceanalytix.0.alias__0__Panel power V-Ladegerät__PPV.currentYear.delivered.currentWeek.01_Monday")
                                  |> filter(fn: (r) => r["_field"] == "value")
                                  |> last()
                                  |> keep(columns: ["_value"])
                                  |> rename(columns: {_value:"Montag"})
                                  

                                  ist für dein Anwendungsfall die bessere Variante. "aggregateWindow" benutzt du vor allem, wenn du Zeiträume in Kurven darstellen willst, und beispielsweise den Maximal-/Mittel-/Mindest-Wert in einem 5m Minuten Intervall ermitteln möchtest.

                                  In dem hier geplanten Szenario benötigst du ja GENAU EINEN Wert. Und das ist hier mit der "last()" Funktion der letzte/jüngste Wert im "Range".

                                  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.

                                  L 1 Reply Last reply
                                  0
                                  • Marc BergM Marc Berg

                                    @laser sagte in Grafana + Influx 2 + Flux + Bar Gauge:

                                    from(bucket: "iobroker")
                                    |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                                    |> filter(fn: (r) => r["_measurement"] == "sourceanalytix.0.alias__0__Panel power V-Ladegerät__PPV.currentYear.delivered.currentWeek.01_Monday")
                                    |> filter(fn: (r) => r["_field"] == "value")
                                    |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)
                                    |> keep(columns: ["_value"])
                                    |> rename(columns: {_value:"Montag"})

                                    das geht auch, aber

                                    from(bucket: "iobroker")
                                    |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                                    |> filter(fn: (r) => r["_measurement"] == "sourceanalytix.0.alias__0__Panel power V-Ladegerät__PPV.currentYear.delivered.currentWeek.01_Monday")
                                    |> filter(fn: (r) => r["_field"] == "value")
                                    |> last()
                                    |> keep(columns: ["_value"])
                                    |> rename(columns: {_value:"Montag"})
                                    

                                    ist für dein Anwendungsfall die bessere Variante. "aggregateWindow" benutzt du vor allem, wenn du Zeiträume in Kurven darstellen willst, und beispielsweise den Maximal-/Mittel-/Mindest-Wert in einem 5m Minuten Intervall ermitteln möchtest.

                                    In dem hier geplanten Szenario benötigst du ja GENAU EINEN Wert. Und das ist hier mit der "last()" Funktion der letzte/jüngste Wert im "Range".

                                    L Offline
                                    L Offline
                                    Laser
                                    wrote on last edited by
                                    #28

                                    @marc-berg , @dp20eic
                                    Danke! So klappt das. Bin noch auf der Suche nach etwas, wo diese Dinge erklärt werden (Befehlsreferenz o.ä.)

                                    Marc BergM 1 Reply Last reply
                                    0
                                    • L Laser

                                      @marc-berg , @dp20eic
                                      Danke! So klappt das. Bin noch auf der Suche nach etwas, wo diese Dinge erklärt werden (Befehlsreferenz o.ä.)

                                      Marc BergM Offline
                                      Marc BergM Offline
                                      Marc Berg
                                      Most Active
                                      wrote on last edited by Marc Berg
                                      #29

                                      @laser sagte in Grafana + Influx 2 + Flux + Bar Gauge:

                                      @marc-berg , @dp20eic
                                      Danke! So klappt das. Bin noch auf der Suche nach etwas, wo diese Dinge erklärt werden (Befehlsreferenz o.ä.)

                                      https://docs.influxdata.com/influxdb/v2.7/query-data/get-started/query-influxdb/

                                      ?

                                      Und das Youtube Video von @haus-automatisierung für den Einstieg.

                                      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.

                                      L 1 Reply Last reply
                                      2
                                      • Marc BergM Marc Berg

                                        @laser sagte in Grafana + Influx 2 + Flux + Bar Gauge:

                                        @marc-berg , @dp20eic
                                        Danke! So klappt das. Bin noch auf der Suche nach etwas, wo diese Dinge erklärt werden (Befehlsreferenz o.ä.)

                                        https://docs.influxdata.com/influxdb/v2.7/query-data/get-started/query-influxdb/

                                        ?

                                        Und das Youtube Video von @haus-automatisierung für den Einstieg.

                                        L Offline
                                        L Offline
                                        Laser
                                        wrote on last edited by
                                        #30

                                        @marc-berg Werde mich durch die docs.influxdata.com durchkämpfen. Bisher fehlt mir noch der Anfang. Wenn man z.B. nichts von der Existenz "mean" oder "last" weiß, wird es schwierig. Aber sicher nicht unmöglich...

                                        1 Reply Last reply
                                        0
                                        • ? Offline
                                          ? Offline
                                          A Former User
                                          wrote on last edited by
                                          #31

                                          @laser sagte in Grafana + Influx 2 + Flux + Bar Gauge:

                                          @marc-berg Werde mich durch die docs.influxdata.com durchkämpfen. Bisher fehlt mir noch der Anfang. Wenn man z.B. nichts von der Existenz "mean" oder "last" weiß, wird es schwierig. Aber sicher nicht unmöglich...

                                          Moin,

                                          Du hast in der influxDB Web-UI die Möglichkeit jede Funktion, die es gibt, mit einer Kurzbeschreibung anzuschauen.

                                          Einfach mal in das Feld z.B. mean oder last eingeben, dann mit der Maus auf den Befehl und Du bekommst eine Beschreibung und einen Link zur ausführlichen Beschreibung bei influxDB.

                                          22fa55c3-783d-4d4d-a6f4-9793cea25ee2-grafik.png

                                          VG
                                          Bernd

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          105

                                          Online

                                          32.4k

                                          Users

                                          81.3k

                                          Topics

                                          1.3m

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

                                          • Don't have an account? Register

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