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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    18
    1
    622

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

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

Stapel-Balkengrafik mit Grafana

Geplant Angeheftet Gesperrt Verschoben Grafana
76 Beiträge 7 Kommentatoren 7.9k 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 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 Online
    CodierknechtC Online
    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 Online
            CodierknechtC Online
            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 Online
                CodierknechtC Online
                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
                                        • 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.

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

                                          @laser
                                          Das mit dem Zeitbereich sagt einfach wie weit "zurück du die Daten holst:

                                          Kannst du mal das am Anfang vom Query reinsetzen?

                                          import "date"
                                          import "timezone"
                                          option location = timezone.location(name: "Europe/Madrid")
                                          

                                          Und dann mal Table view Anzeigen?
                                          Ich weiss halt nicht wie und wie oft "Sourcanalytics" den DP befüllt...

                                          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

                                          704

                                          Online

                                          32.5k

                                          Benutzer

                                          81.6k

                                          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