Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. theoretische Frage zur Glättung von Messwerten

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    theoretische Frage zur Glättung von Messwerten

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

      Hallo,
      das ist eine Frage an die Methematiker und Statistiker.

      Ich möchte den Ladeverlust an der Wallbox in meine Berechnungen einbeziehen.
      Die Formel sollte lauten
      ((Diff.Wallbox)-(Diff.Auto)) / (Diff.Wallbox)
      Oder?

      Aber meine eigentliche Frage geht nach der Glättung der einzelnen Ladevorgängen. Das ist etwas sprunghaft und wohl auch von der Außentemperatur abhängig.

      Ich denke mal, eine Art Mittelwert der letzten 5 Ladungen könnte gut hinkommen und den Trend Winter- zu Sommerwerten gerecht werden.

      Nur wie glätte ich das?
      Um mir nicht immer die letzten 5 Werte merken zu müssen, habe ich folgende Idee:

      • Ich nehme zunächst erstmals einen realistischen Startwert (z.B. 10%)
      • multipliziere den mit 5
      • addiere dazu den nach einer Ladung tatsächlich ermittelten Messwert
      • und dividiere das wieder durch 6
        Das Ergebnis wäre dann der neue Startwert bei der nächsten Ladung.

      Langfristig sollte das doch grobe Ausreißer ausschließen und im Trend doch berücksichtigen, das vermutlich im Winter der Ladeverlust größer ist als im Sommer Oder habe ich da einen Denkfehler, der womöglich den Wert irgendwie aufschaukelt?

      Asgothian 1 Reply Last reply Reply Quote 0
      • Asgothian
        Asgothian Developer @docadams last edited by

        @docadams

        Prinzipiell ist das durchaus ok. Allerdings ist die vorhandene Glättung deutlich stärker als von Dir erwartet. Insbesondere wird eine singuläre Spitze deinen Wert für eine längere Zeit beeinflussen. Mit einem Aufschaukeln rechne ich da eher nicht.

        Wie gut das ganze funktioniert hängt dabei auch deutlich davon ab wie gross die Schwankungen wirklich sind.

        Für mich stellt sich die Frage warum Du dir nicht die letzten 5 Werte merken magst ? Letztendlich kannst du das in JS recht einfach als Array realisieren, welches Du in einen DP schreibst, so das du nicht mit 5 Variablen jonglieren musst.

        Alternativ kannst Du das ganze auch per Grafana realisieren. Einfach jeden Wert sichern und dann in Grafana (ich denke mit ECharts geht das auch) jeweils den Durchschnittswert der letzten 5 Messwerte darstellen.

        A.

        docadams 1 Reply Last reply Reply Quote 0
        • docadams
          docadams @Asgothian last edited by

          Vielen Dank.
          Wenn es zu stark glättet, könnte ich den Faktor 5 verkleinern, oder?

          Ich habe noch keine großen Erfahrungen mit den Ladeverlusten, weil ich zZ zu selten lade. Seit ich das überhaupt beobachte, hatte ich schon mal 15% Ladeverlust, und letztens 2%. Das finde ich als recht große Spreizung.
          Es könnte an der Außentemperatur oder auch an der Lademenge liegen. Oder wahrscheinlich an allem.
          Die 2% traten auf bei 22°C und 85% Aufladung. Deshalb möchte ich später mal noch eine Wichtung nach Lademenge einbauen. Aber erst später.
          Wie gesagt, ich kann nicht jeden Tag eine Messung machen 😉

          Warum ich es nicht in JS mit einem Array realisiere? Ganz einfach, weil ich es nicht kann. Deshalb hatte ich mir das ja mit dem Faktor Überlegt.
          Meine Grafiken realisiere ich mit FLOT und Grafana möchte ich nicht zusätzlich reinbringen, der Raspi ist jetzt schon stark am Limit.

          Asgothian 1 Reply Last reply Reply Quote 0
          • Asgothian
            Asgothian Developer @docadams last edited by Asgothian

            @docadams

            das mit dem Glätten ist so einfach nicht abzustellen. Letztendlich bleibt das Problem das eine einmal eingebrachte Störung eben nicht irgendwann "heraus" ist.

            Anbei (hinter dem Spoiler) mal etwas Excel Zahlensumpf. Ausgehend von 10% Sollverlust habe ich mal aufgetragen wie sich der Durchschnitt entwickelt wenn es einen einzelnen Event von 100% Verlust, 2 % Verlust oder 18% Verlust gibt,

            Werte	Formel	Gleit.	Werte	Formel	Gleit.	Werte	Formel	Gleit
            100	25.0	28	2	8.7	9.6	18	11.3	11.6
            10	22.5	28	10	8.9	9.6	10	11.1	11.6
            10	20.4	28	10	9.1	9.6	10	10.9	11.6
            10	18.7	28	10	9.2	9.6	10	10.8	11.6
            10	17.2	28	10	9.4	9.6	10	10.6	11.6
            10	16.0	10	10	9.5	10	10	10.5	10
            10	15.0	10	10	9.6	10	10	10.4	10
            10	14.2	10	10	9.6	10	10	10.4	10
            10	13.5	10	10	9.7	10	10	10.3	10
            10	12.9	10	10	9.7	10	10	10.3	10
            10	12.4	10	10	9.8	10	10	10.2	10
            10	12.0	10	10	9.8	10	10	10.2	10
            10	11.7	10	10	9.9	10	10	10.1	10
            10	11.4	10	10	9.9	10	10	10.1	10
            10	11.2	10	10	9.9	10	10	10.1	10
            10	11.0	10	10	9.9	10	10	10.1	10
            10	10.8	10	10	9.9	10	10	10.1	10
            10	10.7	10	10	9.9	10	10	10.1	10
            10	10.6	10	10	9.9	10	10	10.1	10
            10	10.5	10	10	10.0	10	10	10.0	10
            

            Wegen des Skriptes für den gleitenden Durchschnitt anbei eine Lösung in Blockly, mit (hoffentlich) hinreichend vielen Kommentaren das Du es nachbauen kannst. Wichtig ist das du das Skript wirklich nur mit dem ermittelten Ladeverlust am Ende des Ladens triggerst, und nicht zwischendurch, da ansonsten zu viele Werte da rein kommen.
            Screenshot 2021-05-17 at 12.19.43.png

            Die Anzahl der Messwerte für den gleitenden Durchschnitt ist in der "if" Bedingung hinterlegt. Wenn Du die 5 durch einen höheren oder niedrigeren Wert ersetzt bekommst du mehr oder weniger geglättete Werte.

            A.
            (Edit: Im Blockly war noch ein Fehler)

            paul53 1 Reply Last reply Reply Quote 0
            • paul53
              paul53 @Asgothian last edited by paul53

              @asgothian sagte: für den gleitenden Durchschnitt anbei eine Lösung in Blockly

              Alternativ:

              Bild_2021-05-17_145836.png

              Asgothian docadams 2 Replies Last reply Reply Quote 0
              • Asgothian
                Asgothian Developer @paul53 last edited by

                @paul53

                Nette Version. Ich hab wahrscheinlich eine ältere version des JS Adapters - mir fehlt der "Mittelwert der Liste" Baustein 🙂

                A.

                paul53 1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 @Asgothian last edited by paul53

                  @asgothian sagte: mir fehlt der "Mittelwert der Liste" Baustein

                  Wirklich (JS 5.1.3 unter Mathematik)?

                  Bild_2021-05-17_150039.png

                  Asgothian 1 Reply Last reply Reply Quote 0
                  • Asgothian
                    Asgothian Developer @paul53 last edited by

                    @paul53 Ah.. da hatte ich nicht geschaut. Ich hatte den bei den Listen Bausteinen gesucht. Wieder was gelernt.

                    1 Reply Last reply Reply Quote 0
                    • docadams
                      docadams @paul53 last edited by

                      Vielen Dank euch beiden.
                      Der Datenpunke JSON-Liste, ist das ein Punkt Datenpunkt mit dem Typ Werteliste und was muss ich in meinem Fall für Max und Minimalwert einsetzen?
                      Kann ich das als eine Art Spalte verstehen? Und da ich nur eine Größe (bei mir Ladeverlust) habe, reicht als Max die 1, oder gar 0?

                      paul53 1 Reply Last reply Reply Quote 0
                      • paul53
                        paul53 @docadams last edited by

                        @docadams sagte: Der Datenpunke JSON-Liste, ist das ein Punkt Datenpunkt mit dem Typ Werteliste und was muss ich in meinem Fall für Max und Minimalwert einsetzen?

                        Nein, das muss ein Datenpunkt vom Typ "Zeichenkette" sein ohne Min und Max.

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        869
                        Online

                        32.0k
                        Users

                        80.5k
                        Topics

                        1.3m
                        Posts

                        blockly
                        3
                        10
                        389
                        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