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 last edited by

      Hallo zusammen,

      ich stehe gerade vor einem Problem wo ich nicht weiß wie ich es lösen soll/kann... vielleicht könnt Ihr mir da weiterhelfen?

      Ich bekomme jede Minute einen Wert, diesen Wert möchte ich speichern und der Größe nach sortieren und dann die 2 höchsten in der Tabelle und die 2 niedrigensten löschen bzw. nur die 6 Mittleren Werte verwenden und daraus einen Durchschnitt machen.

      Wie kann ich das am besten anstellen?

      Viele Grüß m.

      G mickym OliverIO Homoran 4 Replies Last reply Reply Quote 0
      • G
        guergen @michl75 last edited by

        @michl75 such mal nach

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

          @guergen nach ?

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

            @michl75 gleitender-durchschnitt-mit-blockly

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

            michl75 lobomau 2 Replies Last reply Reply Quote 0
            • 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
                                            • 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.0k
                                            Topics

                                            1.3m
                                            Posts

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