Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. 10 Werte, sortieren und nur die mittleren 6 nehmen

    NEWS

    • Amazon Alexa - ioBroker Skill läuft aus ?

    • Monatsrückblick – September 2025

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    10 Werte, sortieren und nur die mittleren 6 nehmen

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

      @guergen danke... ich suche...

      @guergen said in 10 Werte, sortieren und nur die mittleren 6 nehmen:

      Ich wollte nen Link reinpacken, aber das ist "forbidden " bei mir

      schon ok 🙂

      1 Reply Last reply Reply Quote 1
      • mickym
        mickym Most Active @michl75 last edited by mickym

        @michl75 Nimm den Median Wert - der nimmt aus einer Reihe von Werten immer den mittleren und nimmt nicht den Durchschnitt, sodass Ausreiser nach oben oder unten automatisch nicht berücksichtigt werden. Bei einer gerade Anzahl an Werten wird der Mittelwert der beiden mittleren Werte genommen, bei ungeraden Anzahl an Werten, der der wirklich in der MItte ist.

        Hier gabs auch mal ein Script - ich hab es selbst nicht ausprobiert - da ich mit NR arbeite, aber das kann man sicher auch dann ggf. auf Deine Bedürfnisse anpassen kann. Die aggregator Node benutzt zum Beispiel diese Statistic Libary - mit der man den Median (s. API) leicht ermitteln kann, in dem man ihm ein Array von Datenpunkten übergibt.

        1 Reply Last reply Reply Quote 1
        • lobomau
          lobomau @guergen last edited by

          @guergen offtopic --- versuchst du es mit dem handy? Hab da auch immer vorbidden 😞

          G 1 Reply Last reply Reply Quote 0
          • OliverIO
            OliverIO @michl75 last edited by OliverIO

            @michl75
            wie liegen die daten vor?
            wenn in javascript als array dann

            [5,3,8,1,4,9,0,2,6,7].sort((a,b)=>a-b).slice(2,8).reduce((c,el)=>c+el)/6

            Ausgangsarray

            [5,3,8,1,4,9,0,2,6,7]
            

            Ergebnis nach Sort

            [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
            

            Ergebnis nach slice (einen Teil aus einem Array extrahieren

            [2, 3, 4, 5, 6, 7]
            

            Ergebnis nach reduce (summieren des array)

            27
            

            Ergebnis nach teilen / 6

            4.5
            
            michl75 1 Reply Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators @michl75 last edited by Homoran

              @michl75
              wenn du nur den Median haben willst nimm:

              Median.png
              (unter Mathematik!)

              ansonsten gibt es unter Listen die Möglichkeit die Liste numerisch zu sortieren, vorne und hinten zu beschneiden, und unter Matthe dann wieder den Mittelwert Block

              sort_cut_avg.png

              michl75 1 Reply Last reply Reply Quote 0
              • michl75
                michl75 @Homoran last edited by

                @homoran eben gerade erst deinen Beitrag gesehen ... dass muss ich mir sofort anschauen...

                hier mein erster Versucht, ich hab sowas noch nie gemacht... also Top-Einsteiger-Variante... 🤛

                120.PNG

                Funktionieren tut das natürlich nicht wirklich ... eigentlich gar nicht da ich kein Ergebnis bekomme, da ich es nicht hinbekomme mit der Liste erzeugen und ergänzen... Katastrophen-Ausführung ist das mein Versuch...

                Na ich esse erstmal was und dann schau ich mir deine Infos genauer an...

                vielen Dank aber schon mal

                Homoran 1 Reply Last reply Reply Quote 0
                • michl75
                  michl75 @OliverIO last edited by michl75

                  @oliverio ja noch gar nicht irgendwie... ich habe mir einen Datenpunkt angelegt als Array und dann habe ich einen Datenpunkt aus MQTT der alle x Sekunden einen Wert bringt. Diesen MQTT Wert versucht ich gerade in einen "Array" zu bringen ... aber mit Blockly

                  Korrektur, da ich es mit Datenpunkt Array gar nicht hinbekommen habe, habe ich es erst mal mit einem String versucht (zusammengesetzt eben)

                  1 Reply Last reply Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators @michl75 last edited by

                    @michl75 sagte in 10 Werte, sortieren und nur die mittleren 6 nehmen:

                    Na ich esse erstmal was und dann schau ich mir deine Infos genauer an...

                    ich denke da wären immer nur 10 Werte drin?
                    Jetzt wird es komplexer.

                    Entweder die Liste auf 10 Werte begrenzen, oder die Länge der Liste auslesen und dann mehr (????) Datenpunkte oben und unten (Ausreißer??) entfernen

                    1 Reply Last reply Reply Quote 0
                    • michl75
                      michl75 last edited by michl75

                      @homoran said in 10 Werte, sortieren und nur die mittleren 6 nehmen:

                      ich denke da wären immer nur 10 Werte drin?

                      ja war mein Ziel... aber die muss ich ja erst aus dem MQTT Datenpunkt sammeln... und da fängts schon an das ich's nicht hinbekommen

                      @homoran said in 10 Werte, sortieren und nur die mittleren 6 nehmen:

                      Entweder die Liste auf 10 Werte begrenzen, oder die Länge der Liste auslesen und dann mehr (????) Datenpunkte oben und unten (Ausreißer??) entfernen

                      Ausreißer entfernen ... darum wollte ich eben 10 mal sammeln, dann sortieren... die ersten beiden weg und die letzten beiden auch --- Rest dann 6 Stück und damit den Durchschnitt machen

                      Homoran OliverIO paul53 3 Replies Last reply Reply Quote 0
                      • Homoran
                        Homoran Global Moderator Administrators @michl75 last edited by Homoran

                        @michl75 auf die Schnelle mit der heißen Nadel:
                        Listenspielerei.png

                        ist es das was ihr suchet?

                        Hab hier mal 20 als Listenlänge vorgegeben und der Wert wird auch erst berechnet wenn 21 Mwssungen vorliegen

                        1 Reply Last reply Reply Quote 0
                        • OliverIO
                          OliverIO @michl75 last edited by OliverIO

                          @michl75

                          erzähle mal doch was so dein gesamtziel ist. bisher hast du nur einen kleinen ausschnitt erzählt. evtl bist du ja schon vom ansatz falsch unterwegs und es gibt einen einfacheren weg.
                          was für daten möchtest du den sammeln?
                          warum willst du die obersten und untersten abschneiden/webschmeißen?
                          und aus dem Rest den durchschnitt berechnen.
                          Wenn wir den Gesamtkontext wissen kann man besser helfen.
                          du hast halt eine detailfrage gestellt und hast eine detailantwort erhalten.
                          aus deinen weiteren posts entnehme ich aber, das das gesamtkonstrukt noch nicht klar ist.

                          Homoran 1 Reply Last reply Reply Quote 0
                          • Homoran
                            Homoran Global Moderator Administrators @OliverIO last edited by Homoran

                            @oliverio soweit ich das aus anderen Threads zusammenreime hat er eine (gewöhnungsbedürftige) pH-Elektrode im Teich und möchte diese Kurve glätten.

                            @oliverio sagte in 10 Werte, sortieren und nur die mittleren 6 nehmen:

                            warum willst du die obersten und untersten abschneiden/webschmeißen?

                            Ausreißerbereinigung

                            OliverIO 1 Reply Last reply Reply Quote 0
                            • OliverIO
                              OliverIO @Homoran last edited by OliverIO

                              @homoran

                              tsts,
                              selbst wenn ich es weiß lass ich solche sachen meinen kunden beantworten (@michl75 🙂 )
                              das schafft dann ein gemeinsames verständnis und commitment
                              aber dann kann er es ja kurz bestätigen das das so ist.
                              ich merk mir nicht immer die namen zu den threads wer da so fragen stellt

                              Homoran 1 Reply Last reply Reply Quote 0
                              • Homoran
                                Homoran Global Moderator Administrators @OliverIO last edited by

                                @oliverio na dann bin ich mal raus

                                OliverIO 1 Reply Last reply Reply Quote 0
                                • OliverIO
                                  OliverIO @Homoran last edited by

                                  @homoran

                                  halt halt, wenn er blockly will, bin ich raus 🙂

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

                                    @michl75 sagte: 10 mal sammeln, dann sortieren... die ersten beiden weg und die letzten beiden auch --- Rest dann 6 Stück und damit den Durchschnitt machen

                                    Vorschlag:

                                    Bild_2021-09-03_191253.png

                                    Nimmt immer die 10 letzten Werte (gleitend), sortiert diese und lässt die Ausreißer weg.

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

                                      Ich melde mich gleich ... ich muss essen kosten ... Kinder....
                                      Schaue es mir an so schnell ich kann ... schon mal Danke!

                                      EDIT
                                      Frau nicht zuhause, ich bin heute der Herr im Haus 😂

                                      Also .. ja richtig, ich versuche die Werte des pH-Sensors weiter zu "glätten" .. bisher nehme ich 10 Werte und dann geteilt durch 10. Aber dieser Sensor bringt mich noch ins Grab. Daher dieser Versuch, wie er auch oft in so diversen Anleitungen geschrieben ist.

                                      @paul53 das werde ich eben noch probieren sofern mich Kinder nicht weiter auf Trapp halten ... Ansonsten morgen Früh ...

                                      Nochmals danke an alle!

                                      1 Reply Last reply Reply Quote 0
                                      • G
                                        guergen @lobomau last edited by

                                        @lobomau sagte in 10 Werte, sortieren und nur die mittleren 6 nehmen:

                                        @guergen offtopic --- versuchst du es mit dem handy? Hab da auch immer vorbidden 😞

                                        Nein am Desktop

                                        1 Reply Last reply Reply Quote 0
                                        • michl75
                                          michl75 last edited by

                                          @paul53 said in 10 Werte, sortieren und nur die mittleren 6 nehmen:

                                          Nimmt immer die 10 letzten Werte (gleitend), sortiert diese und lässt die Ausreißer weg.

                                          So habe das eben noch ausprobiert. ....

                                          Frage dazu:
                                          Muss man die Werte nicht in einem Datenpunkt speichern ? Also Werte 1...2...3...4 ... weil ja jedes mal wenn Trigger für den Sensor ausgelöst wird eine "neue Instanz" ausgelöst wird und die Daten im einer Variable weg sind bzw neu gesetzt werden?

                                          und

                                          Wie kann ich die Liste leeren, wenn ich den Mittelwert errechnet habe und von vorne anfangen möchte?

                                          Und das ist derzeit das Ergebnis:
                                          121.PNG

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

                                            @michl75 sagte: Wie kann ich die Liste leeren, wenn ich den Mittelwert errechnet habe und von vorne anfangen möchte?

                                            Du möchtest den Mittelwert nicht gleitend ermitteln, sondern wenn 10 Werte eingelesen wurden, von vorn beginnen?

                                            Bild_2021-09-03_213025.png

                                            In dem Fall braucht man die Listenwerte nicht in einem Datenpunkt speichern, denn sie bleiben bis zum nächsten Skriptstart erhalten.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            1.1k
                                            Online

                                            32.3k
                                            Users

                                            81.1k
                                            Topics

                                            1.3m
                                            Posts

                                            7
                                            25
                                            1630
                                            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