Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Off Topic
    4. (gelöst) Grafana Gesamtverbrauch der letzten 7Tage

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    (gelöst) Grafana Gesamtverbrauch der letzten 7Tage

    This topic has been deleted. Only users with topic management privileges can see it.
    • G
      GoodOld last edited by GoodOld

      Hallo,
      ich komme seit einigen Tagen nicht weiter.
      Ich versuche mir den Gesamtverbrauch der letzten 7Tage anzeigen zu lassen, also nicht den verbrauch über 7Tag (je ein Messert pro Tag). Sondern Grafana/Influx soll diese 7 Tage summieren und sie in einem Balken anzeigen.
      Soweit ich gelesen habe ist das Problem das Influx 7d = 1Woche interpretiert und somit immer am Donnerstag (Unixepochwoche) beginnt (läst sich zwar mit offset auf Montag umbiegen, aber macht es nicht besser). Das führt dann natürlich dazu das ich nicht die letzten 7 Tage angezeigt bekomme, sondern den Verbrauch seit beginn der Woche. Habe jetzt schon alles möglich versucht, mit Timeshift usw. aber will einfach nicht.
      So sieht das aktuell aus, was aber nicht funktioniert.

      from(bucket: "data")
        |> range(start: -7d, stop: now())
        |> filter(fn: (r) => r["_measurement"] == "Zaehlerstand")
        |> filter(fn: (r) => r["_field"] == "value")
        |> aggregateWindow(every: 7d, fn: last, timeSrc: "_start")
        |> difference()
      

      Habe das ganze auch schon über fn: sum versucht, aber das Problem ist ja nicht das Berechnen sondern der Start der Berechnung.
      Weiß jemand wie man das ganze anstellen könnte?
      Zählerstand, ist wie der Name schon sagt der aktuelle Stromzählerstand und soll als "Bar gauge" dargestellt werden.

      DJMarc75 Codierknecht 2 Replies Last reply Reply Quote 0
      • DJMarc75
        DJMarc75 @GoodOld last edited by

        @goodold hast Du das so eingestellt?
        Screenshot 2022-10-21 063209.png

        G 1 Reply Last reply Reply Quote 0
        • G
          GoodOld @DJMarc75 last edited by

          @djmarc75 ja das passt, ist auch nicht wirklich das Problem, man muss hier mit einem offset arbeiten. Das Problem ist das er dann halt als Startpunkt der Berechnung Montag nimmt und nicht "heute -7". Der Startpunkt bzw. "every: 7d" wird von Influx als 1 Woche interpretiert.

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

            @goodold
            Ich nutze Grafana mit dem SQL-Adapter, kann also zu Influx nix beitragen.
            Aber in Grafana kann ich den Zeitraum doch prima eingrenzen:

            ... 7z/ubersicht?orgId=1&from=now-7d&to=now
            
            G 1 Reply Last reply Reply Quote 0
            • G
              GoodOld @Codierknecht last edited by GoodOld

              @codierknecht jep und dann rechnet er von Donnerstag 🙂 bzw. je nach offset, aber bleibt Fix auf dem Tag. Ihn interessiert das begrenzen nicht, da er denkt das ich was anderes will.
              1.png

              S crunchip 2 Replies Last reply Reply Quote 0
              • S
                SpacerX @GoodOld last edited by

                @goodold dann probiere mal |> range(start: -7d)

                G 1 Reply Last reply Reply Quote 0
                • G
                  GoodOld @SpacerX last edited by

                  @spacerx gleiches Ergebnis, hatte ich auch schon getestet.
                  Das hört sich extrem einfach an "letzte 7 Tage summieren" ist aber glaube ich nicht mit einer simplen Eingrenzung oder Verschiebung via TimeShift möglich. Ich glaube da muss man etwas mehr tun um Influx auszutrixen.

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

                    @goodold
                    Nur damit ich das richtig verstehe:
                    Du willst also den Verbrauch der letzten 7 Tage aufsummieren. Heute also den Verbrauch vom 14. bis zum 21.
                    Und wenn Du morgen reinschaust, den vom 15. bis zum 22. ?????

                    Kann Influx nicht mit einer Art SQL abgefragt werden?
                    In Oracle oder jedem anderen Dialekt wäre das trivial:

                    SELECT SUM(Verbrauch) AS Wochenverbrauch FROM Tabelle WHERE Datum > SysDate - 7
                    
                    G 1 Reply Last reply Reply Quote 0
                    • G
                      GoodOld @Codierknecht last edited by

                      @codierknecht richtig verstanden, genau so soll es sein.
                      Bin halt auch relativ neu in Influx, dachte auch anfangs das kann doch nicht so schwer sein, aber egal was ich teste es klappt nicht.

                      S 1 Reply Last reply Reply Quote 0
                      • crunchip
                        crunchip Forum Testing Most Active @GoodOld last edited by

                        @goodold sagte in Grafana Gesamtverbrauch der letzten 7Tage (every: 7d):

                        jep und dann rechnet er von Donnerstag

                        aber das stellst du doch in hier ein, wann die Woche beginnt
                        93c3b722-1180-4da4-bbb5-b64d9fcdfaee-image.png

                        Codierknecht 1 Reply Last reply Reply Quote 0
                        • S
                          SpacerX @GoodOld last edited by

                          @goodold ich könnte mir vorstellen das es an dem "timeSrc:" in dem aggregateWindow liegen könnte. Das mal zum Test raus nehmen.

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

                            @crunchip
                            Wann die Woche beginnt, sollte hier eigentlich nicht relevant sein.
                            Wenn ich das Problem korrekt verstanden habe, möchte er die letzten 7 Tage auswerten.
                            Influx interpretiert das aber wohl als Woche.

                            crunchip 1 Reply Last reply Reply Quote 0
                            • crunchip
                              crunchip Forum Testing Most Active @Codierknecht last edited by

                              @codierknecht sagte in Grafana Gesamtverbrauch der letzten 7Tage (every: 7d):

                              Wann die Woche beginnt, sollte hier eigentlich nicht relevant sein.

                              @goodold sagte in Grafana Gesamtverbrauch der letzten 7Tage (every: 7d):

                              Woche interpretiert und somit immer am Donnerstag (Unixepochwoche) beginn

                              1 Reply Last reply Reply Quote 0
                              • G
                                GoodOld @SpacerX last edited by

                                @spacerx das mit "timeSrc:" hatte ich auch schon probiert, funktioniert auch nicht.

                                1 Reply Last reply Reply Quote 0
                                • crunchip
                                  crunchip Forum Testing Most Active last edited by

                                  ich hab zwar mit influxdb2 noch nix am Hut, nur mal instaliert, aber wenn ich das so probiere, sieht der query so aus
                                  5fc29f6b-f1c8-4b7a-8286-3c07c9a0d9e4-image.png
                                  322244f1-c9fa-469d-8bed-ac320c1f82ec-image.png

                                  und in Grafana wird das auch so angezeigt, also nix versetzt
                                  7af190e2-3a8b-4dbe-8274-7bf0c790c350-image.png

                                  G 1 Reply Last reply Reply Quote 0
                                  • G
                                    GoodOld @crunchip last edited by GoodOld

                                    @crunchip Wähl mal etwas was ein Zählerstand ist, also etwas was hochzählt am besten (Stromzählerstand, Gaszählerstand).
                                    Dann das ganze nicht als "Diagramm TimeSeries" sondern eine Bar gauge oder Balkendiagramm.
                                    Dann soll das ganze nicht über einen bestimmten Zeitraum angezeigt werden, sondern alle Tage in einem Balken summiert.

                                    Falls du dich mit der Verschieben auf die Unix Zeit beziehst, dieser Effekt kommt bei dem Diagramm nicht vor, nur bei Summierungen.

                                    2.png

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

                                      @goodold sagte in Grafana Gesamtverbrauch der letzten 7Tage (every: 7d):

                                      @crunchip Wähl mal etwas was ein Zählerstand ist, also etwas was hochzählt am besten (Stromzählerstand, Gaszählerstand).
                                      Dann das ganze nicht als "Diagramm TimeSeries" sondern eine Bar gauge oder Balkendiagramm.
                                      Dann soll dir ja nicht das ganze über eine bestimmte zeit angezeigt werden, sondern alle Tage auf einem Balken.
                                      Falls du dich mit der Verschieben auf die Unix Zeit beziehst, dieser Effekt kommt bei dem Diagramm nicht vor, nur bei Summierungen.

                                      Du willst also den Verbrauch der letzten 7 Tage über den Zählerstand berechnen?
                                      Wozu dann "SUM"?
                                      Es reicht doch, den Zählerstand von vor 7 Tagen vom aktuellen Zählerstand zu subtrahieren.

                                      G 1 Reply Last reply Reply Quote 0
                                      • crunchip
                                        crunchip Forum Testing Most Active @GoodOld last edited by

                                        @goodold sagte in Grafana Gesamtverbrauch der letzten 7Tage (every: 7d):

                                        Wähl mal etwas was ein Zählerstand ist, also etwas was hochzählt am besten (Stromzählerstand, Gaszählerstand).

                                        das hab ich laufen, allerdings mit influxdb1.x

                                        1 Reply Last reply Reply Quote 0
                                        • G
                                          GoodOld @Codierknecht last edited by GoodOld

                                          @codierknecht richtig! und wie mache ich das in Flux?

                                          @crunchip das ist ja auch irgendwie das Problem, wenn man was findet dann zu Influx 1.x, aber wie setze ich das in 2.x um?

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

                                            @goodold sagte in Grafana Gesamtverbrauch der letzten 7Tage (every: 7d):

                                            @codierknecht richtig! und wie mache ich das in Flux?

                                            Das kann ich Dir nicht sagen.
                                            Dieser ganze Influx-Kram ist mir etwas suspekt. Bevor ich mich da auch noch reinarbeite, nehme ich daher den SQL-Adapter.
                                            Da kenne ich mich berufsbedingt wenigstens einigermaßen aus.

                                            Vielleicht schaut ja hier mal jemand mit entsprechenden Kenntnissen in Influx2 vorbei.
                                            Die Aufgabe klingt nicht sonderlich kompliziert: AktuellerWert - WertVor7Tagen.
                                            In reinem SQL wieder ziemlich simpel:

                                            SELECT MAX(Zaehlerstand) - MIN(Zaehlerstand)   AS Verbrauch FROM Tabelle WHERE Datum >= SysDate - 7
                                            

                                            [EDIT]
                                            Ich mache etwas ähnliches mit meinem Gaszähler. Allerdings tage- und nicht wochenweise.
                                            Darum schreibe ich jede Nacht um 23:59 den Tagesverbrauch in einen eigenen DP weg. Der SQL-Adapter protokolliert das dann schön für mich.
                                            Ist es (in der Art) sowas was Du brauchst?
                                            46a8ddc5-d4a2-4a21-8508-d1712fdfd023-image.png

                                            G 2 Replies Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            693
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            22
                                            2414
                                            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