Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Off Topic
    4. Grafana
    5. Grafana mit influxdb2, Messungen addieren

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Grafana mit influxdb2, Messungen addieren

    This topic has been deleted. Only users with topic management privileges can see it.
    • ?
      A Former User last edited by

      Hallo Zusammen,
      ich habe eine frisch installierte InfluxDB2 und möchte Daten in Grafana darstellen.
      Konkret möchte ich die Leistung meiner 2 PV-Strings addieren. Bisher habe ich folgende Abfrage:

      from(bucket: "iobroker")
        |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
        |> filter(fn: (r) => r["_measurement"] == "modbus.0.inputRegisters.3.30773_DC_Leistung_1" or r["_measurement"] == "modbus.0.inputRegisters.3.30961_DC_Leistung_2")
        |> filter(fn: (r) => r["_field"] == "value")
        |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)
        |> yield(name: "mean")
      

      Damit klappt auch die Darstellung der jeweiligen Strings. Aber ich möchte diese jetzt als Summenwerte darstellen.
      Versucht habe ich mit group() und sum(). Aber ohne Ergebnis.

      Da bräuchte ich mal einen Tipp, wie ich das lösen könnte.

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

        @darkness_08 sagte in Grafana mit influxdb2, Messungen addieren:

        Konkret möchte ich die Leistung meiner 2 PV-Strings addieren. Bisher habe ich folgende Abfrage:

        Auf diese Weise bekommst du drei Spalten: Ausgangswert1, Ausgangswert2 und "Summe"

        from(bucket: "iobroker")
          |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
          |> filter(fn: (r) => r["_measurement"] == "modbus.0.inputRegisters.3.30773_DC_Leistung_1" or r["_measurement"] == "modbus.0.inputRegisters.3.30961_DC_Leistung_2")
          |> filter(fn: (r) => r["_field"] == "value")
          |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)
          |> pivot(rowKey: ["_time"], columnKey: ["_measurement"], valueColumn: "_value")
          |> map(fn: (r) => ({ r with Summe: r["modbus.0.inputRegisters.3.30773_DC_Leistung_1"] + r["modbus.0.inputRegisters.3.30961_DC_Leistung_2"] }))
        

        Danach könntest Du die "langen" Spaltennamen z.B. noch umbenennen mit

        |> rename(columns: {"modbus.0.inputRegisters.3.30773_DC_Leistung_1": "Leistung1", "modbus.0.inputRegisters.3.30961_DC_Leistung_2": "Leistung2"})
        
        ? 1 Reply Last reply Reply Quote 1
        • ?
          A Former User @Marc Berg last edited by

          @marc-berg
          Vielen Dank.
          Das hilft mir weiter. Jetzt muss ich mal versuchen zu verstehen, was du da gemacht hast 🙂

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

            @darkness_08 sagte in Grafana mit influxdb2, Messungen addieren:

            Jetzt muss ich mal versuchen zu verstehen, was du da gemacht hast

            Wenn du mehrere Measurements mit "or" verknüpfst, stehen die Ergebnisse zunächst untereinander, also in unterschiedlichen Zeilen. Damit kann man nicht rechnen:

            Zeit       Meas.  Value
            03:00:00Z  Wert1  11.0
            03:00:00Z  Wert2  21.0
            03:01:00Z  Wert1  12.0
            03:01:00Z  Wert2  22.0
            

            Durch die "pivot" Funktion werden die Measurement-Namen als neue Spaltennamen gesetzt und gleiche Zeiten in einer Zeile zusammenfasst:

            Zeit        Wert1    Wert2
            03:00:00Z   11.0     21.0
            03:01:00Z   12.0     22.0
            

            Mit der Map-Funktion wird nun gerechnet. Durch die Angabe von "r with Summe" werden alle bisherigen Spalten beibehalten und um die Spalte "Summe" ergänzt sowie das Ergebnis der Rechnung eingesetzt:

            Zeit        Wert1    Wert2    Summe
            03:00:00Z   11.0     21.0     32.0
            03:01:00Z   12.0     22.0     34.0
            
            ? 1 Reply Last reply Reply Quote 0
            • ?
              A Former User @Marc Berg last edited by

              @marc-berg
              Ey, nichts alles verraten 😀
              Danke für die Erläuterungen. Ich muss zugeben, das die Flux Documentation etwas zäh ist. Aber auch die Videos von @haus-automatisierung haben mir auch geholfen. Es lichtet sich aber braucht sicherlich noch etwas Zeit.

              Mein Problem war unter anderm auch, das die Werte mit nterschiedlichen Zeitstempeln gespeichert wurden. Aber jetzt pass es soweit und die ersten Daten werden in Grafana dargestellt.

              Vielen Dank nochmals für die Unterstützung

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

              Support us

              ioBroker
              Community Adapters
              Donate

              476
              Online

              31.7k
              Users

              79.7k
              Topics

              1.3m
              Posts

              2
              5
              447
              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