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.
    • 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
                                        • 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

                                          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