Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Off Topic
    4. Nochmal eine Frage zur Umrechnung in Grafana

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Nochmal eine Frage zur Umrechnung in Grafana

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

      Ich habe jetzt die ersten 15 Seiten der Posts durchgelesen, welche Grafana betreffen, finde aber den Post nicht wieder, wo die Umrechnung erklärt wird.
      Das ist mein bestehender Code:

      from(bucket: "DBANDY1")
        |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
        |> filter(fn: (r) => r["_measurement"] == "Schlafdauer")
        |> filter(fn: (r) => r["_field"] == "value")
        |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)
        |> yield(name: "mean")
      

      Wie muss ich diesen Code erweitern, damit mir die Sekunden in Stunden und Minuten ausgegeben werden?

      F 1 Reply Last reply Reply Quote 0
      • F
        ftd @Damrak2022 last edited by

        @damrak2022

        Mit map musst du das machen...

        |> map(fn: (r) => ({ r with _value: r._value * 60 }))
        
        Damrak2022 1 Reply Last reply Reply Quote 0
        • Damrak2022
          Damrak2022 @ftd last edited by

          @ftd sagte in Nochmal eine Frage zur Umrechnung in Grafana:

          |> map(fn: (r) => ({ r with _value: r._value * 60 }))

          Sorry, aber ich muss da nochmal nachfragen, denn wenn ich Deinen Code unten dranhänge bekomm ich einen Fehler. Könntest Du mir erklären, wie der Code richtig aussehen müsste?
          Bildschirm­foto 2023-02-20 um 09.13.15.png

          F 1 Reply Last reply Reply Quote 0
          • F
            ftd @Damrak2022 last edited by

            @damrak2022

            Deine Schlafdauer ist ein Float-Wert. Du versucht aber mit einem Integer zu multiplizieren.

            Lösung... einfach ein .0 anhängen:

            |> map(fn: (r) => ({ r with _value: r._value * 60.0 }))
            
            Damrak2022 1 Reply Last reply Reply Quote 0
            • Damrak2022
              Damrak2022 @ftd last edited by

              @ftd sagte in Nochmal eine Frage zur Umrechnung in Grafana:

              |> map(fn: (r) => ({ r with _value: r._value * 60.0 }))

              Also irgendwie klappt das bei mir nicht. So sieht es ohne Deinen Code aus:
              Bildschirm­foto 2023-02-21 um 01.00.14.png

              Und so dann wenn ich Deinen Code einfüge:
              Bildschirm­foto 2023-02-21 um 00.59.09.png

              Vor allem habe ich dann auf einmal zwei Charts

              F 1 Reply Last reply Reply Quote 0
              • F
                ftd @Damrak2022 last edited by ftd

                @damrak2022

                Ja, vollkommen richtig, weil du 2 Resultate ausgibst...

                yield und map

                Lösung: Entferne die yield Zeile

                from(bucket: "DBANDY1")
                  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                  |> filter(fn: (r) => r["_measurement"] == "Schlafdauer")
                  |> filter(fn: (r) => r["_field"] == "value")
                  |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)
                  // |> yield(name: "mean")
                  |> map(fn: (r) => ({ r with _value: r._value * 60.0 }))
                

                https://docs.influxdata.com/flux/v0.x/stdlib/universe/yield/

                Damrak2022 1 Reply Last reply Reply Quote 0
                • Damrak2022
                  Damrak2022 @ftd last edited by

                  @ftd sagte in Nochmal eine Frage zur Umrechnung in Grafana:

                  |> map(fn: (r) => ({ r with _value: r._value * 60.0 }))

                  Sorry, ich hatte die Tage viel um die Ohren, aber das klappt noch nicht so ganz. Jetzt wird mir meine Zeit die ich geschlafen habe immer noch nicht korrekt dargestellt. Am 26.02. müsste er mir einen Wert von 6 Stunden 15 Minuten anzeigen. Auch die anderen Werte passen noch nicht.
                  Bildschirm­foto 2023-02-27 um 19.22.11.png

                  S 1 Reply Last reply Reply Quote 0
                  • S
                    SpacerX @Damrak2022 last edited by

                    @damrak2022 du aggregierst mit mean einen Durchschnitt. Vielleicht mal fn:last probieren.

                    Damrak2022 1 Reply Last reply Reply Quote 0
                    • Damrak2022
                      Damrak2022 last edited by

                      @spacerx Habe es gerade versucht.

                      Ergebnis:
                      Bildschirm­foto 2023-02-27 um 19.36.53.png

                      Ich möchte erreichen das über dem Balken z.B. steht 6Std24 oder halt 6:24 Scheint schwieriger zu sein, als ich dachte.

                      1 Reply Last reply Reply Quote 0
                      • Damrak2022
                        Damrak2022 @SpacerX last edited by Damrak2022

                        @spacerx Jetzt bin ich der Sache anscheinend einen kleinen Schritt näher gekommen:

                        Mit diesem Code

                        |> map(fn: (r) => ({ r with _value: r._value /60.0/60.0 }))
                        

                        sieht es so aus:
                        Bildschirm­foto 2023-02-27 um 19.52.07.png

                        Wobei natürlich 2.95 oder 1.88 auch nicht stimmen können.

                        S 1 Reply Last reply Reply Quote 0
                        • S
                          SpacerX @Damrak2022 last edited by SpacerX

                          @damrak2022 Problem wird sein die Range ist - 14d von now(). Dann Aggregierst du immer 24 Stunden von jetzt ab.
                          Ich muss da mal bei mir Forsten wie ich das mal versucht habe zu lösen.

                          Edit: Zumal ja immer von 0:00 bis 23:59 als Tag zähl. wenn du 20:00Uhr schlafen gehst und 4:00Uhr am nächsten tag aufstehst hast du einen Tag 2 Stunden geschlafen und den nächsten Tag 4 Stunden.
                          Oder wie löst du das?

                          Zeige doch mal bitte die Tabellenansicht.

                          Und mal das Probieren:
                          SnipSnap_1.PNG

                          Damrak2022 1 Reply Last reply Reply Quote 0
                          • Damrak2022
                            Damrak2022 @SpacerX last edited by Damrak2022

                            @spacerx Ich glaube da muss ich echt warten bis Du wieder zuhause bist. Mir gehen die Ideen aus und in der Dokumentation finde ich dazu auch nichts.
                            Bildschirm­foto 2023-02-27 um 22.56.32.png

                            S 1 Reply Last reply Reply Quote 0
                            • S
                              SpacerX @Damrak2022 last edited by

                              @damrak2022 nimm erst mal das Mapping raus und zeig mal die Tabellenansicht.
                              Wie und wann erzeugst du die Daten die du loggst. Das Schreiben der Daten in die Datenbank erfolgt wann? Uhrzeit wäre da vielleicht wichtig. Die Unit der geloggten Daten ist noch von Belang. In Minuten oder Stunden oder vielleicht sogar in Sekunden ?
                              Und dann mal schauen.
                              Also beim schnellen darüber fliegen hab ich jetzt keine andere Möglichkeit gefunden als die gezeigte, um eine custom Unit anzugeben.

                              Damrak2022 1 Reply Last reply Reply Quote 0
                              • Damrak2022
                                Damrak2022 @SpacerX last edited by Damrak2022

                                @spacerx Also der tableview sieht so aus:
                                Bildschirm­foto 2023-02-28 um 17.10.57.png
                                Der Code ohne Mapping so:

                                import "timezone" // import wegen der Berechnung um 02:00:00
                                option location = timezone.location(name: "Europe/Berlin")
                                from(bucket: "DBANDY1")
                                  |> range(start: -14d)
                                  |> filter(fn: (r) => r["_measurement"] == "Schlafdauer")
                                  |> filter(fn: (r) => r["_field"] == "value")
                                  |> aggregateWindow(every: 24h, fn: last,createEmpty: false)
                                  // |> yield(name: "mean")
                                

                                Ich logge meine Daten mit dem Script von Kreyenborg Köln - siehe hier
                                Script

                                Bei mir im ioBroker sieht das dann so aus:
                                Bildschirm­foto 2023-02-28 um 17.35.44.png

                                S 1 Reply Last reply Reply Quote 0
                                • S
                                  SpacerX @Damrak2022 last edited by

                                  @damrak2022 jetzt schaffst du bei mir totale Verwirrung. Oben möchtest du die Schlafdauer und im letzten Betrag zeigst du den Stromverbrauch vom Shelly geloggt.
                                  Kläre doch mal auf. Weil in Query steht was von Schlafdauer.

                                  Damrak2022 2 Replies Last reply Reply Quote 0
                                  • Damrak2022
                                    Damrak2022 @SpacerX last edited by Damrak2022

                                    @spacerx Soory, habe das falsche gepostet. Korrigiere das gleich - Moment

                                    1 Reply Last reply Reply Quote 0
                                    • Damrak2022
                                      Damrak2022 @SpacerX last edited by

                                      @spacerx So hier das Richtige:
                                      Bildschirm­foto 2023-02-28 um 17.35.44.png

                                      S ? 2 Replies Last reply Reply Quote 0
                                      • S
                                        SpacerX @Damrak2022 last edited by SpacerX

                                        @damrak2022 OK.

                                        Ich glaub mal da besteht schon ein Problem bei der Datenaufzeichnung.

                                        Ich stell mir das jetzt mal vor. 😊

                                        • Ich gehe ins Bett und drücke einen Knopf.
                                        • Ein Skript oder was weis ich merkt Schlafen True ab jetzt.
                                        • Ich wache auf und drücke auf einen Knopf.
                                        • Skript merkt schlafen false, berechne Uhrzeit jetzt minus Uhrzeit schlafen True.
                                        • Lese Datenpunkt total_sleep_time addiere die berechnete Differenz und schreibe den Datenpunkt wieder.
                                        • influx-Adapter loggt Datenpunkt bei Veränderung.

                                        so wird das nichts!

                                        Damrak2022 1 Reply Last reply Reply Quote 0
                                        • Damrak2022
                                          Damrak2022 @SpacerX last edited by Damrak2022

                                          @spacerx Naja der Ablauf ist eigentlich folgender: Ich habe von Withings eine Sensormatte unter meiner Matratze liegen. Diese zeichnet diverse Werte auf und gibt Sie mir in der App und im ioBroker wieder. Die Werte wie lange ich geschlafen habe sind ja vorhanden. Es geht um die Darstellung wie ich diese Sekunden in Grafana als Stunden Minuten ausgeben kann.

                                          S 1 Reply Last reply Reply Quote 0
                                          • ?
                                            A Former User @Damrak2022 last edited by A Former User

                                            @damrak2022 sagte in Nochmal eine Frage zur Umrechnung in Grafana:

                                            @spacerx So hier das Richtige:
                                            Bildschirm­foto 2023-02-28 um 17.35.44.png

                                            Moin,

                                            ich habe erst mal keine Lösung für dich, aber ich Denke, das die 24180 im Bild Sekunden sind, was mich irritiert sind die zwei Spalten mit dem Datum/Uhrzeit.

                                            Laut Umrechnung sin h hast Du 6,7166667 hgeschlafen.

                                            VG
                                            Bernd

                                            Edit:
                                            Sorry, man sollte nicht zwei Sachen machen, natürlich Sekunden

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            712
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            4
                                            35
                                            2108
                                            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