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

NEWS

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

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

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

Sammelthread - Custom Grafana Visualization

Geplant Angeheftet Gesperrt Verschoben Grafana
9 Beiträge 5 Kommentatoren 1.0k Aufrufe 12 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.
  • H Offline
    H Offline
    hennerich
    schrieb am zuletzt editiert von
    #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 :blush:
    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 Antworten Letzte Antwort
    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 :blush:
      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
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      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 :blush:
        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 Nicht stören
        HomoranH Nicht stören
        Homoran
        Global Moderator Administrators
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        0
        • M Offline
          M Offline
          MarioS.
          schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
          0
          • M Offline
            M Offline
            MarioS.
            schrieb am zuletzt editiert von
            #5

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

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


                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    776

                    Online

                    32.4k

                    Benutzer

                    81.4k

                    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