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
    22
    1
    1.0k

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.4k

Stapel-Balkengrafik mit Grafana

Geplant Angeheftet Gesperrt Verschoben Grafana
76 Beiträge 7 Kommentatoren 8.0k 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.
  • 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 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
                                  • 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 Online
                                      icebearI Online
                                      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 Offline
                                        mickemupM Offline
                                        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
                                        • icebearI icebear

                                          @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 Offline
                                          L Offline
                                          Laser
                                          schrieb am zuletzt editiert von Laser
                                          #25

                                          @icebear ich habe jetzt das:
                                          4741291a-0d1a-4e9c-97b3-9ddf0a257be2-image.png

                                          ich möchte aber 2 Diagramme zusammenführen und die Werte in einem gestapelten Diagramm darstellen.

                                          in der Influx-DB sieht ein Wert so aus:
                                          47e89036-f579-4c8f-a23c-24473a68752d-image.png

                                          mickemupM 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

                                          745

                                          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