Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Off Topic
    4. InfluxDB
    5. influxdb2 Watt zu Wh summieren

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    influxdb2 Watt zu Wh summieren

    This topic has been deleted. Only users with topic management privileges can see it.
    • Marc Berg
      Marc Berg Most Active @haus-automatisierung last edited by Marc Berg

      @haus-automatisierung

      Ich versuche erstmal, den Inhalt zu verstehen. Klappt soweit, bis auf diese Passage:
      1df4ccbf-4c96-4207-8c90-9445b0179f0d-grafik.png
      Kannst du das bitte erklären?

      Edit: jetzt hab ich's. Mit den Testdaten wurde das dann klar.

      D 1 Reply Last reply Reply Quote 0
      • D
        Dieter_P @Marc Berg last edited by Dieter_P

        edit: gelöscht da nicht passend zum Problem

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

          @haus-automatisierung

          @haus-automatisierung sagte in influxdb2 Watt zu Wh summieren:

          Ich habe mich damit auch schon länger beschäftigt und bin irgendwie etwas ratlos, warum falsche Werte rauskommen. Hier mal meine Testreihe. Eventuell kann das von Euch jemand nachvollziehen:

          Also ich kann das absolut nachvollziehen, die berechneten 46,25Wh in der zweiten Testreihe sind offensichtlich falsch. Ich habe mal versucht, an den Eingangsdaten ein wenig herumzuändern, um auf den berechneten Wert zu kommen. Vielleicht ließe sich so herausfinden, was falsch läuft. Ist mir aber noch nicht gelungen.
          Für mich ist das ein Bug in der Integral Funktion. Wenn ich noch ein wenig Zeit finde, werde ich mal noch ein paar Testdaten erzeugen, um zu sehen, wann richtig und wann falsch gerechnet wird.

          Genutzt wird ja scheinbar diese Go-Funktion. Ließe sich daraus etwas ablesen?
          https://github.com/influxdata/flux/blob/master/stdlib/universe/integral.go#L148

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

            @marc-berg sagte in influxdb2 Watt zu Wh summieren:

            Also ich kann das absolut nachvollziehen, die berechneten 46,25Wh in der zweiten Testreihe sind offensichtlich falsch.

            Ja genau - ich hatte mit der Integralfunktion komische Werte rausbekommen und dann eine kleine Testreihe mit Werten erstellt, welche man nachvollziehen kann und das Ergebnis kennt. Ich weiß nicht wo mein Fehler liegt...

            1 Reply Last reply Reply Quote 0
            • Agrippinenser
              Agrippinenser @Dieter_P last edited by

              @dieter_p @Marc-Berg

              bei mir weichen die heutigen Ertragsdaten mit integral deutlich ab. Der Workaround von @haus-automatisierung liefert hingegen genau. Ich hoffe man kann die Werte entziffern

              d72411bd-039a-4971-bf76-b4af2f5e63c0-image.png

              D 1 Reply Last reply Reply Quote 0
              • D
                Dieter_P @Agrippinenser last edited by Dieter_P

                @agrippinenser
                kämpfe ehrlicherweise noch mit dem für mich neuen Data Explorer um mir per Export Daten in Excel zu schieben und damit manuell zu rechnen/integrieren. Da gab es doch mal nen Button grrrr

                Da ich noch im Hinterkopf habe, dasss zu letzt das Problem durch die Grenzen der Aggregation verursacht worden sind und ich bei meinem Beispiel um 0h und 24h keine Leistungen/Werte vorliegen hab, kann das vlt. der Grund sein warum die Rechnung passt.

                Insofern muß ich nochmal mit anderen Messtellen und auch Zeitbereichen "spielen" und das validieren. Bei der Suche im influxdB-Forum nach meinem Problem wo es zu erst auftrat bilde ich mir nun ein bei der Suche recht häufig Beiträge zu falschen Ergebnissen der Integralrechnung zu sehen....

                Edit:
                "Schön" der CSV-Button zum Export im Data-Explorer fehlt in der aktuellen Version wenn man nicht über HTTPS zugreift sondern nur über http. Bug oder Feature egal, hält mich gerade wieder nur extrem auf.....

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

                  @dieter_p sagte in influxdb2 Watt zu Wh summieren:

                  "Schön" der CSV-Button zum Export im Data-Explorer fehlt in der aktuellen Version wenn man nicht über HTTPS zugreift sondern nur über http. Bug oder Feature egal, hält mich gerade wieder nur extrem auf.....

                  Uhhh, das ist ja wirklich böse. Und wenn man sich die Kommentare im Influx-Forum anschaut, wird der Button wohl auch nicht wiederkommen.

                  D 1 Reply Last reply Reply Quote 0
                  • D
                    Dieter_P @Marc Berg last edited by Dieter_P

                    @marc-berg
                    Mit meinem Viertel-Wissen (Nicht Halbwissen :)) empfinde ich es auch als recht heiß, mal eben https einzuschalten. Danach könnte durch Nicht-Funktion gar keine Daten mehr in der dB eines Produktivsystems landen.

                    Muß also erstmal ein Testsystem "beflügeln" um damit weiter testen zu können und dann wohl irgendwann mal https im Produktivsystem zu aktivieren (wenn ich weiß wie es sicher funktioniert). Sorry aber nervt mich gerade extrem so eine Änderung, wenn man sich bewusst für http entschieden hat da es mir im Prinzip völlig Wumpe ist, wenn die Verbräuche der Waschmachine im Schlimmsten Fall in fremden Händen landen, also die Sicherheit des Heimnetzwerks/Firewall erstmal als ausreichend selbst bewusst so gewählt wurde...Sorry *Offtopic

                    Du hast vielleicht eine Glaskugel 🙂 Wird der Button auch bei Https verschwinden (Deine Einschätzung)? Dann kann ich mir die den Aufwand schenken und direkt andere Methoden lernen.

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

                      @dieter_p sagte in influxdb2 Watt zu Wh summieren:

                      Du hast vielleicht eine Glaskugel Wird der Button auch bei Https verschwinden (Deine Einschätzung)? Dann kann ich mir die den Aufwand schenken und direkt andere Methoden lernen.

                      Glaskugel ist gerade auf Urlaub. Als brauchbare Alternative könnte man die CLI mit dem "raw" Parameter nutzen:

                      influx query 'from(bucket: "iobroker")
                        |> range(start: -10d)
                        |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.Wetter.isRainingNow")' --raw >> test.csv
                      
                      D 1 Reply Last reply Reply Quote 1
                      • D
                        Dieter_P @Marc Berg last edited by Dieter_P

                        @marc-berg

                        Vielen Dank. Probiere das am Testsystem.

                        Edit: Mmmh, auch mit dem CSV-Export stimmt die Integralrechnung über Flux bei mir überein. Erstmal positiv.

                        1 Reply Last reply Reply Quote 0
                        • sten-tor
                          sten-tor @haus-automatisierung last edited by

                          @haus-automatisierung @Marc-Berg

                          Das ist kein bug, sondern ein feature glaube ich. Ich habe mir das mal genauer angeschaut und eine Erklärung gefunden:

                          Die Integral-Funktion ergänzt hier erst Zwischenwerte zwischen den einzelnen Zeitstempeln durch Interpolation und führt darüber dann das Integral aus.

                          Hier mal anhand Matthias' Beispiel dargestellt:

                          5ce1198c-cf52-4071-adcb-d2d41534ffe8-Unbenannt-1.png

                          Falls die Messung mit festen Zeitintervallen erfolgt, sind die 46,25 Wh tatsächlich korrekt errechnet, denn wir kennen ja die echten Werte zwischen Minute 0 und 4 nicht - müssen also sinnvollerweise einen Mittelwert annehmen.

                          Bei Messwerterhebung durch Wertänderungs-Trigger wären die 54,16 Wh richtig. Möchte man hier integral() nutzen, müsste man zu jedem Triggerzeitpunkt zwei Werte speichern: Den Wert vor Trigger und den Wert nach Trigger - sinnvollerweise mit einem kleinen Zeitversatz.

                          haus-automatisierung Marc Berg 2 Replies Last reply Reply Quote 3
                          • haus-automatisierung
                            haus-automatisierung Developer Most Active @sten-tor last edited by

                            @sten-tor Wow, vielen Dank! So ergibt das Ganze natürlich wieder Sinn. Wenn man mit den Standard ioBroker-Adaptern arbeitet um Werte zu protokollieren, dann wird es ja etwas schwierig den vorigen Wert ebenfalls zu speichern.

                            1 Reply Last reply Reply Quote 0
                            • Marc Berg
                              Marc Berg Most Active @sten-tor last edited by Marc Berg

                              @sten-tor super, das deckt sich mit den Testreihen, die ich durchgeführt habe. Wenn ich (anders, als in Matthias' Beispiel) konstante Zeitabstände in den Testdaten habe, rechnet die integral Funktion korrekt:
                              ea0d8d48-ea5c-4cd2-87f1-fdf3a96e0b52-grafik.png

                              Wenn ich allerdings einen Messwert > 0 an den "Berechnungsgrenzen" einfüge (hier die 1000):
                              8fcecfd7-f20e-4544-845d-8fbad7e8753c-grafik.png f6d1a699-c0c4-45be-b433-8230be2312f0-grafik.png
                              wird der erste Wert IMMER nur mit 50% berücksichtigt, egal, welcher Wert folgt. Und das beißt sich aus meiner Sicht mit der Interpolations-Theorie.

                              sten-tor 2 Replies Last reply Reply Quote 1
                              • sten-tor
                                sten-tor @Marc Berg last edited by sten-tor

                                @marc-berg Probier doch mal, die Parameter unit und interpolate (https://docs.influxdata.com/flux/v0.x/stdlib/universe/integral/) zu verändern:

                                • unit z.B. auf 1s und/oder
                                • interpolate auf "" setzen (sollte lt. Doku eigentlich defaultmäßig sein, aber vielleicht ist das falsch implementiert)

                                Bringt das was?

                                Marc Berg 1 Reply Last reply Reply Quote 0
                                • Marc Berg
                                  Marc Berg Most Active @sten-tor last edited by Marc Berg

                                  @sten-tor sagte in influxdb2 Watt zu Wh summieren:

                                  @marc-berg Probier doch mal, die Parameter unit und interpolate (https://docs.influxdata.com/flux/v0.x/stdlib/universe/integral/) zu verändern:

                                  • unit z.B. auf 1s und/oder
                                  • interpolate auf "" setzen (sollte lt. Doku eigentlich defaultmäßig sein, aber vielleicht ist das falsch implementiert)

                                  Bringt das was?

                                  Habe ich alles schon durch. Wenn ich die unit auf kleinere Werte setze, kommt immer ein Vielfaches raus. Also das Doppelte bei 60m>30m oder das Vierfache bei 60m-->15m, etc.
                                  Interpolate bringt bei "" das gleiche Ergebnis wie ohne Parameter, mit "linear" wilde (teils negative) Werte, die ich mir nicht herleiten kann.

                                  haus-automatisierung 1 Reply Last reply Reply Quote 0
                                  • sten-tor
                                    sten-tor @Marc Berg last edited by

                                    @marc-berg sagte in influxdb2 Watt zu Wh summieren:

                                    wird der erste Wert IMMER nur mit 50% berücksichtigt, egal, welcher Wert folgt. Und das beißt sich aus meiner Sicht mit der Interpolations-Theorie.

                                    Sicher? Wenn ich dein Beispiel mit Interpolation nachrechne, komme ich genau auf das von deiner InfluxDb angezeigte Ergebnis. Die Interpolation ist ja quasi der Mittelwert der Grenzwerte * Zeit:

                                    Min 0 - 10: (1000W+500W)/2 * 1/6h = 125 Wh
                                    Min 10 - 20: (500W+1500W)/2 * 1/6h = 166,67 Wh
                                    Min 20 - 30: (1500+0W)/2 * 1/6h = 125 Wh

                                    Summe: 416,67 Wh

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

                                      @marc-berg sagte in influxdb2 Watt zu Wh summieren:

                                      mit "linear" wilde (teils negative) Werte

                                      Ja, ist bei mir auch so. linear liefert ganz komisches Zeug. Habe ich hier noch ergänzt:

                                      https://gist.github.com/klein0r/a3391b36b60eb0bb9ed344be1705ad82

                                      sten-tor 1 Reply Last reply Reply Quote 0
                                      • sten-tor
                                        sten-tor @haus-automatisierung last edited by

                                        @haus-automatisierung

                                        Influx interpoliert in deinem Beispiel Werte für VOR dem ersten Messwert, weil dein Range 10 Minuten vor dem ersten Wert anfängt. Da die Steigung nach dem ersten Punkt positiv ist, wird der Wert vor dem ersten Punkt negativ:

                                        7946ff84-ad10-4875-87a7-cd20431dfe16-image.png

                                        Setz doch mal dein Range-Start/Stop auf den ersten bzw. letzten Timestamp der Werte - dann müsste das gleiche rauskommen.

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

                                          @sten-tor sagte in influxdb2 Watt zu Wh summieren:

                                          Setz doch mal dein Range-Start/Stop auf den ersten bzw. letzten Timestamp der Werte

                                          Okay muss ich mal testen, aber in der Praxis wähle ich ja z.B. in einem Grafana-Dashboard nie genau die Zeiträume, zu denen es auch Daten gibt.

                                          EDIT: Du hast Recht, dann sind es wieder 46,25 Wh. Also identisch zum "leeren" Parameter.

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

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          895
                                          Online

                                          31.6k
                                          Users

                                          79.4k
                                          Topics

                                          1.3m
                                          Posts

                                          5
                                          35
                                          2450
                                          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