Skip to content
  • Home
  • 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
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Off Topic
  4. Grafana
  5. Stapel-Balkengrafik mit Grafana

NEWS

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

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

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

Stapel-Balkengrafik mit Grafana

Scheduled Pinned Locked Moved Grafana
76 Posts 7 Posters 7.8k Views 6 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 Offline
    L Offline
    lesiflo
    Most Active
    wrote on last edited by
    #1

    Hallo zusammen,

    kann mir hier eventuell einer einen Tip geben wie ich in Grafana bei einen Bar Chart die Werte im Stapel also übereinander angezeigt bekomme. Die Werte schreibe ich über iobroker in eine influxdb
    Aktuell habe ich das hier:

    74b205be-7032-4a59-ab8f-4d97dcab28e7-image.png

    Das ist aber ein "Bar gauge" wo es die Funktion des Stacking nicht gibt.

    Marc BergM 1 Reply Last reply
    0
    • L lesiflo

      Hallo zusammen,

      kann mir hier eventuell einer einen Tip geben wie ich in Grafana bei einen Bar Chart die Werte im Stapel also übereinander angezeigt bekomme. Die Werte schreibe ich über iobroker in eine influxdb
      Aktuell habe ich das hier:

      74b205be-7032-4a59-ab8f-4d97dcab28e7-image.png

      Das ist aber ein "Bar gauge" wo es die Funktion des Stacking nicht gibt.

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

      @lesiflo sagte in Stapel-Balkengrafik mit Grafana:

      kann mir hier eventuell einer einen Tip geben wie ich in Grafana bei einen Bar Chart die Werte im Stapel

      Über die "Stacking" Option

      13f6a92c-ebe1-4b64-a029-ee24e7afbbf7-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
      0
      • L Offline
        L Offline
        lesiflo
        Most Active
        wrote on last edited by
        #3

        Ok , danke!

        1 Reply Last reply
        0
        • Marc BergM Marc Berg

          @lesiflo sagte in Stapel-Balkengrafik mit Grafana:

          kann mir hier eventuell einer einen Tip geben wie ich in Grafana bei einen Bar Chart die Werte im Stapel

          Über die "Stacking" Option

          13f6a92c-ebe1-4b64-a029-ee24e7afbbf7-grafik.png

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

          @marc-berg Ich versuche mich auch daran. Ich möchte Werte in einem Balkendiagramm anzeigen. Zwei Werte in einem Balken gestapelt.
          Allerdings erhalte ich in Grafana die Meldung: "Bar charts requires a string or time field"
          Schon beim ersten Wert gibt es ein Problem. Was fehlt hier?

          CodierknechtC 1 Reply Last reply
          0
          • L Laser

            @marc-berg Ich versuche mich auch daran. Ich möchte Werte in einem Balkendiagramm anzeigen. Zwei Werte in einem Balken gestapelt.
            Allerdings erhalte ich in Grafana die Meldung: "Bar charts requires a string or time field"
            Schon beim ersten Wert gibt es ein Problem. Was fehlt hier?

            CodierknechtC Offline
            CodierknechtC Offline
            Codierknecht
            Developer Most Active
            wrote on last edited by
            #5

            @laser sagte in Stapel-Balkengrafik mit Grafana:

            Allerdings erhalte ich in Grafana die Meldung: "Bar charts requires a string or time field"

            Gibst Du Grafana denn einen Zeitstempel?
            Zeig mal die Query dazu.

            "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

            Proxmox 9.1.1 LXC|8 GB|Core i7-6700
            HmIP|ZigBee|Tasmota|Unifi
            Zabbix Certified Specialist
            Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

            L 1 Reply Last reply
            0
            • CodierknechtC Codierknecht

              @laser sagte in Stapel-Balkengrafik mit Grafana:

              Allerdings erhalte ich in Grafana die Meldung: "Bar charts requires a string or time field"

              Gibst Du Grafana denn einen Zeitstempel?
              Zeig mal die Query dazu.

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

              @codierknecht ``` Hier versuche ich den Balken für "Montag" darzustellen. Ohne:

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

              Mit: |> yield(name: "last") Wird etwas angezeigt. Balken nebeneinander zu aufsteigenden Zeiten.

              from(bucket: "iobroker")
                |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                |> filter(fn: (r) => r["_measurement"] == "sourceanalytix.0.alias__0__OpenDTU-Power__yieldtotalBKW.currentYear.delivered.currentWeek.01_Monday")
                |> filter(fn: (r) => r["_field"] == "value")
                |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)
                |> yield(name: "last")
              // |> keep(columns: ["_value"])
              // |> rename(columns: {_value:"Mo"})
              
              L CodierknechtC 2 Replies Last reply
              0
              • L Laser

                @codierknecht ``` Hier versuche ich den Balken für "Montag" darzustellen. Ohne:

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

                Mit: |> yield(name: "last") Wird etwas angezeigt. Balken nebeneinander zu aufsteigenden Zeiten.

                from(bucket: "iobroker")
                  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                  |> filter(fn: (r) => r["_measurement"] == "sourceanalytix.0.alias__0__OpenDTU-Power__yieldtotalBKW.currentYear.delivered.currentWeek.01_Monday")
                  |> filter(fn: (r) => r["_field"] == "value")
                  |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)
                  |> yield(name: "last")
                // |> keep(columns: ["_value"])
                // |> rename(columns: {_value:"Mo"})
                
                L Offline
                L Offline
                Laser
                wrote on last edited by Laser
                #7

                @Codierknecht 11e4c6ef-3789-42eb-b777-108f4d357400-image.png

                wo plötzlich der dritte Balken herkommt, weiß ich nicht.

                L 1 Reply Last reply
                0
                • L Laser

                  @Codierknecht 11e4c6ef-3789-42eb-b777-108f4d357400-image.png

                  wo plötzlich der dritte Balken herkommt, weiß ich nicht.

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

                  @laser 9ce23dbb-9bff-40e1-8393-22f8b5a544b5-image.png

                  1 Reply Last reply
                  0
                  • L Laser

                    @codierknecht ``` Hier versuche ich den Balken für "Montag" darzustellen. Ohne:

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

                    Mit: |> yield(name: "last") Wird etwas angezeigt. Balken nebeneinander zu aufsteigenden Zeiten.

                    from(bucket: "iobroker")
                      |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                      |> filter(fn: (r) => r["_measurement"] == "sourceanalytix.0.alias__0__OpenDTU-Power__yieldtotalBKW.currentYear.delivered.currentWeek.01_Monday")
                      |> filter(fn: (r) => r["_field"] == "value")
                      |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)
                      |> yield(name: "last")
                    // |> keep(columns: ["_value"])
                    // |> rename(columns: {_value:"Mo"})
                    
                    CodierknechtC Offline
                    CodierknechtC Offline
                    Codierknecht
                    Developer Most Active
                    wrote on last edited by
                    #9

                    @laser
                    Du willst 2 Werte stapeln?
                    Dann müssen die auch den gleichen Zeitstempel haben. Ist das nicht gegeben, muss man den Salat "normieren". also z.B. die Millisekunden oder Sekunden abschneiden.
                    Aber bei Influx bin ich leider raus. Ich bleibe berufsbedingt bei SQL.

                    Warte mal ab - da kennen sich andere besser mit aus.

                    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                    Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                    HmIP|ZigBee|Tasmota|Unifi
                    Zabbix Certified Specialist
                    Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                    L 1 Reply Last reply
                    1
                    • CodierknechtC Codierknecht

                      @laser
                      Du willst 2 Werte stapeln?
                      Dann müssen die auch den gleichen Zeitstempel haben. Ist das nicht gegeben, muss man den Salat "normieren". also z.B. die Millisekunden oder Sekunden abschneiden.
                      Aber bei Influx bin ich leider raus. Ich bleibe berufsbedingt bei SQL.

                      Warte mal ab - da kennen sich andere besser mit aus.

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

                      So sieht es jetzt aus. Ein Schritt auf dem richtigen Weg?
                      cfbf5bf8-1c6c-4df1-a96d-b5a0ee7c84ee-image.png

                      CodierknechtC mickemupM 2 Replies Last reply
                      0
                      • L Laser

                        So sieht es jetzt aus. Ein Schritt auf dem richtigen Weg?
                        cfbf5bf8-1c6c-4df1-a96d-b5a0ee7c84ee-image.png

                        CodierknechtC Offline
                        CodierknechtC Offline
                        Codierknecht
                        Developer Most Active
                        wrote on last edited by
                        #11

                        @laser sagte in Stapel-Balkengrafik mit Grafana:

                        Ein Schritt auf dem richtigen Weg?

                        Würde ich doch sagen.

                        Wie gesagt: Influx ist so gar nicht meins ;-)

                        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                        Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                        HmIP|ZigBee|Tasmota|Unifi
                        Zabbix Certified Specialist
                        Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                        1 Reply Last reply
                        0
                        • L Laser

                          So sieht es jetzt aus. Ein Schritt auf dem richtigen Weg?
                          cfbf5bf8-1c6c-4df1-a96d-b5a0ee7c84ee-image.png

                          mickemupM Online
                          mickemupM Online
                          mickemup
                          wrote on last edited by
                          #12

                          @laser
                          Mit der aggregatewindow funktion bist du auf dem richtigen Weg.
                          Ob es so ist wie du es haben willst, musst du selbst beurteilen.
                          Und sonst nachfragen und präzise sagen was du willst :-)
                          In den Overrides kannst du noch die Namen anpassen, damit nicht die DP Bezeichnung, sondern was sinvolleres steht.

                          L 1 Reply Last reply
                          0
                          • mickemupM mickemup

                            @laser
                            Mit der aggregatewindow funktion bist du auf dem richtigen Weg.
                            Ob es so ist wie du es haben willst, musst du selbst beurteilen.
                            Und sonst nachfragen und präzise sagen was du willst :-)
                            In den Overrides kannst du noch die Namen anpassen, damit nicht die DP Bezeichnung, sondern was sinvolleres steht.

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

                            @mickemup ich habe in der Influx DB Zählerwerte für verschiedene Solarproduktionszahlen. (Gesamtproduktion, Akku-Ladeproduktion). Für jeden Wochentag und jede Meßgröße einen Wert. Diese beiden Werte eines Wochentages möchte ich in einem Balken gestapelt darstellen. Und insgesamt 7 Balken von Montag bis Sonntag.
                            Ich bekomme das aber nur gestapelt für alle Werte hin, nicht unterteilt für die Wochentage.
                            Ganz blöde Frage: Ist das nun eine Influx Funktion - vermute ich mal- oder Bestandteil von Grafana (wo muß ich suchen?)

                            mickemupM 2 Replies Last reply
                            0
                            • L Laser

                              @mickemup ich habe in der Influx DB Zählerwerte für verschiedene Solarproduktionszahlen. (Gesamtproduktion, Akku-Ladeproduktion). Für jeden Wochentag und jede Meßgröße einen Wert. Diese beiden Werte eines Wochentages möchte ich in einem Balken gestapelt darstellen. Und insgesamt 7 Balken von Montag bis Sonntag.
                              Ich bekomme das aber nur gestapelt für alle Werte hin, nicht unterteilt für die Wochentage.
                              Ganz blöde Frage: Ist das nun eine Influx Funktion - vermute ich mal- oder Bestandteil von Grafana (wo muß ich suchen?)

                              mickemupM Online
                              mickemupM Online
                              mickemup
                              wrote on last edited by
                              #14

                              @laser 0a2c4bc5-3fe7-4266-8209-eb10a3a656d9-image.png

                              So habe ich mein Jahresproduktion/Verbrauch dargestellt.

                              Sind das pro Tag unterschiedliche Datenpunkte?
                              Und wie werden die Tage auch nur am dem entsprechenden Tag aktualisiert und in die DB geschrieben.
                              Wenn ja musst du für jeden ein Query machen.
                              Und diesen Dann Eventuell mit einem Timeshift verschieben.

                              Aber das kriegt man schon hin.
                              Mach doch mal Mo und Di und dann schauen wir weiter :-)

                              L 1 Reply Last reply
                              0
                              • mickemupM mickemup

                                @laser 0a2c4bc5-3fe7-4266-8209-eb10a3a656d9-image.png

                                So habe ich mein Jahresproduktion/Verbrauch dargestellt.

                                Sind das pro Tag unterschiedliche Datenpunkte?
                                Und wie werden die Tage auch nur am dem entsprechenden Tag aktualisiert und in die DB geschrieben.
                                Wenn ja musst du für jeden ein Query machen.
                                Und diesen Dann Eventuell mit einem Timeshift verschieben.

                                Aber das kriegt man schon hin.
                                Mach doch mal Mo und Di und dann schauen wir weiter :-)

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

                                @mickemup pro Tag und pro Meßwert sind das unterschiedliche Datenpunkte. Werden in IO Broker mit "Sourceanalytics" generiert.
                                Zur Zeit sieht das so aus: (Testweise 2 Werte 1 Tag und 1 Wert für den nächsten Tag, mit 2 Query's hatte ich es auch probiert)
                                54146ab8-f754-41b7-881f-b78dfcf4d9be-image.png

                                Hier mal das 1. & 2. Query mit 2 Werten

                                32f21605-afd7-423f-89bc-455e163e2716-image.png

                                mir fehlt der Zeitversatz für die "Dienstag" Werte.

                                mickemupM 1 Reply Last reply
                                0
                                • L Laser

                                  @mickemup pro Tag und pro Meßwert sind das unterschiedliche Datenpunkte. Werden in IO Broker mit "Sourceanalytics" generiert.
                                  Zur Zeit sieht das so aus: (Testweise 2 Werte 1 Tag und 1 Wert für den nächsten Tag, mit 2 Query's hatte ich es auch probiert)
                                  54146ab8-f754-41b7-881f-b78dfcf4d9be-image.png

                                  Hier mal das 1. & 2. Query mit 2 Werten

                                  32f21605-afd7-423f-89bc-455e163e2716-image.png

                                  mir fehlt der Zeitversatz für die "Dienstag" Werte.

                                  mickemupM Online
                                  mickemupM Online
                                  mickemup
                                  wrote on last edited by mickemup
                                  #16

                                  @laser Sourceanalytics kenne ich nicht, aber wenn die Werte dort nur am entsprechenden Tag geloggt werden:
                                  Dann versuch mal mit nur every 1d im Window und ohne offset.

                                  Montag ist ja im Moment am 31. und Dienstag am 30. ;-)

                                  Und einfacher wäre natürlich ein DP der immer am Ende vom Tag den Wert drinhat, aber das sollte auch so irgendwie klappen...

                                  L 1 Reply Last reply
                                  0
                                  • mickemupM mickemup

                                    @laser Sourceanalytics kenne ich nicht, aber wenn die Werte dort nur am entsprechenden Tag geloggt werden:
                                    Dann versuch mal mit nur every 1d im Window und ohne offset.

                                    Montag ist ja im Moment am 31. und Dienstag am 30. ;-)

                                    Und einfacher wäre natürlich ein DP der immer am Ende vom Tag den Wert drinhat, aber das sollte auch so irgendwie klappen...

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

                                    @mickemup Ist nur 1 Wert pro Wochen- Tag.
                                    "Dann versuch mal mit nur every 1d im Window und ohne offset." >> In "AgregateWindow" oder in der Tageauswahl?
                                    Habe Beides ohne Erfolg probiert...

                                    mickemupM 1 Reply Last reply
                                    0
                                    • L Laser

                                      @mickemup ich habe in der Influx DB Zählerwerte für verschiedene Solarproduktionszahlen. (Gesamtproduktion, Akku-Ladeproduktion). Für jeden Wochentag und jede Meßgröße einen Wert. Diese beiden Werte eines Wochentages möchte ich in einem Balken gestapelt darstellen. Und insgesamt 7 Balken von Montag bis Sonntag.
                                      Ich bekomme das aber nur gestapelt für alle Werte hin, nicht unterteilt für die Wochentage.
                                      Ganz blöde Frage: Ist das nun eine Influx Funktion - vermute ich mal- oder Bestandteil von Grafana (wo muß ich suchen?)

                                      mickemupM Online
                                      mickemupM Online
                                      mickemup
                                      wrote on last edited by
                                      #18

                                      @laser

                                      Ganz blöde Frage: Ist das nun eine Influx Funktion - vermute ich mal- oder Bestandteil von Grafana (wo muß ich suchen?)

                                      Die Darstellung zB das stapeln ist eine "Grafana-Funktion"
                                      Die Daten kommen aber via Query von Influxd und müssen für Grafana dementsprechend aufgearbeitet (zB via AgregateWindow zeitgleich gesetzt werden) damit Grafana diese auch wie gewünscht darstellen kann.

                                      L 1 Reply Last reply
                                      0
                                      • mickemupM mickemup

                                        @laser

                                        Ganz blöde Frage: Ist das nun eine Influx Funktion - vermute ich mal- oder Bestandteil von Grafana (wo muß ich suchen?)

                                        Die Darstellung zB das stapeln ist eine "Grafana-Funktion"
                                        Die Daten kommen aber via Query von Influxd und müssen für Grafana dementsprechend aufgearbeitet (zB via AgregateWindow zeitgleich gesetzt werden) damit Grafana diese auch wie gewünscht darstellen kann.

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

                                        @mickemup Deine Bildschirmdarstellung ist ja scheinbar das, was ich brauche. Hast Du mal die Darstellung der Werteaufbereitung?

                                        mickemupM 1 Reply Last reply
                                        0
                                        • L Laser

                                          @mickemup Ist nur 1 Wert pro Wochen- Tag.
                                          "Dann versuch mal mit nur every 1d im Window und ohne offset." >> In "AgregateWindow" oder in der Tageauswahl?
                                          Habe Beides ohne Erfolg probiert...

                                          mickemupM Online
                                          mickemupM Online
                                          mickemup
                                          wrote on last edited by
                                          #20

                                          @laser
                                          Wie sieht es den aus, wenn du im "Montags-Query" das drin hast:

                                          |> aggregateWindow(every: 1d, fn: last, createEmpty: false, timeSrc: "_start")
                                          
                                          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

                                          776

                                          Online

                                          32.4k

                                          Users

                                          81.5k

                                          Topics

                                          1.3m

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

                                          • Don't have an account? Register

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