Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. Tageswerte aus ShellyPm1Plus

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Tageswerte aus ShellyPm1Plus

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

      Hallo zusammen,
      ich habe ein Balkonkraftwerk installiert und einen ShellyPm1Plus an der Netzleitung installiert, um die Leistung zu messen. Die Werte greife ich im ioBroker über den Shelly-Adapter ab. Das funktioniert für die aktuelle Leistung problemlos.
      Ich schaffe es aber nicht, die für einen jeweiligen Tag produzierten Summen im Grafana darzustellen.
      Mit folgendem Code in Grafana wird jeder neue Tag mit der Summe der vorherigen Tage gestartet, d.h. es ist eine gesamte Aufsummierung aller bisher erzielten Erträge:

      import "timezone"
      option location = timezone.location(name: "Europe/Berlin")
      from(bucket: "iobroker")
      |> range(start: -30d)
        |> filter(fn: (r) => r["_measurement"] == "Energie_Summe_Sued")
        |> filter(fn: (r) => r["_field"] == "value")
        |> aggregateWindow(every: 1d, fn: last, createEmpty: false, timeSrc: "_start")
      

      Wie kann ich das verändern, damit er an jedem neuen Tag bei 0 startet und bis 23:59 die Werte aufsummiert?

      Danke Euch!

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

        import "timezone"
        option location = timezone.location(name: "Europe/Berlin")
        from(bucket: "iobroker")
        |> range(start: -30d)
        |> filter(fn: (r) => r["_measurement"] == "Energie_Summe_Sued")
        |> filter(fn: (r) => r["_field"] == "value")
        |> difference()
        |> aggregateWindow(every: 1d,fn:sum,timeSrc: "_start",createEmpty:false)
        

        oder

        import "timezone"
        option location = timezone.location(name: "Europe/Berlin")
        from(bucket: "iobroker")
        |> range(start: -30d)
        |> filter(fn: (r) => r["_measurement"] == "Energie_Summe_Sued")
        |> filter(fn: (r) => r["_field"] == "value")
        |> aggregateWindow(every: 1d,fn:last,timeSrc: "_start",createEmpty:false)
        |> difference()
        

        Die erste Variante ist schneller, die zweite intuitiver zu verstehen.

        M 1 Reply Last reply Reply Quote 0
        • M
          musicnrw @Marc Berg last edited by

          Super, vielen Dank, Marc!!!

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

          Support us

          ioBroker
          Community Adapters
          Donate

          741
          Online

          31.7k
          Users

          79.6k
          Topics

          1.3m
          Posts

          2
          3
          87
          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