Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Off Topic
    4. Grafana
    5. Stapel-Balkengrafik mit Grafana

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Stapel-Balkengrafik mit Grafana

    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      Laser @Marc Berg last edited by 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?

      Codierknecht 1 Reply Last reply Reply Quote 0
      • Codierknecht
        Codierknecht Developer Most Active @Laser last edited by

        @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 1 Reply Last reply Reply Quote 0
        • L
          Laser @Codierknecht last edited by 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 Codierknecht 2 Replies Last reply Reply Quote 0
          • L
            Laser @Laser last edited by Laser

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

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

            L 1 Reply Last reply Reply Quote 0
            • L
              Laser @Laser last edited by

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

              1 Reply Last reply Reply Quote 0
              • Codierknecht
                Codierknecht Developer Most Active @Laser last edited by

                @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 1 Reply Last reply Reply Quote 1
                • L
                  Laser @Codierknecht last edited by Laser

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

                  Codierknecht mickemup 2 Replies Last reply Reply Quote 0
                  • Codierknecht
                    Codierknecht Developer Most Active @Laser last edited by

                    @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 😉

                    1 Reply Last reply Reply Quote 0
                    • mickemup
                      mickemup @Laser last edited by

                      @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 Reply Last reply Reply Quote 0
                      • L
                        Laser @mickemup last edited by 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?)

                        mickemup 2 Replies Last reply Reply Quote 0
                        • mickemup
                          mickemup @Laser last edited by

                          @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 Reply Last reply Reply Quote 0
                          • L
                            Laser @mickemup last edited by 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.

                            mickemup 1 Reply Last reply Reply Quote 0
                            • mickemup
                              mickemup @Laser last edited by 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 1 Reply Last reply Reply Quote 0
                              • L
                                Laser @mickemup last edited by

                                @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...

                                mickemup 1 Reply Last reply Reply Quote 0
                                • mickemup
                                  mickemup @Laser last edited by

                                  @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 Reply Last reply Reply Quote 0
                                  • L
                                    Laser @mickemup last edited by

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

                                    mickemup 1 Reply Last reply Reply Quote 0
                                    • mickemup
                                      mickemup @Laser last edited by

                                      @laser
                                      Wie sieht es den aus, wenn du im "Montags-Query" das drin hast:

                                      |> aggregateWindow(every: 1d, fn: last, createEmpty: false, timeSrc: "_start")
                                      
                                      1 Reply Last reply Reply Quote 0
                                      • mickemup
                                        mickemup @Laser last edited by

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

                                        L 1 Reply Last reply Reply Quote 0
                                        • L
                                          Laser @mickemup last edited by 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.

                                          icebear mickemup 2 Replies Last reply Reply Quote 0
                                          • icebear
                                            icebear @Laser last edited by 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 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            918
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            7
                                            76
                                            3372
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo