Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Off Topic
    4. Grafana
    5. Grafana + Influx 2 + Flux + Bar Gauge

    NEWS

    • [erledigt] 15. 05. Wartungsarbeiten am ioBroker Forum

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Grafana + Influx 2 + Flux + Bar Gauge

    This topic has been deleted. Only users with topic management privileges can see it.
    • Marc Berg
      Marc Berg Most Active @Laser last edited by

      @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 1 Reply Last reply Reply Quote 0
      • L
        Laser @Marc Berg last edited by

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

        Marc Berg 1 Reply Last reply Reply Quote 0
        • Marc Berg
          Marc Berg Most Active @Laser last edited by 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 1 Reply Last reply Reply Quote 2
          • L
            Laser @Marc Berg last edited by

            @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 Reply Quote 0
            • ?
              A Former User last edited by

              @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 Reply Quote 2
              • L
                Laser @Guest last edited by Laser

                @dp20eic Ich versuche mich daran...
                z.B. das:

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

                suche ich noch, warum die Unterschrift nicht erscheint (Montag)
                Auch ohne "rename" steht da nichts...
                Wenn ich noch eine Query / Säule daneben bringe, steht der Text da.

                ? 1 Reply Last reply Reply Quote 0
                • ?
                  A Former User @Laser last edited by

                  @laser

                  Moin,

                  ich kenne Dein Bucket nicht, aber kannst Du einmal bitte Folgendes posten?

                  243c3f9c-c6a4-46a4-9f89-daf1e78d82d3-grafik.png

                  Natürlich mit Deinen Daten 🙂

                  VG
                  Bernd

                  L 1 Reply Last reply Reply Quote 0
                  • L
                    Laser @Guest last edited by Laser

                    @dp20eic Diese Eingaben habe ich ja manuell gemacht. Die 2. Säule aus der Datenbank gewonnen. Damit habe ich die Unterschrift. 2. Säule: (mean gegen last getauscht)

                    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")
                    

                    b233b05d-e16c-44b5-9a84-9d13636fcedb-image.png
                    Edit: muß jetzt erst mal weg!

                    ? 1 Reply Last reply Reply Quote 0
                    • ?
                      A Former User @Laser last edited by

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

                      @dp20eic Diese Eingaben habe ich ja manuell gemacht. Die 2. Säule aus der Datenbank gewonnen. Damit habe ich die Unterschrift. 2. Säule: (mean gegen last getauscht)

                      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")
                      

                      Moin,

                      sorry, kann gerade nicht folgen, ich wollte eigentlich im letzten Post von mir nur mal die Ausgangsdaten sehen, denn ich denke, Du versuchst die falsche Spalte umzubenennen.

                      Wenn Du hier etwas anderes meinst, dann verstehe ich es nicht 😞

                      VG
                      Bernd

                      L 1 Reply Last reply Reply Quote 0
                      • L
                        Laser @Guest last edited by Laser

                        @dp20eic ich hatte zuerst nur einen Bar angelegt, zum Testen. Den, wo jetzt "Montag" druntersteht.
                        7ca82980-b77c-47ff-b9de-bc5c3e9ce3fd-image.png
                        Da stand nichts. Erst, als ich den zweiten Bar angelegt hatte, original, wie vom Browser des Influx angelegt, erschien ein Text drunter. Das mit dem Wert hat sich jetzt geklärt. Obwohl sich der Wert Stunden später immer noch auf dem alten Wert befindet. Müßte so wie auf dem rechten Balken sein. Zu dem Zeitpunkt der Erstellung hat es gepasst.

                        4e87d51b-a025-4de9-85d8-84f129a7b4d6-image.png

                        a79c4ef9-57c7-43f8-b979-274c14421de6-image.png

                        ? 1 Reply Last reply Reply Quote 0
                        • ?
                          A Former User @Laser last edited by A Former User

                          @laser

                          Moin,

                          ich versuche jetzt mal mit meinen Worten zu beschreiben.

                          Aus meiner Sicht ist da ein Fehler, denn ich denke, dass Du ja das Anpassen möchtest

                          a638c51d-c624-4d35-82ed-ce5429981c86-grafik.png

                          Das solltest Du aber nicht mit rename in der Abfrage machen, sondern in Grafana unter Mapping, in meinem Beispiel würde 0 - 6 stehen, ich ändere das so, dass 0 = Sonntag ist
                          1633dffa-7386-40d5-a519-3690fd509aaf-grafik.png

                          Deswegen solltest Du Dir ja die Ausgangsdaten in Deinem Bucket anschauen

                          Original:
                          6e596096-1f6e-423b-a471-043a95d452a1-grafik.png

                          Und das bewirkt das Rename
                          61d1ec43-585f-4d08-b395-85b975ee420e-grafik.png

                          Wenn ich etwas versuche, umzubenennen, dass nicht da ist, passiert da nichts
                          2026ae17-2b5e-4b5a-9fbf-1efcbd0441a7-grafik.png

                          Mit dem Rename kannst Du nur die Überschriften der Spalten verändern, aber nicht den Inhalt.

                          Wenn Du z.B.

                          sonoff.0.DVES_8AA766.SENSOR.SML.total_kwh
                          

                          in

                          teletabby
                          

                          Das kannst Du auf zwei Arten machen, entweder alias beim Schreiben in die Datenbank
                          651c008c-46cf-43cc-bdcc-d693d7db88f8-grafik.png
                          Oder
                          28b22fb7-c34c-49ef-a4fa-6ba1ddeeeca0-grafik.png

                          Dann kannst Du das neue Feld Weekday als Balken Unterschrift nutzen.

                          So ich hoffe, ich habe jetzt alles richtig verstanden, ansonsten schon mal sorry.

                          VG
                          Bernd

                          L 1 Reply Last reply Reply Quote 0
                          • L
                            Laser @Guest last edited by Laser

                            @dp20eic Die Werte (value ) der Datenbankeinträge sollen natürlich erhalten bleiben. Nur die riesig langen Untertitel sollen durch etwas ersetzt werden Mo, di, Mi....
                            Wenn ich jetzt das mache, passiert folgendes:
                            8f5d3d20-b469-4887-abed-0cb516b0d2f2-image.png
                            Ich will nach dem "value" in dem Datensatz filtern. Das sollte doch der Zahlenwert sein? Wieso wird denn da ein Feldtext draus?

                            ? 1 Reply Last reply Reply Quote 0
                            • ?
                              A Former User @Laser last edited by

                              @laser

                              Moin,

                              Diese beiden willst Du ändern!
                              4d4ed39d-16e1-4cae-9b56-8815dea27308-grafik.png

                              Das musst Du mit dem Mapping in Grafana machen, nicht durch die Flux abfrage. Zeig mal, ob Du da weiter rechts noch etwas eingestellt ist und wenn nicht nötig, lösche mal die zweite Abfrage.

                              Ich suche gerade mal ein Beispiel wo man das sieht, was ich meine.

                              VG
                              Bernd

                              L 1 Reply Last reply Reply Quote 0
                              • L
                                Laser @Guest last edited by Laser

                                @dp20eic
                                (ohne "rename" , irgend ein alter Wert wird gezeigt, nicht der "last"
                                981a425d-5390-4c20-9a35-c4ceb461b7c5-image.png
                                212b59c0-6009-4b7d-91c2-a5ab29e771a0-image.png

                                EDIT: jetzt wird plötzlich der "last" Wert angezeigt. Auch mit "rename". Aber keine Unterschrift.

                                ? 1 Reply Last reply Reply Quote 0
                                • ?
                                  A Former User @Laser last edited by

                                  @laser

                                  Moin,

                                  wieso bei Dir die Werte nicht passen kann ich nicht sagen. Ich kloppe mir die Abfrage immer erst in der influxDB WEB-UI zusammen und kopiere die dann nach Grafana.

                                  also bei mir, ohne last
                                  5c219e1b-d103-4a39-bfa1-54113fc42223-grafik.png

                                  Mit last()
                                  cac1d78f-4980-47c8-801a-da76a7e4942b-grafik.png

                                  Hier ein Beispiel wie ich einen langen Feldnamen umbenannt habe
                                  4fcb9e7e-8eb3-454c-bb6f-f85483260c43-grafik.png

                                  L 1 Reply Last reply Reply Quote 0
                                  • L
                                    Laser @Guest last edited by Laser

                                    @dp20eic
                                    Ich danke Dir erst mal. So muß es bei mir auch gehen. Das muß ich auch erst mal sacken lassen. Manchmal löst sich der Knoten über Nacht!
                                    Mit "overide" funktioniert es auch bei mir. Sollte halt eine weniger umfangreiche Lösung sein. Dafür muß es doch Befehle geben.

                                    ? 2 Replies Last reply Reply Quote 0
                                    • ?
                                      A Former User @Laser last edited by

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

                                      @dp20eic
                                      Ich danke Dir erst mal. So muß es bei mir auch gehen. Das muß ich auch erst mal sacken lassen. Manchmal löst sich der Knoten über Nacht!

                                      Ja, manchmal muss man Abstand haben, um eine neue Sicht zu bekommen 🙂

                                      Mit "overide" funktioniert es auch bei mir. Sollte halt eine weniger umfangreiche Lösung sein. Dafür muß es doch Befehle geben.

                                      Ja, dann musst Du aber wie oben gezeigt ein neues Feld einführen, da wo ich mit set in der Abfrage gearbeitet habe.

                                      |> set(key: "Weekday", value: "Montag")
                                      

                                      Da Du aber für jeden Tag ein eigenes _measurment hast, muss Du das dann auch für alle Abfragen machen und an die Tage anpassen.

                                      VG
                                      Bernd

                                      1 Reply Last reply Reply Quote 1
                                      • ?
                                        A Former User @Laser last edited by

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

                                        Mit "overide" funktioniert es auch bei mir. Sollte halt eine weniger umfangreiche Lösung sein. Dafür muß es doch Befehle geben.

                                        Moin,

                                        wenn Du noch nicht so viele Daten hast, dann kannst Du auch das mit dem Alias
                                        0e6962ae-740d-4ad6-88c5-eac34dc1fa25-grafik.png
                                        Versuchen

                                        VG
                                        Bernd

                                        L 1 Reply Last reply Reply Quote 1
                                        • L
                                          Laser @Guest last edited by Laser

                                          @dp20eic Die Werte sind eigentlich noch nicht so umfangreich, daß es ein Verlust wäre. Die wenigen kann ich manuell nachtragen. Ich versuche das jetzt mal mit dem Alias! Da brauche ich für jeden Wochentag einen eigenen Namen?
                                          Nachtrag: Geht so. Als Datentyp muß ich dann noch "speichern als Zahl" auswählen. Die Bildunterschrift und die ganzen Namen, die ich überall durchschleppe, sind schon mal kürzer! Werde sehen, für was ich mich entscheide.

                                          ? 1 Reply Last reply Reply Quote 0
                                          • ?
                                            A Former User @Laser last edited by

                                            @laser

                                            Moin,

                                            ja, wenn ich mir das unter SourceAnalitix anschaue, dann ja, wenn Du jeden Tag Einzel abspeicherst, ob Du das auf Automatisch oder auf Zahl stellen musst, kann ich nicht sagen, müsste ich auch erst man versuchen.

                                            Ich arbeite noch nicht mit SourceAnalytix ich schreibe mir den Wert meines Zählers kontinuierlich in die Datenbank und aggregiere dann die Werte für Tag, Woche oder Tag aus der Vorwoche mittels FLUX

                                            Aber was da im Endeffekt der bessere Weg ist, muss ich auch erst noch herausfinden.

                                            VG
                                            Bernd

                                            L 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            740
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            6
                                            51
                                            1906
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo