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.
    • 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
                                      • michl75
                                        michl75 @paul53 last edited by

                                        @paul53 Super... funktioniert nun viel besser als wenn ich "nur" 10 Werte sammel und diese dann auch durch 10 Teile, weil einfach diese Ausreißer da sind. Mit dieser Version habe ich deutlich bessere Werte ....

                                        Vielen Dank!

                                        Hab's noch biss angepasst, das ich auch Zwischenstände erhalte...
                                        130.PNG

                                        Werde es zur "Dokumentation des pH-Sensors" auch hinzufügen....

                                        Nochmals vielen Dank für die Unterstützung!

                                        Viele Grüße
                                        M.

                                        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

                                        876
                                        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