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. Sammelthread - Custom Grafana Visualization

NEWS

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

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

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.0k

Sammelthread - Custom Grafana Visualization

Scheduled Pinned Locked Moved Grafana
9 Posts 5 Posters 1.0k Views 12 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.
  • H Offline
    H Offline
    hennerich
    wrote on last edited by
    #1

    Hallo zusammen,

    besteht ev. Interesse an einem Sammelthread, in dem man Anpassungen und Customizing an Grafana Graphen diskutiert?
    Falls ja, dann mal los. Falls nicht, lieber Mod, dann kannst du den Thread auch wieder wegwerfen.

    Die Idee ist, dass jeder kurz seinen Wunsch vorträgt und man dann am Ende das gewünschte Ergebnis MIT einer Anleitung bekommt, wie man das ganze bewerkstelligen kann.

    Ich würde mal anfangen 😊
    Das hier ist mein (mittlerweile migriertes) Dashboard:
    c1ccd503-1e29-4b82-ad55-ac3ae5b6d3e1-grafik.png
    Seit ich auf InfluxDB V2 umgestiegen bin, ist vieles anders als bisher. Man muss sich erst einmal an die neue Flux Sprache "gewöhnen" bzw. braucht Leute, die einem Tipps geben.
    Ich hab mich z.B. durch die Videos von Eddy viel Input geholt.

    Mein Graph für die Anzeige des Tagesverbrauchs über die letzten 3 Wochen funktionierte nicht mehr.
    0418e2ff-86dc-43e1-8db6-8d859aeba171-grafik.png
    Normalerweise sieht ein Flux Query so aus:

    from(bucket: "iobdata")
      |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
      |> filter(fn: (r) => r["_measurement"] == "javascript.0.Solar.Wechselrichter.PVErzeugteEnergieAktuell")
      |> filter(fn: (r) => r["_field"] == "value")
      |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)
      |> yield(name: "last")
    

    So umgesetzt sah mein Graph dann so aus:
    b1535c27-4217-4ebd-9afc-e25284c770f3-grafik.png

    Ich musste die 3 Wochen erst hier konfigurieren:
    08fe60f7-50eb-4180-a1b4-40fbe006f410-grafik.png
    Das 3w steht für 3 Wochen. Damit sah der Graph nun so aus:
    cfea7600-748e-45fe-add5-a4265148864f-grafik.png
    Ich wollte aber die Summe der Werte pro Tag in jeweils einem Balken angezeigt bekommen. Dazu musste ich den Query wie folgt umbauen:

    from(bucket: "iobdata")
      |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
      |> filter(fn: (r) => r["_measurement"] == "javascript.0.Solar.Wechselrichter.PVErzeugteEnergieAktuell")
      |> filter(fn: (r) => r["_field"] == "value")
      |> aggregateWindow(every: 1d, fn: last, createEmpty: false)
      |> yield(name: "last")
    

    Damit bekam ich dann das Ergebnis:
    45ebe07d-f642-4327-9604-430fc72752c0-grafik.png
    Jetzt noch den Graph Style sowie die Fill opacity anpassen
    8da776ad-330e-4014-80a8-e5c4d27cc4fc-grafik.png
    und hier ist das Ergebnis:
    ee9b7907-071c-4db5-8870-60e6b1b95306-grafik.png

    Tutorial UVR1611 C.M.I. Integration
    Tutorial SolarEdge Integration via ModBus

    H HomoranH 2 Replies Last reply
    1
    • H hennerich

      Hallo zusammen,

      besteht ev. Interesse an einem Sammelthread, in dem man Anpassungen und Customizing an Grafana Graphen diskutiert?
      Falls ja, dann mal los. Falls nicht, lieber Mod, dann kannst du den Thread auch wieder wegwerfen.

      Die Idee ist, dass jeder kurz seinen Wunsch vorträgt und man dann am Ende das gewünschte Ergebnis MIT einer Anleitung bekommt, wie man das ganze bewerkstelligen kann.

      Ich würde mal anfangen 😊
      Das hier ist mein (mittlerweile migriertes) Dashboard:
      c1ccd503-1e29-4b82-ad55-ac3ae5b6d3e1-grafik.png
      Seit ich auf InfluxDB V2 umgestiegen bin, ist vieles anders als bisher. Man muss sich erst einmal an die neue Flux Sprache "gewöhnen" bzw. braucht Leute, die einem Tipps geben.
      Ich hab mich z.B. durch die Videos von Eddy viel Input geholt.

      Mein Graph für die Anzeige des Tagesverbrauchs über die letzten 3 Wochen funktionierte nicht mehr.
      0418e2ff-86dc-43e1-8db6-8d859aeba171-grafik.png
      Normalerweise sieht ein Flux Query so aus:

      from(bucket: "iobdata")
        |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
        |> filter(fn: (r) => r["_measurement"] == "javascript.0.Solar.Wechselrichter.PVErzeugteEnergieAktuell")
        |> filter(fn: (r) => r["_field"] == "value")
        |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)
        |> yield(name: "last")
      

      So umgesetzt sah mein Graph dann so aus:
      b1535c27-4217-4ebd-9afc-e25284c770f3-grafik.png

      Ich musste die 3 Wochen erst hier konfigurieren:
      08fe60f7-50eb-4180-a1b4-40fbe006f410-grafik.png
      Das 3w steht für 3 Wochen. Damit sah der Graph nun so aus:
      cfea7600-748e-45fe-add5-a4265148864f-grafik.png
      Ich wollte aber die Summe der Werte pro Tag in jeweils einem Balken angezeigt bekommen. Dazu musste ich den Query wie folgt umbauen:

      from(bucket: "iobdata")
        |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
        |> filter(fn: (r) => r["_measurement"] == "javascript.0.Solar.Wechselrichter.PVErzeugteEnergieAktuell")
        |> filter(fn: (r) => r["_field"] == "value")
        |> aggregateWindow(every: 1d, fn: last, createEmpty: false)
        |> yield(name: "last")
      

      Damit bekam ich dann das Ergebnis:
      45ebe07d-f642-4327-9604-430fc72752c0-grafik.png
      Jetzt noch den Graph Style sowie die Fill opacity anpassen
      8da776ad-330e-4014-80a8-e5c4d27cc4fc-grafik.png
      und hier ist das Ergebnis:
      ee9b7907-071c-4db5-8870-60e6b1b95306-grafik.png

      H Offline
      H Offline
      hennerich
      wrote on last edited by
      #2

      Hier nun die erste Frage.
      Auch meine Heizung soll noch ein paar Graphen bekommen.
      Einen habe ich schon gebaut:
      98d52494-67ef-4cd1-8fe4-6ce55279757f-grafik.png
      Hier sieht man die Puffertemperatur und die jeweilige Brennerlaufzeit als true/false Wert.
      Ich möchte aber diese digitalen Werte nicht über die gesamte Anzeigehöhe haben. Cooler wäre, wenn sie in einem Diagramm separat angezeigt werden würde. Also unten z.B. die binären Zustände und darüber die analogen.
      Habt ihr eine Idee wie man das anstellen kann?
      Meine Konfiguration sieht so aus:
      Query Nr. 1:

      from(bucket: "iobdata")
        |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
        |> filter(fn: (r) => r["_measurement"] == "modbus.0.holdingRegisters.6_TempPufferO")
        |> filter(fn: (r) => r["_field"] == "value")
        |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)
        |> yield(name: "last")
      

      Query Nr. 2:

      from(bucket: "iobdata")
        |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
        |> filter(fn: (r) => r["_measurement"] == "modbus.0.coils.22_AnfBrenner")
        |> filter(fn: (r) => r["_field"] == "value")
        |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)
        |> yield(name: "last")
      

      Tutorial UVR1611 C.M.I. Integration
      Tutorial SolarEdge Integration via ModBus

      1 Reply Last reply
      0
      • H hennerich

        Hallo zusammen,

        besteht ev. Interesse an einem Sammelthread, in dem man Anpassungen und Customizing an Grafana Graphen diskutiert?
        Falls ja, dann mal los. Falls nicht, lieber Mod, dann kannst du den Thread auch wieder wegwerfen.

        Die Idee ist, dass jeder kurz seinen Wunsch vorträgt und man dann am Ende das gewünschte Ergebnis MIT einer Anleitung bekommt, wie man das ganze bewerkstelligen kann.

        Ich würde mal anfangen 😊
        Das hier ist mein (mittlerweile migriertes) Dashboard:
        c1ccd503-1e29-4b82-ad55-ac3ae5b6d3e1-grafik.png
        Seit ich auf InfluxDB V2 umgestiegen bin, ist vieles anders als bisher. Man muss sich erst einmal an die neue Flux Sprache "gewöhnen" bzw. braucht Leute, die einem Tipps geben.
        Ich hab mich z.B. durch die Videos von Eddy viel Input geholt.

        Mein Graph für die Anzeige des Tagesverbrauchs über die letzten 3 Wochen funktionierte nicht mehr.
        0418e2ff-86dc-43e1-8db6-8d859aeba171-grafik.png
        Normalerweise sieht ein Flux Query so aus:

        from(bucket: "iobdata")
          |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
          |> filter(fn: (r) => r["_measurement"] == "javascript.0.Solar.Wechselrichter.PVErzeugteEnergieAktuell")
          |> filter(fn: (r) => r["_field"] == "value")
          |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)
          |> yield(name: "last")
        

        So umgesetzt sah mein Graph dann so aus:
        b1535c27-4217-4ebd-9afc-e25284c770f3-grafik.png

        Ich musste die 3 Wochen erst hier konfigurieren:
        08fe60f7-50eb-4180-a1b4-40fbe006f410-grafik.png
        Das 3w steht für 3 Wochen. Damit sah der Graph nun so aus:
        cfea7600-748e-45fe-add5-a4265148864f-grafik.png
        Ich wollte aber die Summe der Werte pro Tag in jeweils einem Balken angezeigt bekommen. Dazu musste ich den Query wie folgt umbauen:

        from(bucket: "iobdata")
          |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
          |> filter(fn: (r) => r["_measurement"] == "javascript.0.Solar.Wechselrichter.PVErzeugteEnergieAktuell")
          |> filter(fn: (r) => r["_field"] == "value")
          |> aggregateWindow(every: 1d, fn: last, createEmpty: false)
          |> yield(name: "last")
        

        Damit bekam ich dann das Ergebnis:
        45ebe07d-f642-4327-9604-430fc72752c0-grafik.png
        Jetzt noch den Graph Style sowie die Fill opacity anpassen
        8da776ad-330e-4014-80a8-e5c4d27cc4fc-grafik.png
        und hier ist das Ergebnis:
        ee9b7907-071c-4db5-8870-60e6b1b95306-grafik.png

        HomoranH Do not disturb
        HomoranH Do not disturb
        Homoran
        Global Moderator Administrators
        wrote on last edited by
        #3

        @hennerich sagte in Sammelthread - Custom Grafana Visualization:

        besteht ev. Interesse an einem Sammelthread, in dem man Anpassungen und Customizing an Grafana Graphen diskutiert?

        Da Grafana eine externe Software und kein Bestandteil von ioBroker ist, habe ich es nach OffTopic verschoben.

        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

        1 Reply Last reply
        0
        • M Offline
          M Offline
          MarioS.
          wrote on last edited by MarioS.
          #4

          Hey Leute, hier sind bestimmt ein paar Grafana profis unter euch.
          Kann man 2 Abfragen ( z.b. strom letztes jahr und dieses jahr ) vergleichen und prozentual in der aktuellen anzeige darstellen?

          H 1 Reply Last reply
          0
          • M Offline
            M Offline
            MarioS.
            wrote on last edited by
            #5

            f73d8267-d8b0-4068-b87f-07aae963d51b-Unbenannt.png

            1 Reply Last reply
            0
            • M MarioS.

              Hey Leute, hier sind bestimmt ein paar Grafana profis unter euch.
              Kann man 2 Abfragen ( z.b. strom letztes jahr und dieses jahr ) vergleichen und prozentual in der aktuellen anzeige darstellen?

              H Offline
              H Offline
              hennerich
              wrote on last edited by
              #6

              @marios sagte in Sammelthread - Custom Grafana Visualization:

              Hey Leute, hier sind bestimmt ein paar Grafana profis unter euch.
              Kann man 2 Abfragen ( z.b. strom letztes jahr und dieses jahr ) vergleichen und prozentual in der aktuellen anzeige darstellen?

              Hey, bin gerade bei Eddy über diese Passage gestolpert. Da macht der das zwar nur über 7 Tage, aber das Grundprinzip sollte doch das gleiche sein.

              Tutorial UVR1611 C.M.I. Integration
              Tutorial SolarEdge Integration via ModBus

              1 Reply Last reply
              0
              • S Online
                S Online
                Skarpain
                wrote on last edited by
                #7

                Hi ich habe grafana/influxdb auch nur durch iobroker kennengelernt und durch Eddys videos 😃
                leider gibts eigentlich sehr wenig input zu grafana und man muss sich alles irgendwie selber basteln
                und irgendwie wird das dashboard nie fertig 😃
                hier mal paar screens
                Unbenannt.png
                Unbenannt1.png
                Unbenannt2.png

                Damrak2022D 1 Reply Last reply
                0
                • S Skarpain

                  Hi ich habe grafana/influxdb auch nur durch iobroker kennengelernt und durch Eddys videos 😃
                  leider gibts eigentlich sehr wenig input zu grafana und man muss sich alles irgendwie selber basteln
                  und irgendwie wird das dashboard nie fertig 😃
                  hier mal paar screens
                  Unbenannt.png
                  Unbenannt1.png
                  Unbenannt2.png

                  Damrak2022D Offline
                  Damrak2022D Offline
                  Damrak2022
                  wrote on last edited by Damrak2022
                  #8

                  @skarpain Hallo, auch ich wusel mit Grafana rum und habe einige Boards erstellt. Dann habe ich Deinen Post mit den Daten für den Stromverbrauch gesehen, welche mir gut gefallen.
                  Wie hast Du das hinbekommen, das Du für jedes Gerät einen einzelnes Balkendiagramm hast?

                  Wenn ich das bei mir auf Bar Charts umstelle sieht das so aus:
                  Bildschirm­foto 2023-02-21 um 06.04.14.png

                  Und wenn ich mit der Time Range rumspiele sieht es so aus:
                  Bildschirm­foto 2023-02-21 um 06.18.50.png

                  Also immer noch nicht so, wie Die es hinbekommen hast.

                  Das habe ich mittlerweile hinbekommen.

                  Mit besten Grüßen
                  Andy

                  1 Reply Last reply
                  0
                  • S Online
                    S Online
                    Skarpain
                    wrote on last edited by
                    #9

                    @damrak2022
                    Hi hab das über Bar Gauge gemacht

                    data = from(bucket: "iobroker")
                        |> range(start: -7d)
                    //  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                    |> filter(fn: (r) => r["_measurement"] =~ /.ENERGY_Total+/)
                    |> filter(fn: (r) => r["_field"] == "value") min = data 
                    |> min() 
                    |> set(key: "_field", value: "delta") max = data 
                    |> max()
                    |> set(key: "_field", value: "delta") 
                    union(tables: [min, max]) 
                    |> difference()
                    |> group()
                    |> top (n: 20, columns: ["_value"])
                    |> drop(columns: ["_field"])
                    |> sort(desc: true)
                    
                    1 Reply Last reply
                    0
                    Reply
                    • Reply as topic
                    Log in to reply
                    • Oldest to Newest
                    • Newest to Oldest
                    • Most Votes


                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    630

                    Online

                    32.4k

                    Users

                    81.4k

                    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