Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Off Topic
    4. Grafana Visualisierung -> Tagesverbrauch

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Grafana Visualisierung -> Tagesverbrauch

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

      Guten tag, ich bin ganz neu hier im Forum und poste mal mein Problem. Ich würde gerne über die Influx DB und darauf aufgesetzt über Grafana eine Visualisierung machen. in SQL wie früher wäre das kein Problem aber mit dem neuen FLUX komme ich garnicht zurecht.

      Ich habe in einer DB z.B. ganz simpel Werte vom Stromzähler drin. demnach wieviel Verbrauch am Tag mehrere Datenpunkte. Also auch mal sehr viele und nicht nur einen.

      Ich möchte einfach meinen Verbrauch am Tag visualisieren. Also wenn ich morgens 30 KWh hatte und Abends 45 kWh auf dem Zähler habe ich wohl 15kWh am Tag verbraucht. Ich bekomme das einfach nicht hin, bin schon 2 Tage am suchen inkl. ChatGPT.

      Mein Gedanke war über FIRST() und LAST() wert von einem Tag zu gehen und darüber die Differenz zu berechnen. Klingt einfach .. bricht mir aber das Genick. Das ich das nachher über mehrere Tage haben möchte soweit will ich gar nicht denken.

      Mein Ansatz... zeigt mir auch wunderbar den letzten Stand an jedem Tag an.

      import "date"
      from(bucket: "IR_Lesekopf_Zaehler")
      |> range(start: date.truncate(t: -7d, unit: 1d), stop: date.truncate(t: now(), unit: 1d))
        |> filter(fn: (r) => r._measurement == "Zaehlerstand_Summe_ZU" and r._field == "value")
        |> aggregateWindow(every: 1d, fn: last)
      

      Statt last kann ich auch first nehmen, der Zeigt mir auch wunderbar den Zählerstand morgens als erstes an. Ich würde aber gerne dei Differenz aus beiden haben.

      Kann mir jemand dabei Helfen ?

      Meister Mopper 1 Reply Last reply Reply Quote 0
      • Meister Mopper
        Meister Mopper @danwir last edited by

        @danwir

        Ich zeige den Tagesverbrauch hiermit an

        import "timezone"
        option location = timezone.location(name: "Europe/Berlin")
        
        from(bucket: "iobroker")
          |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
          |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.Energie.PV.Tagesverbrauch" and r["_field"] == "value")
          |> difference()
          |> aggregateWindow(every: 1d, fn: sum, timeSrc: "_start")
        
        D 1 Reply Last reply Reply Quote 1
        • D
          danwir @Meister Mopper last edited by

          @meister-mopper Hallo, ja super das funktioniert...

          Damit ich das verstehe... man berechnet alle Differenzen aus allen Werten und summiert die dann zusammen

          Meister Mopper 1 Reply Last reply Reply Quote 0
          • Meister Mopper
            Meister Mopper @danwir last edited by

            @danwir

            Die Differenz zwischen Tagesstart und Tagesende.

            Marc Berg 1 Reply Last reply Reply Quote 0
            • Marc Berg
              Marc Berg Most Active @Meister Mopper last edited by Marc Berg

              @meister-mopper sagte in Grafana Visualisierung -> Tagesverbrauch:

              Die Differenz zwischen Tagesstart und Tagesende.

              Im Ergebnis stimmt das zwar, aber @danwir hat schon recht. Es werden zunächst die Differenzen aller Einzelwerte errechnet, danach die Summe aller Differenzen eines Tages.
              Man könnte das ganze auch umdrehen:

                |> aggregateWindow(every: 1d, fn: last, timeSrc: "_start")
                |> difference()
              

              So wird erst der letzte Wert eines Tages ermittelt ("fn_ last"), um dann die Differenz aus den einzelnen Tageswerten zu berechnen.

              Meister Mopper 1 Reply Last reply Reply Quote 0
              • Meister Mopper
                Meister Mopper @Marc Berg last edited by Meister Mopper

                @marc-berg sagte in Grafana Visualisierung -> Tagesverbrauch:

                So wird erst der letzte Wert eines Tages ermittelt ("fn_ last"), um dann die Differenz aus den einzelnen Tageswerten zu berechnen.

                Ich lasse den Tagesverbrauch für den jeweils laufenden Monat anzeigen. Mit deiner Variante wird der erste Tag im Monat unterschlagen.

                D 1 Reply Last reply Reply Quote 0
                • D
                  danwir @Meister Mopper last edited by

                  JA super dann hab ich das verstanden, Danke euch. Kann man das auch auf Monate anwenden ? hab es genau so versucht klappt aber nicht-

                  import "date"
                  import "timezone"
                  option location = timezone.location(name: "Europe/Berlin")
                  
                  from(bucket: "IR_Lesekopf_Zaehler")
                  |> range(start: date.truncate(t: -3mo, unit: 1d), stop: date.truncate(t: now(), unit: 1d))
                    |> filter(fn: (r) => r._measurement == "Zaehlerstand_Summe_ZU" and r._field == "value")
                    |> difference()
                    |> aggregateWindow(every: 1mo, fn: sum)
                  

                  auch mit Anpassung in der range ... unit: 1mo, klappt es nicht

                  Meister Mopper 1 Reply Last reply Reply Quote 0
                  • Meister Mopper
                    Meister Mopper @danwir last edited by

                    @danwir

                    Hier monatlich:

                    from(bucket: "iobroker")
                      |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                      |> filter(fn: (r) => r["_measurement"] == "smartmeter.0.1-0:1_8_0__255.value" and r["_field"] == "value")
                      |> difference()
                      |> aggregateWindow(every: 1mo, fn: sum, timeSrc: "_start")
                    
                    D 1 Reply Last reply Reply Quote 0
                    • D
                      danwir @Meister Mopper last edited by

                      @meister-mopper said in Grafana Visualisierung -> Tagesverbrauch:

                      |> range(start: v.timeRangeStart, stop: v.timeRangeStop)

                      bei mir ist das ein Monat versetzt.. Hab jetzt schon daten für August drin HAHA

                      Meister Mopper 1 Reply Last reply Reply Quote 0
                      • Meister Mopper
                        Meister Mopper @danwir last edited by

                        @danwir sagte in Grafana Visualisierung -> Tagesverbrauch:

                        bei mir ist das ein Monat versetzt..

                        Wie sehen da die query options aus?

                        D 1 Reply Last reply Reply Quote 0
                        • D
                          danwir @Meister Mopper last edited by

                          @meister-mopper

                          max data points: 873
                          min interval: no limit
                          interval : 3h
                          relativ Time : 1h
                          time shift: 1h

                          Meister Mopper 1 Reply Last reply Reply Quote 0
                          • Meister Mopper
                            Meister Mopper @danwir last edited by

                            @danwir

                            693e114f-176b-490d-b472-28c03cc5c54f-grafik.png

                            D 1 Reply Last reply Reply Quote 0
                            • D
                              danwir @Meister Mopper last edited by danwir

                              @meister-mopper verbrauch.JPG

                              mhhh probiere noch was rum, zumindest schon mal auf dem richtigen weg

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

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              862
                              Online

                              31.7k
                              Users

                              79.8k
                              Topics

                              1.3m
                              Posts

                              3
                              13
                              931
                              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