Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Off Topic
    4. Grafana
    5. Grafana Stromauswertung Wochen und Monatsverbrauch

    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 Stromauswertung Wochen und Monatsverbrauch

    This topic has been deleted. Only users with topic management privileges can see it.
    • Meister Mopper
      Meister Mopper @bitwicht last edited by Meister Mopper

      @bitwicht

      Bei mir Stromkosten pro Woche

      import "timezone"
      option location = timezone.location(name: "Europe/Berlin")
      
      from(bucket: "iobroker")
        |> range(start: -1w)
        |> filter(fn: (r) => r["_measurement"] == "smartmeter.0.1-0:1_8_0__255.value" and r["_field"] == "value")
        |> difference()
        |> aggregateWindow(every: 1d, fn: sum, timeSrc: "_start")
        |> map(fn: (r) => ({r with _cost: float(v: r._value) * 0.42}))
      

      Pro Monat:

      import "timezone"
      option location = timezone.location(name: "Europe/Berlin")
      
      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")
        |> map(fn: (r) => ({r with _cost: float(v: r._value) * 0.42}))
      

      122bd1e8-1e03-4d73-b08b-3b117421b074-grafik.png

      I NWH R 3 Replies Last reply Reply Quote 0
      • B
        bitwicht last edited by

        @Meister Mopper

        danke, ich habe den Fehler gefunden.

        ich schreibe vom shelly nur den aktuellen "watt" Wert weg und das kann nicht aggregiert werden.
        ich muss den "total" Wert wegschrieben ...

        S 1 Reply Last reply Reply Quote 0
        • S
          sargon33 @bitwicht last edited by

          Ich versuche auch gerade Wochen und Monatswerte meiner PV Erzeugung zu ermitteln. Ich habe einen Wechselrichter der mir den aktuellen Tagesertrag ausgibt den schreibe ich alle 30 Sekunden nach Influx. Ich habe keine Probleme die Tages oder auch den Ertrag von Gestern dazustellen aber wenn ich Wochenwerte ausgeben will scheitere ich. Mein Problem ist hier das ich eben nicht nur eine Wert pro Tag habe sondern alle 30 Sekunden den jeweils erhöhten Wert. Wie kann ich den jeweils höchsten Tageswert über eine Woche oder einen Monat aufsummieren?

          Hier mein aktuelle Querry:

          import "timezone"
          option location = timezone.location(name: "Europe/Berlin")
          
          from(bucket: "edomi")
            |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
            |> filter(fn: (r) =>
              r._measurement == "Außen.Balkon.Balkonsolar.TagesErtrag_aktuell"
            )
          |> aggregateWindow(every: 1w, fn: last,  offset: 4d, timeSrc: "_start")
          |> yield(name: "last") 
          
          Marc Berg 1 Reply Last reply Reply Quote 0
          • Marc Berg
            Marc Berg Most Active @sargon33 last edited by Marc Berg

            @sargon33 sagte in Grafana Stromauswertung Wochen und Monatsverbrauch:

            Wie kann ich den jeweils höchsten Tageswert über eine Woche oder einen Monat aufsummieren?

            Ins Unreine gesprochen: Du musst zuerst die maximalen Tageswerte ermitteln:

            |> aggregateWindow((every: 1d,fn:max,timeSrc: "_start",createEmpty:false))
            

            und danach nochmals die Summe aller Tageswerte berechnen:

            |> aggregateWindow((every: 1w,fn:sum,timeSrc: "_start",createEmpty:false))
            

            Der Range muss muss natürlich entsprechend des Auswertezeitraumes angepasst werden.

            S 1 Reply Last reply Reply Quote 0
            • S
              sargon33 @Marc Berg last edited by

              Hat super funktioniert Danke!

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

                @meister-mopper

                Ich wollte die Monatsauswertung in mein Dashboard einfügen bekomme aber eine Fehlermeldung.
                Habe leider weig Plan von Grafana.
                Was will das Grafana von mir ??? Kann mir bitte jemand helfen?

                MfG innug

                Inspect: Panel Title
                1 queries with total query time of 0 ms
                Data
                Stats
                JSON
                Error
                Query
                error parsing query: found import, expected SELECT, DELETE, SHOW, CREATE, DROP, EXPLAIN, GRANT, REVOKE, ALTER, SET, KILL at line 1, char 1
                Object
                message:"InfluxDB Error: error parsing query: found import, expected SELECT, DELETE, SHOW, CREATE, DROP, EXPLAIN, GRANT, REVOKE, ALTER, SET, KILL at line 1, char 1"
                data:Object
                error:"error parsing query: found import, expected SELECT, DELETE, SHOW, CREATE, DROP, EXPLAIN, GRANT, REVOKE, ALTER, SET, KILL at line 1, char 1"
                message:"error parsing query: found import, expected SELECT, DELETE, SHOW, CREATE, DROP, EXPLAIN, GRANT, REVOKE, ALTER, SET, KILL at line 1, char 1"
                config:Object
                method:"GET"
                url:"api/datasources/proxy/uid/SLLck8kRk/query"
                params:Object
                data:null
                precision:"ms"
                inspect:Object
                paramSerializer:serializeParams(e){…}
                headers:Object
                retry:0
                hideFromInspector:false

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

                  @innug sagte in Grafana Stromauswertung Wochen und Monatsverbrauch:

                  @meister-mopper

                  Ich wollte die Monatsauswertung in mein Dashboard einfügen bekomme aber eine Fehlermeldung.
                  Habe leider weig Plan von Grafana.
                  Was will das Grafana von mir ??? Kann mir bitte jemand helfen?

                  Du hast eine InfluxDB 1.x, die mit der "Sprache" InfluxQL angesprochen werden möchte. Die Queries in diesem Thread sind allerding in Flux formuliert, was die Standardsprache einer InfluxDB 2.x ist.

                  I 1 Reply Last reply Reply Quote 0
                  • I
                    innug @Marc Berg last edited by

                    @marc-berg said in Grafana Stromauswertung Wochen und Monatsverbrauch:

                    Du hast eine InfluxDB 1.x, die mit der "Sprache" InfluxQL angesprochen werden möchte. Die Queries in diesem Thread sind allerding in Flux formuliert, was die Standardsprache einer InfluxDB 2.x ist.

                    Aha gut zu wissen. Gibt es so eine Auswertung auch noch für die InfluxDB 1.x ?
                    Oder kann man das irgedwie umprogrammieren? Kann mir da jemand helfen?
                    Fragen über Fragen ...

                    MfG innug

                    R 1 Reply Last reply Reply Quote 0
                    • R
                      Rumpeltec @innug last edited by

                      @innug

                      Du kannst "Flux" auch in DB Version 1.x aktivieren und nutzen. Funktioniert problemlos.

                      https://docs.influxdata.com/influxdb/v1.7/flux/installation/

                      Falls es dir vielleicht weiterhilft, installiere die doch den "Sourceanalytix Adapter" im Iob.
                      Ich logge da ebenfalls nur die Watt Werte und SA macht daraus Tages-, Wochen-, Monats- und Jahreswerte. Diese wandern dann in die InfluxDB und werden durch Grafana optisch einwandfrei dargestellt.

                      z.B hier bereits in der VIS über ein iframe

                      Screenshot 2023-05-08 071343.png

                      I 1 Reply Last reply Reply Quote 0
                      • I
                        innug @Rumpeltec last edited by

                        @rumpeltec said in Grafana Stromauswertung Wochen und Monatsverbrauch:

                        @innug

                        Du kannst "Flux" auch in DB Version 1.x aktivieren und nutzen. Funktioniert problemlos.

                        https://docs.influxdata.com/influxdb/v1.7/flux/installation/

                        Falls es dir vielleicht weiterhilft, installiere die doch den "Sourceanalytix Adapter" im Iob.
                        Ich logge da ebenfalls nur die Watt Werte und SA macht daraus Tages-, Wochen-, Monats- und Jahreswerte. Diese wandern dann in die InfluxDB und werden durch Grafana optisch einwandfrei dargestellt.

                        z.B hier bereits in der VIS über ein iframe

                        Also ich habe keinen Zugriff auf influxdb.conf. Keine Ahnung wie ich da dran kommen soll. IOBroker läuft ja im Docker bei mir.

                        Und den Sourceanalytix Adapter finde ich auch nicht.

                        Kann man nicht irgendwie diese 2.x Abfrage umschreiben das sie mit 1.x funktioniert?
                        Gibt es da vielleicht einen Converter für?

                        MfG innug

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

                          @meister-mopper
                          Servus
                          Wäre es eventuell möglich die Overrides und die Einstellungen dazu einzublenden bwz. hier zu posten?
                          Irgendwie bekomme ich das leider nicht so hin, warum auch immer🙁
                          Das wäre echt super.

                          Dann hätte ich eine grundsätzliche Frage zum loggen der Datenpunkte.
                          Ist es sinnvoller DP zu loggen, die momentan erzeugt werden(zB. momentan produzierte PV Leistung) oder die Tagesendsumme des DP?
                          So wie ich das verstehe macht das für Grafana einen Unterschied.
                          Oder liege ich da falsch.

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

                            @nwh sagte in Grafana Stromauswertung Wochen und Monatsverbrauch:

                            Wäre es eventuell möglich die Overrides und die Einstellungen dazu einzublenden bwz. hier zu posten?

                            Das würde aufgrund der Masse an Bildern den Rahmen des Forums sprengen. Die Lösung wird hier gezeigt.

                            @nwh sagte in Grafana Stromauswertung Wochen und Monatsverbrauch:

                            Ist es sinnvoller DP zu loggen, die momentan erzeugt werden(zB. momentan produzierte PV Leistung) oder die Tagesendsumme des DP?

                            Ich nutze beides PV => Tageswert und Hauslast => Differenzwert eines hoch zählenden Datenpunktes.

                            Man kann beides je nach gusto nutzen.

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

                              @meister-mopper
                              Das nehme ich zur Hilfe, allerdings komme ich nicht ganz klar damit, dass es so aussieht wie bei Dir.

                              Das heißt also wenn ich einen hoch zählenden Datenpunkt nehme muss ich dann erst die Summe der Woche und danach die Summe des Monat bilden, den sonst bekomme ich nie richtige Werte ist das Richtig?

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

                                @nwh sagte in Grafana Stromauswertung Wochen und Monatsverbrauch:

                                Das heißt also wenn ich einen hoch zählenden Datenpunkt nehme muss ich dann erst die Summe der Woche und danach die Summe des Monat bilden, den sonst bekomme ich nie richtige Werte ist das Richtig?

                                Da braucht es keine Summen, hier der tägliche Wert eines hochzählenden Datenpunktes

                                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")
                                

                                Da kannst du natürlich auch den Wert eines Monats anzeigen lassen.

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

                                  @meister-mopper
                                  Ginge das auch mit dem DP der PV der den gerade aktuellen produzierten Wert angibt?

                                  Wenn ich zB. die Regenmenge logge welchen Punkt nehme ich da am besten.
                                  Regenmenge heute oder Regenmenge Gesamt.

                                  Was mir noch nicht ganz klar ist der unterschied von "last" uns "sum" da kommen beim gleich DP unterschiedliche Werte heraus. 🙄

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

                                    @nwh

                                    Last meint den letzten Wert des Tages, wogegen sum die Tagessumme meint.

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

                                      @meister-mopper und ich kann mir beiden Werten lat und sum eine Wochen- und Monatsberechnung machen? Da kommen aber je andere Werte heraus. WEnn ich dein Beispiel nehme wäre ds "sum" wenn ich hier 1mo schreibe ist das dann der gleiche Wert wie wenn hier stehen würde last?

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

                                        @Meister-Mopper
                                        So habe ich es jetzt geschafft.
                                        DP ist aktuelle Power der Steckdose.
                                        Ich zeige die 5 Monate mit dem höchsten Verbrauch an.

                                        Das Datum und die Kosten schaffe ich nicht so darzustellen wie du es gemacht hast.
                                        Bei den Kosten steht bei mir ein "k" dahinter keine Ahnung woher od. warum.
                                        Was ich noch gerne hätte unten TOTAL zu ergänzen.

                                        5c8f31a0-5242-44da-8f04-fb8694e69f01-image.png

                                        Das wäre der Code dazu.

                                        import "timezone"
                                        option location = timezone.location(name: "Europe/Berlin")
                                         
                                        from(bucket: "iobroker")
                                          |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                                          |> filter(fn: (r) => r["_measurement"] == "StromWM" and r["_field"] == "value")
                                          |> difference()
                                          |> aggregateWindow(every: 1d, fn:max, timeSrc: "_start", createEmpty:false)
                                          |> aggregateWindow(every: 1w, fn:sum, timeSrc: "_start", createEmpty:false)
                                          |> aggregateWindow(every: 1mo, fn:sum, timeSrc: "_start", createEmpty:false)
                                          |> map(fn: (r) => ({r with _cost: float(v: r._value) * 0.42}))
                                          |> top(n: 5, columns: ["_value"])
                                        

                                        Kannst du mir hier even. noch helfen?

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

                                          @nwh

                                          Darstellungen werden in overrides geändert. Musst mal dort gucken.

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

                                            @meister-mopper Danke habe ich geschafft.

                                            Aber ich schaffe es nicht meine PV Einspeisung richtig anzuzeigen.
                                            Da verzweifle ich. Dabei will ich nur sehen wieviel ich monatlich einspeise, produziere.
                                            Aber die Werte die stimmen nie. Egal welchen DP ich nehme es stimmt nie.

                                            zB.

                                            import "timezone"
                                            option location = timezone.location(name: "Europe/Berlin")
                                             
                                            from(bucket: "iobroker")
                                              |> range(start: -1w, stop: v.timeRangeStop)
                                              |> filter(fn: (r) => r["_measurement"] == "EinspeisungTag" and r["_field"] == "value")
                                              |> difference()
                                              |> aggregateWindow(every: 1d, fn: sum, timeSrc: "_start")
                                            

                                            Die Werte die da rauskommen sind kompletter Quatsch 😞

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            455
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            14
                                            50
                                            9975
                                            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