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, Summierung der letzten Tageswerte

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Grafana, Summierung der letzten Tageswerte

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

      Hallo,

      ich möchte die täglichen Tageswerte der Regenmenge zu Monatswerten aufsummieren. Die jeweiligen Regenwerte werden fortlaufend am Tag erfasst und am Tagesende auf 0 gesetzt. Mein Problem ist, dass ich bei nachstehender Abfrage offensichtlich auch die jeweiligen Tageswerte aufsummiere und nicht nur den letzten Tageswert.

      import "timezone"
      import "date"
        option location = timezone.location(name: "Europe/Berlin")
      
      from(bucket: "iobroker")
        |> range(start: date.truncate(t: date.add(d: -6mo, to: today()), unit: 1mo), stop: date.truncate(t: today(), unit: 1mo))
        |> filter(fn: (r) => r["_measurement"] == "Regen heute")
        |> filter(fn: (r) => r["_field"] == "value")
        |> aggregateWindow(every: 1mo, fn: sum, createEmpty: true, timeSrc: "_start")
        |> yield(name: "last")
      
      

      Es hat zwar viel geregnet aber soviel dann doch nicht.
      regen.PNG

      Wo ist mein Fehler in der Abfrage?

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

        @andi_grafa sagte in Grafana, Summierung der letzten Tageswerte:

        Wie du schon richtig selbst festgestellt hast, summierst du stumpf ALLE Werte. Stattdessen willst du ja nur den jeweilig letzten Wert des Tages nehmen und den im Monat summieren. Das bedeutet, dass du noch ein zusätzliches "aggregateWindow" benötigt, mit dem du den Tages"letzt"wert ermittelst. Versuchs mal so:

        import "timezone"
        import "date"
        option location = timezone.location(name: "Europe/Berlin")
        
        from(bucket: "iobroker")
          |> range(start: date.truncate(t: date.add(d: -6mo, to: today()), unit: 1mo), stop: date.truncate(t: today(), unit: 1mo))
          |> filter(fn: (r) => r["_measurement"] == "Regen heute")
          |> filter(fn: (r) => r["_field"] == "value")
          |> aggregateWindow(every: 1d, fn: last, createEmpty: true, timeSrc: "_start")
          |> aggregateWindow(every: 1mo, fn: sum, createEmpty: true, timeSrc: "_start")
        
        1 Reply Last reply Reply Quote 0
        • First post
          Last post

        Support us

        ioBroker
        Community Adapters
        Donate

        849
        Online

        31.7k
        Users

        79.7k
        Topics

        1.3m
        Posts

        2
        2
        221
        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