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. 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.4k

Stapel-Balkengrafik mit Grafana

Geplant Angeheftet Gesperrt Verschoben Grafana
76 Beiträge 7 Kommentatoren 7.8k Aufrufe 6 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.
  • 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
    schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
    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
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von 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 Antworten Letzte Antwort
        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
          schrieb am zuletzt editiert von Laser
          #7

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

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

          L 1 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #8

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

            1 Antwort Letzte Antwort
            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
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              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
                schrieb am zuletzt editiert von Laser
                #10

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

                CodierknechtC mickemupM 2 Antworten Letzte Antwort
                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
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  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
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    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
                      schrieb am zuletzt editiert von 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 Antworten Letzte Antwort
                      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
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        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
                          schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                          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
                            schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                            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
                              schrieb am zuletzt editiert von
                              #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 Antwort Letzte Antwort
                              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
                                schrieb am zuletzt editiert von
                                #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 Antwort Letzte Antwort
                                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
                                  schrieb am zuletzt editiert von
                                  #19

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

                                  mickemupM 1 Antwort Letzte Antwort
                                  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
                                    schrieb am zuletzt editiert von
                                    #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 Antwort Letzte Antwort
                                    0
                                    • L Laser

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

                                      mickemupM Online
                                      mickemupM Online
                                      mickemup
                                      schrieb am zuletzt editiert von
                                      #21

                                      @laser nützt dir nichts, da ich alles im selben DP logge...

                                      L 1 Antwort Letzte Antwort
                                      0
                                      • mickemupM mickemup

                                        @laser nützt dir nichts, da ich alles im selben DP logge...

                                        L Offline
                                        L Offline
                                        Laser
                                        schrieb am zuletzt editiert von Laser
                                        #22

                                        @mickemup OK.
                                        87db997f-f8b3-4f7d-9dd5-3be493ae2d84-image.png

                                        d0a115e1-9b67-4adf-a5ab-1c9ee2eb7e5d-image.png
                                        Am 3.2. und 4.2. werden gleiche Werte angezeigt (sind aber nicht gleich) Egal, wie ich in der Grafana Übersicht oben den Zeitbereich einstelle. Sind es mal mehr oder weniger Säulen.

                                        icebearI mickemupM 2 Antworten Letzte Antwort
                                        0
                                        • L Laser

                                          @mickemup OK.
                                          87db997f-f8b3-4f7d-9dd5-3be493ae2d84-image.png

                                          d0a115e1-9b67-4adf-a5ab-1c9ee2eb7e5d-image.png
                                          Am 3.2. und 4.2. werden gleiche Werte angezeigt (sind aber nicht gleich) Egal, wie ich in der Grafana Übersicht oben den Zeitbereich einstelle. Sind es mal mehr oder weniger Säulen.

                                          icebearI Offline
                                          icebearI Offline
                                          icebear
                                          schrieb am zuletzt editiert von icebear
                                          #23

                                          @laser

                                          Dein Problem ist die |> range die du angibst.

                                          Was willst du den genau anzeigen? Die letzte Woche, den letzten Monat oder nur ein Tag?

                                          Wenn du z.B die letzte Woche und dann jeden Tag haben willst dann nimmst du oben bei |> range

                                          |> range(start: -7d)
                                          .
                                          .
                                          .
                                          |> aggregateWindow(every: 1d, fn: last, createEmpty: false)

                                          Erklär erstmal was du genau haben möchtest.

                                          so etwas hier:

                                          barchart.png

                                          L 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

                                          583

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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