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

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

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

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

    @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 Online
    L Online
    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 Online
      L Online
      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 Online
          L Online
          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 Online
                L Online
                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 Online
                    L Online
                    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 Online
                        L Online
                        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 Online
                            L Online
                            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 Online
                                  L Online
                                  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 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
                                      • 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 Online
                                        L Online
                                        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
                                        • L Laser

                                          @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 Online
                                          mickemupM Online
                                          mickemup
                                          schrieb am zuletzt editiert von mickemup
                                          #26

                                          @laser
                                          Zeig da mal RawData
                                          Oder anstatt Graph die Table einfach zum sehen, wann der DP zum letzten mal geloggt wurde...

                                          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

                                          730

                                          Online

                                          32.4k

                                          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