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 @wolfi913 last edited by

      @wolfi913 mal sehen, wie das morgen aussieht. Da habe ich schon 2 Tage...

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

        @laser
        Probier mal mit

          |> truncateTimeColumn(unit: 1d)
        

        hinter dem aggregateWindow...

        Dann sollte der anzuzeigende Wert jeweils auf Mitternacht gesetzt werden.
        Screenshot 2025-02-04 182825.png
        Und dann sollten die Werte wieder gesynct sein.

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

          @wolfi913 sagte in Stapel-Balkengrafik mit Grafana:

          9bea4f26-e74f-4a8a-82ac-644d69d486e7-image.png

          |> truncateTimeColumn(unit: 1d)

          import "timezone"
          import "date"
          option location = timezone.location(name: "Europe/Berlin")
          
          from(bucket: "iobroker")
          |> range(start: -7d, stop: v.timeRangeStop)
           |> filter(fn: (r)
            => r["_measurement"] == "sourceanalytix.0.alias__0__Shelly1EM-Power__Total-EM1.currentYear.delivered.01_currentDay")
           |> filter(fn: (r) => r["_field"] == "value")
           |> aggregateWindow(every: 1d, fn: last, createEmpty: true, timeSrc: "_start")
           |> truncateTimeColumn(unit: 1d)
           |> yield(name: "last")
          
          import "timezone"
          import "date"
          option location = timezone.location(name: "Europe/Berlin")
          
          from(bucket: "iobroker")
           |> range(start: -7d, stop: v.timeRangeStop)
           |> filter(fn: (r)
            => r["_measurement"] == "sourceanalytix.0.alias__0__VE-Total__H19.currentYear.delivered.01_currentDay")
           |> filter(fn: (r) => r["_field"] == "value")
           |> aggregateWindow(every: 1d, fn: last, createEmpty: true, timeSrc: "_start")
           |> truncateTimeColumn(unit: 1d)
           |> yield(name: "last")
          
          W 1 Reply Last reply Reply Quote 0
          • W
            wolfi913 @Laser last edited by

            @laser
            Schaut besser aus 😊

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

              @wolfi913 Ja. Und das "verodern" in der Filterliste ist nicht gut? Welche Nachteile könnte das bringen?

              import "timezone"
              import "date"
              option location = timezone.location(name: "Europe/Berlin")
              
              from(bucket: "iobroker")
              |> range(start: -7d, stop: v.timeRangeStop)
               |> filter(fn: (r)
                => r["_measurement"] == "sourceanalytix.0.alias__0__Shelly1EM-Power__Total-EM1.currentYear.delivered.01_currentDay"
               or  r["_measurement"] == "sourceanalytix.0.alias__0__VE-Total__H19.currentYear.delivered.01_currentDay")
               |> filter(fn: (r) => r["_field"] == "value")
               |> aggregateWindow(every: 1d, fn: last, createEmpty: true, timeSrc: "_start")
               |> truncateTimeColumn(unit: 1d)
               |> yield(name: "last")
              

              Bin schon gespannt, wie das morgen mit 2 Tagen aussieht! Heute möchte ich erst mal nicht mehr nerven. Danke an alle Beteilgten!

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

                @laser
                Müsste vermutlich auch mit ODER funktionieren.
                Ich finde einzelne Query's irgendwie besser daher mach ich's wenn möglich lieber immer einzeln.
                Kann dann (zumindest bin ich der Meinung) in den Overrides besser arbeiten.
                Außerdem funktionieren dann auch so Sachen wie Rechenoperationen
                Screenshot 2025-02-04 184132.png
                einfacher.

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

                  @wolfi913 Ja, funktioniert auch mit "or". Wenn man etwas spezielles mit den Daten vorhat, ist einzeln besser. Das werde ich im Auge behalten.
                  War sehr informativ/ aufregend. Und viel Datenmüll beseitigt. Werde jetzt das TV-Programm zum Runterkommen genießen!🙂

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

                    @laser
                    Gerne
                    Hatte am Anfang auch mit Grafana/Influx usw. zu kämpfen und musste mich da reinfuxen.
                    Habe kurz ein Dashboard Testweise angepasst mit der Annahme, dass du das so angedacht hast:

                    7bce7133-95ba-4a6f-9d4c-a1b776b957cb-image.png

                    1dabd38b-fd2f-4ffa-87e3-fd53a79b9ae4-image.png

                    d1ecfd00-41ac-4bed-9f45-28d2f1da31d2-image.png

                    import "date"
                    import "timezone"
                    option location = timezone.location(name: "Europe/Madrid")
                    
                    from(bucket: "iobroker_inflog")
                      |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                      |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.Energy.Day_Einspeisung")
                      |> filter(fn: (r) => r["_field"] == "value")
                        |> aggregateWindow(every: 1d, fn: last, timeSrc: "_start")
                    

                    Wichtig: Da die Range nun mit den Query Options "definiert" wird, muss da das v.TimeRang... rein
                    Ansonsten bist du ja mit den Queries schon gut beraten worden 🙂

                    1 Reply Last reply Reply Quote 1
                    • icebear
                      icebear @Laser last edited by

                      @laser said in Stapel-Balkengrafik mit Grafana:

                      Das Ganze muß ich erst mal verarbeiten. Ich werde morgen noch mal frisch ran gehen.

                      Ich würde dir auch empfehlen in Zukunft Alias-ID's zu verwenden.
                      Wenn du mit den ellenlangen DP-Bezeichnung weiterarbeitest kannst du bei komplexeren Abfragen schnell den Überblick verlieren.

                      Du kannst ja beim anlegen für die influxDB unten eine Alias-ID vergeben, das ist dann später bei komplexen Abfragen wesentlich übersichtlicher.

                      Z.B. anstatt

                      sourceanalytix.0.alias__0__Shelly1EM-Power__Total-EM1.currentYear.delivered.01_currentDay

                      nimmst du als Alias

                      Shelly1_Pow_Total_curDay

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

                        @icebear @mickemup Der zweite Balken ist heute aufgetaucht. Die Balken wandern jetzt nach links? Auch nicht verkehrt.
                        Bisher hatte ich 7 Balken mit der Unterschrift der Wochentage. Fing links an und rechts war es noch leer.
                        Aliasnamen, die ich auch zuordnen kann, muß ich mir noch schnell überlegen.

                        029c0edb-5e27-4393-9fdf-25c727d51288-image.png

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

                          @laser Dann schau einfach meinen letzten Post an, dort habe ich dir das mal "aufbereitet" von Mo bis So....
                          Und gib doch den Dingern via Override (auch im Post ersichtlich) mal anständige Namen 🙂

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

                            @mickemup Bin dabei. Wenn ich die Aliasse einführe, sind ja meine beiden Tage weg. Das wollte ich erst mal abwarten. Mit den alten Namen. Die Namen mit "Overide" ändern, nicht mit einem Alias in Influx?
                            Jetzt ist Mo bis Sonntag dran. Die "Query Options" haben bei mir andere Einträge.

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

                              @laser
                              Das mit den Aliasen ist nice to have und wohl mehr ein genereller Punkt um sich das leben zu vereinfachen für die Zukunft.

                              Die Anzeigenamen kannst du in Grafana anpassen (da habe ich auch ein Bild drin)
                              Und eben Query-Options musst du anpassen (wie auf meinem Bild) damit immer Mo-So angezeigt wird
                              Also einfach die Einträge relative Time und Timeshift

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

                                @mickemup Da muß ich erst mal durchkommen. Das dauert etwas. "Overide 2" mußte ich ein 2. Overide Property anlegen. Das Erste war mit einem Farbschema belegt. (Werfe ich wieder raus). Wird aber noch nicht übernommen. Fange nochmal neu an. Der Name wird jetzt genommen. Sieht schon freundlicher aus.
                                EDIT: Jetzt noch die Querys anpassen...
                                Ich glaube, die Aliassse in der Infux-Speicherung werfe ich wieder raus. Das wird zu viel Kuddelmuddel. Ob ich da in 1 Jahr noch durchblicke, was wo angepasst wurde? Wenn ich den Namen im Display ändern kann, ist das für mich OK.

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

                                  @laser
                                  Du braucht pro DP ein Override.
                                  Dort kannst du dann den Namen eintragen und wenn gewünscht zB auch noch die Farbe (wie bei mir)

                                  Im dritten Override wird die Darstellung vom Datum angepasst, sodass eben statt dem Datum der Wochentag steht

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

                                    @mickemup Darstellung- passt. Die Query Optionen auch. Jetzt suche ich noch den Wochentag. Kann ich den auswählen (mit choose) oder gibt es benutzerdefinierte Typen?
                                    Ein Wochentag kommt in meinem Datenpunkt (infux, RAW Data auch nicht vor?)

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

                                      @Laser
                                      @mickemup sagte in Stapel-Balkengrafik mit Grafana:

                                      Im dritten Override wird die Darstellung vom Datum angepasst, sodass eben statt dem Datum der Wochentag steht

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

                                        @laser
                                        Brauchst du auch nicht.
                                        Das macht Grafana für dich.
                                        Eben mit einem Override auf die TIME..
                                        Ist auch auf einem Bild drauf

                                        Und zeig doch mal was du hast 🙂
                                        Damit man dir auch ein bisschen folgen kann....

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

                                          @mickemup so sieht es jetzt aus (ist schon mal supertoll):
                                          fd44b5eb-abac-43e7-af45-4ac594339f8c-image.png

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

                                            @laser Ok, kuul

                                            Damit es immer am Montag startet noch das ersetzen bei den Qeueries:

                                             |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                                            
                                            L 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            794
                                            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