Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Off Topic
  4. Grafana Werte addieren pro Tag

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

Grafana Werte addieren pro Tag

Scheduled Pinned Locked Moved Off Topic
23 Posts 4 Posters 3.5k Views 4 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Damrak2022D Damrak2022

    @marc-berg So, jetzt habe ich es hinbekommen und es gibt nur noch eine einzige Frage an der ich mir ie Zähne ausbeiße:
    Bildschirm­foto 2023-03-19 um 11.43.48.png
    Gibt es eine Möglichkeit, eventuell über den Code im Query die Anzeige der Stunden korrekt darzustellen?

    Weil 2,92 Std sind ja eigentlich 2 Std. 55 Minuten

    Weißt Du wie man das macht?

    Der Code sieht bisher so aus:

    import "timezone"
    option location = timezone.location(name: "Europe/Berlin")
    from(bucket: "DBANDY1")
    |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
    |> filter(fn: (r) => r["_measurement"] == "Laufzeit_Imac")
    |> filter(fn: (r) => r["_field"] == "value")
    |> aggregateWindow(every: 24h, fn: sum, timeSrc: "_start")
    
    Marc BergM Offline
    Marc BergM Offline
    Marc Berg
    Most Active
    wrote on last edited by Marc Berg
    #21

    @damrak2022 sagte in Grafana Werte addieren pro Tag:

    Gibt es eine Möglichkeit, eventuell über den Code im Query die Anzeige der Stunden korrekt darzustellen?

    Weil 2,92 Std sind ja eigentlich 2 Std. 55 Minuten

    Weißt Du wie man das macht?

    Schwieriges Problem, für das es bestimmt eine ganz einfache Lösung gibt, die ich aber nicht kenne. Mit dieser Query hier kannst Du Werte als "h:mi" formatieren. Dann hast Du aber im Ergebnis einen String, mit dem die Charts wiederum nichts anfangen können.

    import "timezone"
    import "math"
    import "strings"
    
    option location = timezone.location(name: "Europe/Berlin")
    from(bucket: "DBANDY1")
    |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
    |> filter(fn: (r) => r["_measurement"] == "Laufzeit_Imac")
    |> filter(fn: (r) => r["_field"] == "value")
    |> aggregateWindow(every: 24h, fn: sum, timeSrc: "_start")
    |> map(fn: (r) => ({r with _value: math.trunc(x:r._value/60.0) + math.trunc(x:r._value - math.trunc(x:r._value/60.0)*60.0)/100.0}))
    |> toString()
    |> map(fn: (r) => ({r with _value: strings.replace(v: r._value, t: ".", u: ":", i: 1)}))
    

    NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+RabbitMQ+Grafana

    Pi-hole, Traefik, Checkmk, Conbee II+Zigbee2MQTT, ESPSomfy-RTS, LoRaWAN, Arduino, KiCad

    Benutzt das Voting im Beitrag, wenn er euch geholfen hat.

    Damrak2022D 2 Replies Last reply
    0
    • Marc BergM Marc Berg

      @damrak2022 sagte in Grafana Werte addieren pro Tag:

      Gibt es eine Möglichkeit, eventuell über den Code im Query die Anzeige der Stunden korrekt darzustellen?

      Weil 2,92 Std sind ja eigentlich 2 Std. 55 Minuten

      Weißt Du wie man das macht?

      Schwieriges Problem, für das es bestimmt eine ganz einfache Lösung gibt, die ich aber nicht kenne. Mit dieser Query hier kannst Du Werte als "h:mi" formatieren. Dann hast Du aber im Ergebnis einen String, mit dem die Charts wiederum nichts anfangen können.

      import "timezone"
      import "math"
      import "strings"
      
      option location = timezone.location(name: "Europe/Berlin")
      from(bucket: "DBANDY1")
      |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
      |> filter(fn: (r) => r["_measurement"] == "Laufzeit_Imac")
      |> filter(fn: (r) => r["_field"] == "value")
      |> aggregateWindow(every: 24h, fn: sum, timeSrc: "_start")
      |> map(fn: (r) => ({r with _value: math.trunc(x:r._value/60.0) + math.trunc(x:r._value - math.trunc(x:r._value/60.0)*60.0)/100.0}))
      |> toString()
      |> map(fn: (r) => ({r with _value: strings.replace(v: r._value, t: ".", u: ":", i: 1)}))
      
      Damrak2022D Offline
      Damrak2022D Offline
      Damrak2022
      wrote on last edited by
      #22

      @marc-berg Ja, Du hast recht. So geht es leider nicht. Habe es gerade mal ausprobiert. Ich habe jetzt mal in der Grafana Community gepostet. Eventuell können die Mädels und Jungs weiterhelfen.

      Mit besten Grüßen
      Andy

      1 Reply Last reply
      0
      • Marc BergM Marc Berg

        @damrak2022 sagte in Grafana Werte addieren pro Tag:

        Gibt es eine Möglichkeit, eventuell über den Code im Query die Anzeige der Stunden korrekt darzustellen?

        Weil 2,92 Std sind ja eigentlich 2 Std. 55 Minuten

        Weißt Du wie man das macht?

        Schwieriges Problem, für das es bestimmt eine ganz einfache Lösung gibt, die ich aber nicht kenne. Mit dieser Query hier kannst Du Werte als "h:mi" formatieren. Dann hast Du aber im Ergebnis einen String, mit dem die Charts wiederum nichts anfangen können.

        import "timezone"
        import "math"
        import "strings"
        
        option location = timezone.location(name: "Europe/Berlin")
        from(bucket: "DBANDY1")
        |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
        |> filter(fn: (r) => r["_measurement"] == "Laufzeit_Imac")
        |> filter(fn: (r) => r["_field"] == "value")
        |> aggregateWindow(every: 24h, fn: sum, timeSrc: "_start")
        |> map(fn: (r) => ({r with _value: math.trunc(x:r._value/60.0) + math.trunc(x:r._value - math.trunc(x:r._value/60.0)*60.0)/100.0}))
        |> toString()
        |> map(fn: (r) => ({r with _value: strings.replace(v: r._value, t: ".", u: ":", i: 1)}))
        
        Damrak2022D Offline
        Damrak2022D Offline
        Damrak2022
        wrote on last edited by
        #23

        @marc-berg Mit Hilfe von jemand anderem habe ich es nun hinbekommen die Zeit vernünftig darzustellen:
        Bei Unit muss "duration h:mm:ss" rein
        Der Code benötigt zusätzlich folgende Zeile:
        Bildschirmfoto_2023-03-19_um_22_51_04.png

        Dann sieht das Ergebnis so aus:
        Bildschirm­foto 2023-03-19 um 22.52.44.png

        Mit besten Grüßen
        Andy

        1 Reply Last reply
        0
        Reply
        • Reply as topic
        Log in to reply
        • Oldest to Newest
        • Newest to Oldest
        • Most Votes


        Support us

        ioBroker
        Community Adapters
        Donate

        325

        Online

        32.4k

        Users

        81.4k

        Topics

        1.3m

        Posts
        Community
        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
        ioBroker Community 2014-2025
        logo
        • Login

        • Don't have an account? Register

        • Login or register to search.
        • First post
          Last post
        0
        • Recent
        • Tags
        • Unread 0
        • Categories
        • Unreplied
        • Popular
        • GitHub
        • Docu
        • Hilfe