Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Off Topic
    4. InfluxDB
    5. Influxdb: Differenz zwischen measurements

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Influxdb: Differenz zwischen measurements

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

      Hi,
      ich habe zwei Stromzähler (Haushaltsstrom und Wärmepumpenstrom) und bekomme alle 30 Sekunden den aktuellen Stromverbrauch per MQTT am iobroker und speichere das dann in einer Influxdb. Das sieht dann so aus (beim anderen Zähler heißt es dann "...chn1..."):

      table	_measurement	_field	_value	_start	_stop	_time
      0	mqtt.0.vzlogger.data.chn0.agg	value	-1770.55018	2024-01-09T10:08:17.945Z	2024-01-09T11:08:17.945Z	2024-01-09T10:08:50.000Z
      

      Das Problem ist, dass der Zähler "chn1" den gesamten Stromverbrauch anzeigt (also WP plus HH). Wenn ich also wissen möchte, wieviel meine Wärmepumpe verbraucht, muss ich die Differenz aus Werten von zwei Measurements (mqtt.0.vzlogger.data.chn1.agg und mqtt.0.vzlogger.data.chn0.agg) berechnen. Wie mache ich das? Die "_time"-Werte sind ja nicht genau die gleichen. Evtl. kann ich da mit Aggregationen arbeiten, ein Wert pro x Minuten würde mir ja reichen (besser 30 Sekunden, dann haben alle den gleichen Detailgrad).
      Besten Dank!

      haus-automatisierung 1 Reply Last reply Reply Quote 0
      • haus-automatisierung
        haus-automatisierung Developer Most Active @nicknick last edited by

        @nicknick sagte in Influxdb: Differenz zwischen measurements:

        Die "_time"-Werte sind ja nicht genau die gleichen.

        Über aggregateWindow und dann eine Pivot-Funktion wäre am einfachsten. Dann hast Du beide Werte in einer Tabelle und kannst damit rechnen.

        N 1 Reply Last reply Reply Quote 0
        • N
          nicknick @haus-automatisierung last edited by

          @haus-automatisierung
          Danke Dir! Kannst Du das mit der Pivot-Funktion etwas erläutern? Wie kann ich das am besten als neues Measurement speichern?

          haus-automatisierung 1 Reply Last reply Reply Quote 0
          • haus-automatisierung
            haus-automatisierung Developer Most Active @nicknick last edited by

            @nicknick sagte in Influxdb: Differenz zwischen measurements:

            Kannst Du das mit der Pivot-Funktion etwas erläutern

            Jau:

            • https://www.youtube.com/watch?v=nhDKa72QoNQ
            • https://www.youtube.com/watch?v=rTLQ15Fy85U
            N 1 Reply Last reply Reply Quote 1
            • N
              nicknick @haus-automatisierung last edited by

              Falls sich jemand dieselbe Frage stellt, ich fand es einfacher, Blockly-Skripte zu schreiben als das in der InfluxDB zu machen. Ich habe also einen neuen Zustand in den IOBroker-Objekten erzeugt, der alle 30 Sekunden aus den bestehenden MQTT-Daten gefütterrt wird. Das kann ich ja dann in der DB verwenden.

              haus-automatisierung 1 Reply Last reply Reply Quote 0
              • haus-automatisierung
                haus-automatisierung Developer Most Active @nicknick last edited by

                @nicknick Das funktioniert für die Zukunft - aber wenn man jetzt schon Monate oder Jahre die Daten gesammelt hat (und sie nutzen möchte), hilft das ja recht wenig.

                M 1 Reply Last reply Reply Quote 0
                • M
                  Marc9025 @haus-automatisierung last edited by

                  @haus-automatisierung
                  Bis jetzt habe ich dafür immer die Funktion spread benutz und bin damit auch ganz zufrieden.
                  Aber jetzt sind Probleme aufgetaucht wenn ich neue Datenpunkte aufnehme und dann in die Vergangenheit gehe(wo es den Datenpunkt noch nicht gibt) kommt logischerweise ein Fehler im Log. Kann man das irgendwie umgehen ?

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

                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  615
                  Online

                  31.7k
                  Users

                  79.7k
                  Topics

                  1.3m
                  Posts

                  3
                  7
                  296
                  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