Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Off Topic
    4. ioBroker – Grafana Tagesverlauf – keine Variablen in Query

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    ioBroker – Grafana Tagesverlauf – keine Variablen in Query

    This topic has been deleted. Only users with topic management privileges can see it.
    • F
      ftd @Peter 1 last edited by

      @peter-1 Ah.... du möchtest wissen, wieviel kwh du pro Tag verbraucht hast?

      Ok, dein Smartmeter liefert mal 2,5kw, mal 1,8, mal 2,9, mal 0,9 etc.

      D.h. du musst jeweils die Differenzen bilden, diese aufsummieren und pro Tag zusammenfassen:

      |> difference(nonNegative: true, columns: ["_value"])
      |> aggregateWindow(every: 1d, fn: sum, timeSrc: "_start")
      
      P 1 Reply Last reply Reply Quote 0
      • P
        Peter 1 @ftd last edited by

        @ftd Hi, danke für den weiteren Tipp, aber klappt leider nicht so richtig.

        Ich glaube es wurde auch etwas falsch beschreiben bzw. nicht genau genug von mir erklärt. Ich lese sowohl den aktuellen Bezug (also Netzbezug oder Einspeisung in W aus) als auch die Zählerstände in KWh (Bezug und separat die Einspeisung)

        Ich glaube es wurde so verstanden, dass ich vorhabe immer den IST-Bezug zu „sammeln“ und dann den Verbrauch zu errechnen. (Also SUMME in KW mit Hilfe der Zeit auf den Verbrauch in KWh zu kommen. Denke das würde ggf. auch mehr oder weniger gehen, aber nicht nötig.

        Ich erhalte vom Zähler (sicher und genau) den Zählerstand in KWh, den nur leider wie den Zählerstand in Watt alle paar Sekunden.
        Für mich als absoluter Anfänger, also „einfach“ … Max. Wert zum Tages ende und dann das Delta zum Tag davor...

        Dafür soll es ja fertige Filter/Einstellungen geben, aber die habe ich ja leider nicht. Das habe ich in meinen ersten Beitrag verscuht zu beschreiben.
        Würde das auch über den „Quellcode“ ohne Filter machen, schaffe es aber nicht …

        Es gibt für mich zwei mögliche Wege, die ich alleine nicht schaffe.

        1. Die Filter die es gibt „finden/ einschalten“.
        2. Den „Quellcode“ händisch eintrage.

        Ich hoffe es ist etwas verständlicher und mit kann einen helfen.

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

          @peter-1 said in ioBroker – Grafana Tagesverlauf – keine Variablen in Query:

          Ich hoffe es ist etwas verständlicher und mit kann einen helfen.

          Ja. 🙂

          1. Die Filter die es gibt „finden/ einschalten“.

          Du nutzt Influx v2. Die Filter zum zusammenklicken (InfluxQL) gibt es dort nicht mehr. Die neue Syntax heisst Flux.

          1. Den „Quellcode“ händisch eintrage.

          Ja, musst du machen.

          Alternative 1: Auf Influx v1.x zurück.

          Zeig mal deine Datenpunkte in ioBroker, welche du visualisieren möchtest.... den Query bekommen wir hin. Ist kein Hexenwerk.

          Alternative 2: Den Query in der InfluxGUI zusammenklicken und via Copy/Paste nach Grafana kopieren.

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

            @ftd Deine Antworten bringen mich (und ggf. auch andere Anfänger) ein ganzes Stück weiter.

            Mir war nicht bewusst, dass es in Influx V2 es die Filter nicht mehr gibt. Aufhören etwas zu suchen was es nicht mehr gibt hilft schon mal 😉 Somit kann ich für mich diesen Weg abhaken.

            Auch auf eine alte Version von Influx zurückzuwechseln würde ich nicht machen wollen, wenn es noch einen anderen Weg gibt. Somit kann ich für mich auch diese Lösung abhaken.

            Die Datenpunkte aus dem ioBroker, welche ich visualisieren möchte, kann ich erst morgen zusenden, da ich unterwegs bin.
            Werde die Zeit nutzen mich tiefer mit der Syntax vom Query in Influx bzw. Grafana auseinandersetzten, damit ich die Tipps auch verstehen kann 😉

            P 1 Reply Last reply Reply Quote 0
            • P
              Peter 1 @Peter 1 last edited by

              Guten Morgen.

              Ich versuche mal die ioBroker Datenpunkte zu beschreiben, die ich visualisieren möchte.
              [Ich hoffe ich habe die Frage richtig verstanden 😉 ]

              Ganz allgemein in Kurzform das gesamte Vorhaben. (VIS da ich mehr anzeigen will als ein Diagramm, und weil ich dachte Grafana wäre das Tool um Diagramme zu machen)

              ioBroker (Smartmeter) - - > InfluxDB 2 - - > Grafana - - > ioBriker (VIS)

              So wie von ftd beschreiben hat, höre ich auf die Lösung in Grafana zu suchen, sondern in InfluxDB 2

              Aus dem ioBroker herraus speicher ich folgende Werte in der Datenbank InfluxDB2
              e5e9297f-1691-42d8-b448-a3ae354ffcec-grafik.png

              Einer der drei Werte. (Zählerstand)
              f6942bcb-a033-482c-b740-2a1df1d2f3f9-grafik.png

              Der Wert wird gespeichert und kann mir den Verauf im ioBroker ansehen
              006bbc53-d15a-461a-bbf2-4575825fe4a0-grafik.png

              Jetzt der wechsel nach InfluxDB
              9225adc2-d417-4853-9ee6-2f216d89e1f2-grafik.png

              und auf den Schalter "SCRIPT EDITOR" gedrückt.
              4d079392-42cc-44e3-aad8-cf06c6d04c85-grafik.png

              Und dann könne ich leider nicht weiter. Hier bräuchte ich dann Hilfe.

              ftd, ich hoffe das konnte deine Rückfrage beantworten 🤔

              S F 2 Replies Last reply Reply Quote 0
              • S
                SpacerX @Peter 1 last edited by SpacerX

                @peter-1

                zum Anzeigen der Tageswerte der kWh die Differenz berechnen lassen.

                |> aggregateWindow(every: 1d, fn: last, timeSrc: "_start")
                |> difference()
                
                1 Reply Last reply Reply Quote 0
                • F
                  ftd @Peter 1 last edited by

                  @peter-1 Grafana

                  Rechts oben "Bar chart"

                  X-Achse => Time

                  Query:

                  from(bucket: "iobroker")
                    |> range(start: -30d, stop: now())
                    |> filter(fn: (r) => r["_measurement"] == "1-0:1_8_0__255")
                    |> filter(fn: (r) => r["from"] == "system.adapter.smartmeter.0")
                    |> aggregateWindow(every: 1d, fn: last, createEmpty: false)
                    |> difference(nonNegative: false, columns: ["_value"])
                  

                  Dann solltest du Bars haben, welche den täglichen Verbrauch anzeigen.

                  Gehe ich richtig in der Annahme, dass 1-0:2_8__255 der Tageszähler ist?

                  Wenn ja, kannst du auch den nehmen.... aber dann ohne Differenzen, sondern nur den letzten Wert auslesen.

                  from(bucket: "iobroker")
                    |> range(start: -30d, stop: now())
                    |> filter(fn: (r) => r["_measurement"] == "1-0:2_8__255")
                    |> filter(fn: (r) => r["from"] == "system.adapter.smartmeter.0")
                    |> aggregateWindow(every: 1d, fn: last, createEmpty: false)
                  
                  P 1 Reply Last reply Reply Quote 0
                  • P
                    Peter 1 @ftd last edited by

                    Hallo zusammen,

                    leider bin ich erst jetzt wieder zuhause und konnte dazu eure Tipps umsetzten. Aber nur mit mehr oder weniger Erfolg ...

                    Nach dem guten alten "try and error" habe ich es hin bekommen 😊
                    Nochmal danke an der Stelle. Muss aber gestehen, habe das Ergebnis nicht kapiert sondern akzeptiert.

                    Aber das Problem ist bei mir gelöst, und für den Fall das noch jemand das gleich Problem hat hier meine Query in Grafana (Ob der "gut" ist kann ich nicht sagen)

                    from(bucket: "ioBroker")
                    |> range(start: -7d, stop: now())
                    |> filter(fn: (r) => r["_measurement"] == "smartmeter.0.1-0:1_8_0__255.value")
                    |> filter(fn: (r) => r["_field"] == "value")
                    |> aggregateWindow(every: 1d, fn: last, timeSrc: "_start")
                    |> difference()
                    |> yield(name: "mean")

                    4878cbad-eee4-41f0-b951-c4aebe2e6acc-grafik.png


                    @ftd , leider habe ich bei deinem Vorschlag eine Fehlermeldung bekommen.
                    " Bar charts requires a string or time field "

                    98dee097-5ba4-4cc1-9284-e5567cc5d3b0-grafik.png


                    @SpacerX , leider habe ich auch bei deinem Vorschlag eine Fehlermeldung bekommen
                    " No data "

                    a0dcc897-57e6-42c9-bd59-c0d6346698ec-grafik.png


                    An der Stelle noch eine kleine Frage von mir.
                    Wie kann ich das Datum Format einstellen? Von MM/JJ + Uhrzeit hh:mm hinzu nur MM/JJ ohne Uhrzeit ?

                    8ed659f7-96b7-4b85-8b48-6757c98062d7-grafik.png

                    DJMarc75 1 Reply Last reply Reply Quote 0
                    • DJMarc75
                      DJMarc75 @Peter 1 last edited by

                      @peter-1 sagte in ioBroker – Grafana Tagesverlauf – keine Variablen in Query:

                      Wie kann ich das Datum Format einstellen?

                      Dazu musst Du ein Override erstellen:
                      Screenshot 2022-10-04 115508.png

                      Bei Standard options > Unit gibst Du folgendes ein und bestätigst mit Enter:

                      time:MM.YY.
                      
                      P F 2 Replies Last reply Reply Quote 0
                      • P
                        Peter 1 @DJMarc75 last edited by

                        @djmarc75Hat funktioniert, Danke.

                        62690108-485d-4e23-9471-f9e383171428-grafik.png

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

                          @djmarc75 + @Peter-1

                          Für 1 bis 30 Dashboards ja.... wenn ihr 375 Dashboards habt, macht ihr das nicht mehr in den Overrides...

                          grafana.ini

                          [date_formats]
                          full_date = DD.MM.YYYY
                          interval_day = DD.MM.
                          interval_hour = DD.MM. HH:mm
                          interval_minute = HH:mm
                          interval_month = MM-YYYY
                          interval_second = HH:mm:ss
                          interval_year = YYYY
                          

                          Ist beliebig anpassbar und kombinierbar.

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

                            @ftd Super Hinweis

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            808
                            Online

                            31.7k
                            Users

                            79.8k
                            Topics

                            1.3m
                            Posts

                            4
                            15
                            1530
                            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