Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Off Topic
  4. Grafana Werte addieren pro Tag

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    2.0k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    919

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Grafana Werte addieren pro Tag

Geplant Angeheftet Gesperrt Verschoben Off Topic
23 Beiträge 4 Kommentatoren 3.5k Aufrufe 4 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • 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
    schrieb am zuletzt editiert von 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+EMQX+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 Antworten Letzte Antwort
    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
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        0
        Antworten
        • In einem neuen Thema antworten
        Anmelden zum Antworten
        • Älteste zuerst
        • Neuste zuerst
        • Meiste Stimmen


        Support us

        ioBroker
        Community Adapters
        Donate

        792

        Online

        32.6k

        Benutzer

        82.2k

        Themen

        1.3m

        Beiträge
        Community
        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
        ioBroker Community 2014-2025
        logo
        • Anmelden

        • Du hast noch kein Konto? Registrieren

        • Anmelden oder registrieren, um zu suchen
        • Erster Beitrag
          Letzter Beitrag
        0
        • Home
        • Aktuell
        • Tags
        • Ungelesen 0
        • Kategorien
        • Unreplied
        • Beliebt
        • GitHub
        • Docu
        • Hilfe