Ankündigung

Einklappen
Keine Ankündigung bisher.

Grafana - Summe des letzten Monats

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Grafana - Summe des letzten Monats

    Moin,

    ich komme gerade bei einem Problem in Grafana nicht weiter und hoffe, hier hat vielleicht jemand eine Idee dazu..

    Ich wollte gerne die Erzeugung der PV Anlage pro Monat in Grafana darstellen.
    Der WR gibt mir aber nur den Tages- und Totalenwert an.

    Für die Darstellung des Tages nutze ich momentan das hier:

    from(bucket: "NR")
    |>range(start: v.timeRangeStart, stop: v.timeRangeStop)
    |>filter(fn: (r)=> r["_measurement"] == "wr1.einspeisung.tag")
    |>filter(fn: (r)=> r["_field"] == "value")
    |> aggregateWindow(every: 1d,offset: -121m, fn: max, createEmpty: false)
    |> yield(name: "sum")

    Das summieren der letzten 30 Tage geht leider nicht, da pro Tag mehrere Einträge geschrieben werden und ich dann im MWh Bereich lande

    In der Range könnte ich ja den Monat festlegen:

    |>range(start: 2023-10-01T00:00:00Z, stop: 2023-10-31T00:00:00Z)

    ​Das hilft mir aber ja auch nur beding für genau einen Monat weiter, gibt es einen Weg, wie ich das jeden Monat automatisch darestellen lassen kann?

    Viele Grüße
    Fischi
    Zuletzt geändert von Fischi404; 04.11.2023, 14:25.

    #2
    Gefunden, falls das noch mal jemand braucht:

    from(bucket: "NR")
    |>range(start: 2023-10-01T00:00:00Z , stop: v.timeRangeStop)
    |>filter(fn: (r)=> r["_measurement"] == "wr1.einspeisung.total")
    |>filter(fn: (r)=> r["_field"] == "value")
    |> aggregateWindow(every: 1mo, fn: last, createEmpty: false)
    |>difference()


    leider schmeißt er mir nun den Oktober raus.. sonst scheint es aber zu funktionieren.

    Kommentar


      #3
      Moin!
      Pro Tag sieht bei mir so aus. Hab das aber auch irgendwo herauskopiert.

      Code:
      select non_negative_difference(last(cumulative_sum)) from (
      select cumulative_sum(non_negative_difference(last("value"))) from "Zaehlerstand"
      WHERE $timeFilter GROUP BY time(24h)
      ) WHERE $timeFilter GROUP BY time(24h)​
      Katy Perry: Can you here me roar?
      Tatiana Shmailyuk: ... hold my beer!

      Kommentar


        #4
        Ich nutz

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


        oder auch

        |> aggregateWindow(every: 1d, fn: last, createEmpty: true, timeSrc: "_start")
        |> derivative(unit: 1d)

        ​zB für Tagesverbräuche.


        Difference hat den Nachteil wenn du mal keine Werte empfängst wird das was du quasi verpasst hast einfach den Verbrauch zugerechnet ab dem Moment wo du die Werte wieder empfängst.

        Mit Derivative verteilt er das dann immerhin gleichmäßig auf die verpassten Stunden, Tage, Whatever du benutzt.

        Kommentar

        Lädt...
        X