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.
  • 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
    schrieb am zuletzt editiert von
    #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 Antwort Letzte Antwort
    0
    • L Offline
      L Offline
      lesiflo
      Most Active
      schrieb am zuletzt editiert von
      #3

      Ok , danke!

      1 Antwort Letzte Antwort
      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
        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 Offline
                        mickemupM Offline
                        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 Offline
                            mickemupM Offline
                            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 Offline
                                mickemupM Offline
                                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 Offline
                                    mickemupM Offline
                                    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 Offline
                                        mickemupM Offline
                                        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 Offline
                                          mickemupM Offline
                                          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
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          364

                                          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