Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Off Topic
    4. Verständnisproblem zu benötigten Datenpunkt Grafana

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Verständnisproblem zu benötigten Datenpunkt Grafana

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      Skarpain @Damrak2022 last edited by

      @damrak2022
      hi für woche habe ich so gemacht

       |> aggregateWindow(every: 7d, fn: sum,createEmpty: false)
      

      bei Relative time
      now/y
      gibt viele varianten wie man es sich anzeigen lassen kann

      Damrak2022 1 Reply Last reply Reply Quote 0
      • Damrak2022
        Damrak2022 @Skarpain last edited by

        @skarpain Ja, das habe ich auch, aber nochmal die Frage: Warum sind meine Werte von "heute" und "dieser Woche" identisch. Das kann ja irgendwie nicht stimmen und die Screenshots habe ich Dir oben gepostet. Hast Du dazu eine Idee?

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

          @damrak2022 in Grafana beginnt die Woche am Donnerstag. Das müsst ihr berücksichtigen. Wie in meinem Query zur Berechnung des Verbrauches über die Woche.

          Damrak2022 3 Replies Last reply Reply Quote 0
          • Damrak2022
            Damrak2022 @SpacerX last edited by Damrak2022

            @spacerx In beiden Panels steht bei mir unter dataview nur das heutige Datum drin. Aber meine Codes, bzw. relative Time sind doch unterschiedlich. Deswegen kapiere ich das nicht. Das mit dem Offset habe ich gelesen, sollte aber zumindest für den "Stromverbrauch heute" irrelevant sein.
            Bildschirm­foto 2023-02-24 um 15.11.14.png

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

              @spacerx geändert

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

                @spacerx In beiden Panels steht bei mir unter tableview nur das heutige Datum drin. Aber meine Codes, bzw. relative Time sind doch unterschiedlich. Deswegen kapiere ich das nicht. Das mit dem Offset habe ich gelesen, sollte aber zumindest für den "Stromverbrauch heute" irrelevant sein.

                1 Reply Last reply Reply Quote 0
                • Damrak2022
                  Damrak2022 @Skarpain last edited by

                  @skarpain So, ich versuche das nochmal haarklein darzustellen.

                  Das ist das Board vom "Stromverbrauch heute"
                  In den query options ist nichts eingetragen
                  Bildschirm­foto 2023-02-24 um 17.31.18.png
                  Der Code sieht so aus:

                  import "timezone" // import wegen der Berechnung um 02:00:00
                  option location = timezone.location(name: "Europe/Berlin")
                  from(bucket: "DBANDY1")
                    |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                    |> filter(fn: (r) => r["_measurement"] == "Drucker_gesamt" or r["_measurement"] == "FeFoTV_gesamt" or r["_measurement"] == "Imac_gesamt" or r["_measurement"] == "Kühlschrank_gesamt" or r["_measurement"] == "Router_gesamt" or r["_measurement"] == "Ventilator_gesamt" or r["_measurement"] == "Smart_Kettle_Pro_gesamt")
                    |> filter(fn: (r) => r["_field"] == "value")
                    |> difference()
                    |> aggregateWindow(every: 24h, fn: sum,createEmpty: true)
                  
                  

                  Das ist das Board vom "Stromverbrauch diese Woche".
                  In den query options ist bei relative Time now/w eingetragen
                  Bildschirm­foto 2023-02-24 um 17.35.44.png
                  Der Code sieht so aus:

                  import "timezone" // import wegen der Berechnung um 02:00:00
                  option location = timezone.location(name: "Europe/Berlin")
                  from(bucket: "DBANDY1")
                    |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                    |> filter(fn: (r) => r["_measurement"] == "Drucker_gesamt" or r["_measurement"] == "FeFoTV_gesamt" or r["_measurement"] == "Imac_gesamt" or r["_measurement"] == "Kühlschrank_gesamt" or r["_measurement"] == "Router_gesamt" or r["_measurement"] == "Ventilator_gesamt" or r["_measurement"] == "Smart_Kettle_Pro_gesamt")
                    |> filter(fn: (r) => r["_field"] == "value")
                    |> difference()
                    |> aggregateWindow(every: 1d, fn: sum,createEmpty: true)
                  

                  Das ist das Board vom "Stromverbrauch dieser Monat".
                  In den query options ist bei relative Time now/M eingetragen
                  Der Code hier sieht so aus:

                  import "timezone" // import wegen der Berechnung um 02:00:00
                  option location = timezone.location(name: "Europe/Berlin")
                  from(bucket: "DBANDY1")
                    |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                    |> filter(fn: (r) => r["_measurement"] == "Drucker_gesamt" or r["_measurement"] == "FeFoTV_gesamt" or r["_measurement"] == "Imac_gesamt" or r["_measurement"] == "Kühlschrank_gesamt" or r["_measurement"] == "Router_gesamt" or r["_measurement"] == "Ventilator_gesamt" or r["_measurement"] == "Smart_Kettle_Pro_gesamt")
                    |> filter(fn: (r) => r["_field"] == "value")
                    |> difference()
                    |> aggregateWindow(every: 1mo, fn: sum,createEmpty: true)
                  
                  

                  Das ist die Ansicht mit den obergenannten Einstellungen:
                  Bildschirm­foto 2023-02-24 um 17.42.54.png

                  Wen ich nun bei bei "Stromverbrauch heute" in den query options bei relative Time now/d eintrage verändert sich die Ansicht und es sieht so aus:
                  Bildschirm­foto 2023-02-24 um 17.45.26.png

                  Die Table View bei "Stromverbrauch diese Woche ist korrekt.
                  Bildschirm­foto 2023-02-24 um 17.47.31.png

                  Die Table view bei "Stromverbrauch dieser Monat ist falsch:
                  Bildschirm­foto 2023-02-24 um 17.49.18.png

                  Hier muss ich, glaube ich noch den Offset eintragen, da Grafana ja immer ab Donnerstag rechnet: Gut das bekomme ich hin.

                  Aber warum kann ich bei "Stromverbrauch heute" bei relative Time nicht now/d eintragen?

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

                    @damrak2022 ist now/d nicht heute 0:00. Uhr?
                    Noch eine Frage. Warum macht ihr beim aggregierten immer ein fn:sum? Wenn ich von _start und _ stop die difference habe habe ich das was ich will oder doch nicht.?

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

                      @spacerx Wenn ich das richtig verstanden habe müsste doch now/d heute ab 00:00 Uhr bis jetzt bedeuten.
                      Zu dem anderen kann ich Dir nur sagen das ich das aus den Videos von Eddy habe, da ich noch nicht so fit bin, schon mal garnicht bei Code.

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

                        @damrak2022 lass das mit den Optionen mal weg und versuche meine Query mal. Ich kann dir im Moment nicht sehr behilflich sein komm nicht an meinen Rechner weil ich im Krankenhaus verweile.

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

                          @spacerx Okay, dann zuerst mal gute Besserung. Du meinst die query options weglassen

                          1 Reply Last reply Reply Quote 0
                          • A
                            Andre R. last edited by

                            Kannst auch mal auf den Youtube Channel EddyD's SmartHome schauen, er hat gute Videos zu dem Thema.

                            Damrak2022 1 Reply Last reply Reply Quote 0
                            • Damrak2022
                              Damrak2022 @Andre R. last edited by Damrak2022

                              @andre-r Danke, aufgrund dessen habe ich das alles gemacht. Aber wie gesagt, so ein paar Dinge irritieren mich, oder ich habe einen Fehler drin:

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

                                @spacerx Ich verstehe es einfach nicht und so langsam weiß ich auch nicht was ich noch versuchen kann.
                                So sieht die Anzeige für heute und diese Woche aus:
                                Bildschirm­foto 2023-02-26 um 05.41.53.png

                                Das ist der Code für den Stromverbrauch heute:

                                import "timezone" // import wegen der Berechnung um 02:00:00
                                option location = timezone.location(name: "Europe/Berlin")
                                from(bucket: "DBANDY1")
                                  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                                  |> filter(fn: (r) => r["_measurement"] == "Drucker_gesamt" or r["_measurement"] == "FeFoTV_gesamt" or r["_measurement"] == "Imac_gesamt" or r["_measurement"] == "Kühlschrank_gesamt" or r["_measurement"] == "Router_gesamt" or r["_measurement"] == "Ventilator_gesamt" or r["_measurement"] == "Smart_Kettle_Pro_gesamt")
                                  |> filter(fn: (r) => r["_field"] == "value")
                                  |> difference()
                                  |> aggregateWindow(every: 24h, fn: sum,createEmpty: true)
                                

                                Die query options sind leer

                                Das ist der Code für den "Stromverbrauch diese Woche":

                                import "timezone" // import wegen der Berechnung um 02:00:00
                                option location = timezone.location(name: "Europe/Berlin")
                                from(bucket: "DBANDY1")
                                  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                                  |> filter(fn: (r) => r["_measurement"] == "Drucker_gesamt" or r["_measurement"] == "FeFoTV_gesamt" or r["_measurement"] == "Imac_gesamt" or r["_measurement"] == "Kühlschrank_gesamt" or r["_measurement"] == "Router_gesamt" or r["_measurement"] == "Ventilator_gesamt" or r["_measurement"] == "Smart_Kettle_Pro_gesamt")
                                  |> filter(fn: (r) => r["_field"] == "value")
                                  |> difference()
                                  |> aggregateWindow(every: 1d, offset: -3d, fn: sum,createEmpty: true)
                                
                                

                                In den query options steht now/w drin.

                                Ich verstehe nicht warum ich hier eine identische Anzeige bekomme?

                                Nehme ich bei Stromverbrauch heute das "difference()" raus bekomme ich diese Anzeige
                                Bildschirm­foto 2023-02-26 um 05.58.03.png

                                Smart Ketle Pro über 700 kWh - ist ja irre

                                S S 2 Replies Last reply Reply Quote 0
                                • S
                                  Skarpain @Damrak2022 last edited by Skarpain

                                  @damrak2022 habs jetzt auch nochmal getestet
                                  die difference brauchst ja weil du die total werte hast
                                  bei

                                    |> aggregateWindow(every: 1d, offset: -3d, fn: sum,createEmpty: true)
                                  
                                   |> aggregateWindow(every: 7d, fn: sum, createEmpty: false)
                                  

                                  mein komplett test

                                  from(bucket: "iobroker")
                                    |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                                    |> filter(fn: (r)
                                     => r["_measurement"] == "sonoff.0.PC.ENERGY_Total"
                                     or r["_measurement"] == "sonoff.0.Server.ENERGY_Total"
                                     or r["_measurement"] == "sonoff.0.Whirlpool.ENERGY_Total"
                                     or r["_measurement"] == "sonoff.0.Spülmaschine.ENERGY_Total"
                                     or r["_measurement"] == "sonoff.0.Kuehlschrank.ENERGY_Total" 
                                     or r["_measurement"] == "sonoff.0.SonyTV_Wohnzimmer.ENERGY_Total"
                                     or r["_measurement"] == "sonoff.0.Sophia.ENERGY_Total"
                                     or r["_measurement"] == "sonoff.0.Trockner.ENERGY_Total"
                                     or r["_measurement"] == "sonoff.0.waschmaschine.ENERGY_Total")
                                    |> filter(fn: (r) => r["_field"] == "value")
                                    |> difference()
                                    |> aggregateWindow(every: 7d, fn: sum, createEmpty: false)
                                  

                                  Unbenannt.png

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

                                    @damrak2022 setz mal das difference() nach das aggregieren. und ersetze das sum in AggregateWindow mit last. Dann mal schauen was kommt.

                                    und welche TimeRange hast du Eingestellt? Wenn da nur 24h Daten abgeholt werden kann er nicht eine Woche berechen.

                                    Deshalb so in flux vorgeben:

                                      |> range(start: -7d, stop: now() )
                                    

                                    Und teste doch mal meine flux Query von weiter oben. Trau dich😊

                                    1 Reply Last reply Reply Quote 0
                                    • First post
                                      Last post

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    520
                                    Online

                                    31.7k
                                    Users

                                    79.7k
                                    Topics

                                    1.3m
                                    Posts

                                    4
                                    25
                                    1143
                                    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