Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Gleitender Durchschnitt mit Blockly

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.8k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Gleitender Durchschnitt mit Blockly

Scheduled Pinned Locked Moved Blockly
blockly
67 Posts 15 Posters 15.0k Views 15 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • paul53P paul53

    @schweiger2 sagte: nur eine Schutzschaltung, wenn das Schließen mal vergessen wurde; das Öffnen möchte ich manuell selbst bestimmen.

    Dann mache es so (ohne Probleme mit undefined) :

    Bild_2021-07-19_152317.png

    S Online
    S Online
    schweiger2
    wrote on last edited by
    #24

    @paul53

    es ist so einfach - wenn man den Wald vor lauter Bäumen sehen würde.

    Danke vielmals für Deine Hilfe.

    schweiger2

    1 Reply Last reply
    0
    • AsgothianA Asgothian

      @marius-kossinna sagte in Gleitender Durchschnitt mit Blockly:

      Ich glätte damit meinen PH-Messwert von Pool, der sprang mir einfach zu sehr auf und ab.
      Ist etwas aufwändiger, aber nachvollziehbar

      Etwas aufwändiger ? Das ist ein Understatement.

      • Warum nutzt du überhaupt eine Liste wenn du sowieso jede variable einzeln hältst. Du kannst doch beim Umschreiben auch gleich addieren
      • 10 Variablen von Hand "schieben" ? meh.

      Wenn schon Schieberegister, dann wenigstens so:

      Screenshot 2021-07-12 at 16.02.09.png

      A.

      Korrektur: Fehler im screenshot.

      K Offline
      K Offline
      k_b
      wrote on last edited by
      #25

      @asgothian
      Ich hatte vor Dein Script zu nutzen und bin gleich zu Beginn daran gescheitert, dass mein JS-Adapter (5.1.3) kein Blockly-Element enthält, mit dem ich ein Element der Liste löschen könnte ("remove"/"first"):
      d5eae08c-469c-4d22-a21d-f95db30b69e2-grafik.png
      Mit dem was mir der Menüpunkt Liste anbietet, kann ich nur überschreiben:
      afd3bcd8-0da6-4de0-a3c8-bcafd2686458-grafik.png
      Das könnte ich funktional zwar durch das von vorne fortschreitende Überschreiben mit Nullen "abfangen", führt aber zu einer beständig steigenden Länge der Liste ...
      Hast Du einen Tipp zu meinem Problem?
      Schon mal danke

      paul53P R 2 Replies Last reply
      0
      • K k_b

        @asgothian
        Ich hatte vor Dein Script zu nutzen und bin gleich zu Beginn daran gescheitert, dass mein JS-Adapter (5.1.3) kein Blockly-Element enthält, mit dem ich ein Element der Liste löschen könnte ("remove"/"first"):
        d5eae08c-469c-4d22-a21d-f95db30b69e2-grafik.png
        Mit dem was mir der Menüpunkt Liste anbietet, kann ich nur überschreiben:
        afd3bcd8-0da6-4de0-a3c8-bcafd2686458-grafik.png
        Das könnte ich funktional zwar durch das von vorne fortschreitende Überschreiben mit Nullen "abfangen", führt aber zu einer beständig steigenden Länge der Liste ...
        Hast Du einen Tipp zu meinem Problem?
        Schon mal danke

        paul53P Offline
        paul53P Offline
        paul53
        wrote on last edited by
        #26

        @k_b sagte: kein Blockly-Element enthält, mit dem ich ein Element der Liste löschen könnte ("remove"/"first"):

        Bild_2021-07-24_173201.png

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        ChrisNettC 1 Reply Last reply
        0
        • K k_b

          @asgothian
          Ich hatte vor Dein Script zu nutzen und bin gleich zu Beginn daran gescheitert, dass mein JS-Adapter (5.1.3) kein Blockly-Element enthält, mit dem ich ein Element der Liste löschen könnte ("remove"/"first"):
          d5eae08c-469c-4d22-a21d-f95db30b69e2-grafik.png
          Mit dem was mir der Menüpunkt Liste anbietet, kann ich nur überschreiben:
          afd3bcd8-0da6-4de0-a3c8-bcafd2686458-grafik.png
          Das könnte ich funktional zwar durch das von vorne fortschreitende Überschreiben mit Nullen "abfangen", führt aber zu einer beständig steigenden Länge der Liste ...
          Hast Du einen Tipp zu meinem Problem?
          Schon mal danke

          R Offline
          R Offline
          Roadrunner
          wrote on last edited by Roadrunner
          #27

          kann entfernt werden

          1 Reply Last reply
          0
          • paul53P paul53

            @k_b sagte: kein Blockly-Element enthält, mit dem ich ein Element der Liste löschen könnte ("remove"/"first"):

            Bild_2021-07-24_173201.png

            ChrisNettC Offline
            ChrisNettC Offline
            ChrisNett
            wrote on last edited by
            #28

            @paul53 sagte in Gleitender Durchschnitt mit Blockly:

            @k_b sagte: kein Blockly-Element enthält, mit dem ich ein Element der Liste löschen könnte ("remove"/"first"):

            Bild_2021-07-24_173201.png

            hi,

            ich stehe noch auf dem schlauch... welches Element ist das ?

            f21b0603-6729-455d-837e-1f06b7d902f7-image.png

            das finde ich gar nicht

            20f40aaa-f8bf-4963-baf1-b54b9b604b48-image.png

            danke euch

            ChrisNettC 1 Reply Last reply
            0
            • ChrisNettC ChrisNett

              @paul53 sagte in Gleitender Durchschnitt mit Blockly:

              @k_b sagte: kein Blockly-Element enthält, mit dem ich ein Element der Liste löschen könnte ("remove"/"first"):

              Bild_2021-07-24_173201.png

              hi,

              ich stehe noch auf dem schlauch... welches Element ist das ?

              f21b0603-6729-455d-837e-1f06b7d902f7-image.png

              das finde ich gar nicht

              20f40aaa-f8bf-4963-baf1-b54b9b604b48-image.png

              danke euch

              ChrisNettC Offline
              ChrisNettC Offline
              ChrisNett
              wrote on last edited by
              #29

              so ?

              64f12b05-0c36-4ee5-976a-861568d04568-image.png

              AsgothianA 1 Reply Last reply
              0
              • ChrisNettC ChrisNett

                so ?

                64f12b05-0c36-4ee5-976a-861568d04568-image.png

                AsgothianA Offline
                AsgothianA Offline
                Asgothian
                Developer
                wrote on last edited by Asgothian
                #30

                @christian-sandkaulen fast.

                • Nimm das setze Liste innerhalb des "mache" raus.
                • Stell das "nimm" in in der Liste nimm das erste Element auf "entferne". Sobald du das tust wird sich die Form des Bausteins anpassen.
                • Ändere das "wurde geändert" auf "wurde aktualisiert"
                • ersetze die 10 in summe über die Liste / 10 durch länge von Liste

                A.

                ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                ChrisNettC 1 Reply Last reply
                0
                • AsgothianA Asgothian

                  @christian-sandkaulen fast.

                  • Nimm das setze Liste innerhalb des "mache" raus.
                  • Stell das "nimm" in in der Liste nimm das erste Element auf "entferne". Sobald du das tust wird sich die Form des Bausteins anpassen.
                  • Ändere das "wurde geändert" auf "wurde aktualisiert"
                  • ersetze die 10 in summe über die Liste / 10 durch länge von Liste

                  A.

                  ChrisNettC Offline
                  ChrisNettC Offline
                  ChrisNett
                  wrote on last edited by
                  #31

                  @asgothian sagte in Gleitender Durchschnitt mit Blockly:

                  @christian-sandkaulen fast.

                  • Nimm das setze Liste innerhalb des "mache" raus.
                  • Stell das "nimm" in in der Liste nimm das erste Element auf "entferne". Sobald du das tust wird sich die Form des Bausteins anpassen.
                  • Ändere das "wurde geändert" auf "wurde aktualisiert"
                  • ersetze die 10 in summe über die Liste / 10 durch länge von Liste

                  A.

                  so?
                  825a754a-afc5-4fdc-b5d6-02d1c5c7a2a6-image.png

                  AsgothianA 1 Reply Last reply
                  0
                  • ChrisNettC ChrisNett

                    @asgothian sagte in Gleitender Durchschnitt mit Blockly:

                    @christian-sandkaulen fast.

                    • Nimm das setze Liste innerhalb des "mache" raus.
                    • Stell das "nimm" in in der Liste nimm das erste Element auf "entferne". Sobald du das tust wird sich die Form des Bausteins anpassen.
                    • Ändere das "wurde geändert" auf "wurde aktualisiert"
                    • ersetze die 10 in summe über die Liste / 10 durch länge von Liste

                    A.

                    so?
                    825a754a-afc5-4fdc-b5d6-02d1c5c7a2a6-image.png

                    AsgothianA Offline
                    AsgothianA Offline
                    Asgothian
                    Developer
                    wrote on last edited by
                    #32

                    @christian-sandkaulen so.

                    A.

                    ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                    "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                    ChrisNettC 1 Reply Last reply
                    0
                    • AsgothianA Asgothian

                      @christian-sandkaulen so.

                      A.

                      ChrisNettC Offline
                      ChrisNettC Offline
                      ChrisNett
                      wrote on last edited by
                      #33

                      Danke, das funktioniert. Und ich habe nun meine Leistung gemessen über den Ferraris Zähler geglättet das entspricht mehr Realität als zwei Messwerte

                      madjack84M 1 Reply Last reply
                      0
                      • ChrisNettC ChrisNett

                        Danke, das funktioniert. Und ich habe nun meine Leistung gemessen über den Ferraris Zähler geglättet das entspricht mehr Realität als zwei Messwerte

                        madjack84M Offline
                        madjack84M Offline
                        madjack84
                        wrote on last edited by madjack84
                        #34

                        Danke für die Tips.... leider scheitere ich irgendwo. Kann mir das bitte jmd erklären? ich hoffe ich liege zu brutal auf der Leitung :O

                        Bildschirmfoto 2022-05-21 um 01.54.52.png

                        .... Wert ist ein Text :O.... i see

                        nuc i3, Proxmox, raspimatic (PI3), 15 shellies, shelly 4pro/25/RGB, wled sonoff, 7x xiaomi sensoren, 4xEchos, 4 Tasmota Steckdosen, motionEye, nspanel, Ring, hoymiles usw

                        1 Reply Last reply
                        1
                        • J jaenes

                          Servus Leute,

                          ich habe einen analogen Sensor der über ESP-Easy Mega alle 60 Sekunden einen Wert schickt. Jetzt möchte ich diesen Wert glätten. Also wäre die richtige Methode gleitender Mittelwert/Durchschnitt. Wie löse ich das mit Blockly? Irgendwie mit Listen müsste das gehen oder ?

                          Der analoge wert soll nur dann in den gleitenden Mittelwert einbezogen werden wenn eine Bedingung erfüllt ist......

                          J Offline
                          J Offline
                          juergschwarz
                          wrote on last edited by
                          #35

                          @jaenes

                          Falls das noch interessiert - ich habe einen gleitenden Durchschnitt für meine Solaranlage umgesetzt. Siehe Printscreen.

                          In diesem Script wird eine Liste mit 12 Elementen erzeugt. Eine Schleife liest nun alle 5 Sekunden die aktuelle Leistung von der PV-Anlage (pv-power) ein. (5s * 12 = 1 Min.)

                          Der aktuelle gleitende Durchschnitt steht hier in der lokalen Variablen 1-min-avg.

                          Das Script kann für jede andere Zeit angepasst werden. Z.B. einen 5-Min Schnitt mit einer Liste mit 60 Elementen entsprechend.

                          Bildschirmfoto vom 2022-10-08 19-42-42.png

                          C 1 Reply Last reply
                          0
                          • J juergschwarz

                            @jaenes

                            Falls das noch interessiert - ich habe einen gleitenden Durchschnitt für meine Solaranlage umgesetzt. Siehe Printscreen.

                            In diesem Script wird eine Liste mit 12 Elementen erzeugt. Eine Schleife liest nun alle 5 Sekunden die aktuelle Leistung von der PV-Anlage (pv-power) ein. (5s * 12 = 1 Min.)

                            Der aktuelle gleitende Durchschnitt steht hier in der lokalen Variablen 1-min-avg.

                            Das Script kann für jede andere Zeit angepasst werden. Z.B. einen 5-Min Schnitt mit einer Liste mit 60 Elementen entsprechend.

                            Bildschirmfoto vom 2022-10-08 19-42-42.png

                            C Offline
                            C Offline
                            chemieka
                            wrote on last edited by
                            #36

                            Ich finde die Idee des gleitenden Mittelwerts toll.
                            Leider funktioniert die Variante unten nicht. Habe dabei von euch abgekupfert.
                            Möchte den gleitenden Mittelwert aus 24h also 24 Werten.
                            Aber irgendwie kommt dabei eher der letzte Wert raus.1.jpg
                            Kann den Fehler nicht erkennen. Help please.

                            paul53P 1 Reply Last reply
                            0
                            • C chemieka

                              Ich finde die Idee des gleitenden Mittelwerts toll.
                              Leider funktioniert die Variante unten nicht. Habe dabei von euch abgekupfert.
                              Möchte den gleitenden Mittelwert aus 24h also 24 Werten.
                              Aber irgendwie kommt dabei eher der letzte Wert raus.1.jpg
                              Kann den Fehler nicht erkennen. Help please.

                              paul53P Offline
                              paul53P Offline
                              paul53
                              wrote on last edited by paul53
                              #37

                              @chemieka sagte: Kann den Fehler nicht erkennen.

                              Damit die Liste einen Skriptstart übersteht, muss die Liste in einem Datenpunkt (Typ "array") gespeichert werden, der bei Skriptstart eingelesen wird.

                              Bild_2023-01-11_194228006.png

                              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                              1 Reply Last reply
                              0
                              • C Offline
                                C Offline
                                chemieka
                                wrote on last edited by
                                #38

                                @paul53
                                Ich habe das jetzt 1 zu 1 nachgebaut wobei MittelTempMonat mal die Variable zu der Liste sein soll. Es spielt keine Rolle ob ich Zeichenkette oder Liste nehme. Wenn ich nur eine leere Liste erzeuge gehts.

                                Leider Fehler 21:11:00.013 error javascript.0 (30115) script.js.javascript.MittelTemp: TypeError: Liste.push is not a function
                                21:11:00.014 error javascript.0 (30115) at Object.<anonymous> (script.js.javascript.MittelTemp:19:9)
                                21:12:00.033 error javascript.0 (30115) script.js.javascript.MittelTemp: TypeError: Liste.push is not a function
                                21:12:00.034 error javascript.0 (30115) at Object.<anonymous> (script.js.javascript.MittelTemp:19:9)

                                3.jpg

                                C 1 Reply Last reply
                                0
                                • C chemieka

                                  @paul53
                                  Ich habe das jetzt 1 zu 1 nachgebaut wobei MittelTempMonat mal die Variable zu der Liste sein soll. Es spielt keine Rolle ob ich Zeichenkette oder Liste nehme. Wenn ich nur eine leere Liste erzeuge gehts.

                                  Leider Fehler 21:11:00.013 error javascript.0 (30115) script.js.javascript.MittelTemp: TypeError: Liste.push is not a function
                                  21:11:00.014 error javascript.0 (30115) at Object.<anonymous> (script.js.javascript.MittelTemp:19:9)
                                  21:12:00.033 error javascript.0 (30115) script.js.javascript.MittelTemp: TypeError: Liste.push is not a function
                                  21:12:00.034 error javascript.0 (30115) at Object.<anonymous> (script.js.javascript.MittelTemp:19:9)

                                  3.jpg

                                  C Offline
                                  C Offline
                                  chemieka
                                  wrote on last edited by chemieka
                                  #39

                                  @chemieka

                                  Wenn ich es so mache klappt das mit der Liste aber bei der Mittelwertsberechnung kommt dann kein wert:
                                  4.jpg
                                  5.jpg

                                  HomoranH paul53P 2 Replies Last reply
                                  0
                                  • C chemieka

                                    @chemieka

                                    Wenn ich es so mache klappt das mit der Liste aber bei der Mittelwertsberechnung kommt dann kein wert:
                                    4.jpg
                                    5.jpg

                                    HomoranH Do not disturb
                                    HomoranH Do not disturb
                                    Homoran
                                    Global Moderator Administrators
                                    wrote on last edited by
                                    #40

                                    @chemieka sagte in Gleitender Durchschnitt mit Blockly:

                                    kommt dann kein wert:

                                    doch, der ist aber keine Zahl!

                                    sind alle Werte der Liste Zahlen?
                                    wo kommen diese her?
                                    liefert der Sensor die Werte als Zahl?

                                    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                    C 1 Reply Last reply
                                    0
                                    • HomoranH Homoran

                                      @chemieka sagte in Gleitender Durchschnitt mit Blockly:

                                      kommt dann kein wert:

                                      doch, der ist aber keine Zahl!

                                      sind alle Werte der Liste Zahlen?
                                      wo kommen diese her?
                                      liefert der Sensor die Werte als Zahl?

                                      C Offline
                                      C Offline
                                      chemieka
                                      wrote on last edited by
                                      #41

                                      @homoran
                                      Die werte komme auf dem Blockyscript selber und kommen von einem Sensor.
                                      Ja das Problem ist genau das, dass es das falsche Format.
                                      Wenn ich mit einer leeren Liste anfange dann gehts. Jetzt will ich mir aber die Werte zur Sicherheit zwischenspeichern in einer externen Variable (MittelTempMonat). Das gelingt mir nicht so, dass ich die Daten wieder nehmen könnte und dann weiterschreiben.

                                      1 Reply Last reply
                                      0
                                      • C chemieka

                                        @chemieka

                                        Wenn ich es so mache klappt das mit der Liste aber bei der Mittelwertsberechnung kommt dann kein wert:
                                        4.jpg
                                        5.jpg

                                        paul53P Offline
                                        paul53P Offline
                                        paul53
                                        wrote on last edited by paul53
                                        #42

                                        @chemieka sagte: bei der Mittelwertsberechnung kommt dann kein wert:

                                        Lass die Konvertierung "nach String" weg.

                                        @homoran sagte in Gleitender Durchschnitt mit Blockly:

                                        liefert der Sensor die Werte als Zahl?

                                        "ACTUAL_TEMPERATURE" liefert Zahlen.

                                        @chemieka sagte in Gleitender Durchschnitt mit Blockly:

                                        TypeError: Liste.push is not a function

                                        Dann steht im Listen-Datenpunkt etwas, was dort nicht rein gehört (keine Liste ist). Lösche den Wert komplett oder trage [] ein. "MittelTempMonat" ist vom Typ "array"?

                                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                        C 1 Reply Last reply
                                        0
                                        • paul53P paul53

                                          @chemieka sagte: bei der Mittelwertsberechnung kommt dann kein wert:

                                          Lass die Konvertierung "nach String" weg.

                                          @homoran sagte in Gleitender Durchschnitt mit Blockly:

                                          liefert der Sensor die Werte als Zahl?

                                          "ACTUAL_TEMPERATURE" liefert Zahlen.

                                          @chemieka sagte in Gleitender Durchschnitt mit Blockly:

                                          TypeError: Liste.push is not a function

                                          Dann steht im Listen-Datenpunkt etwas, was dort nicht rein gehört (keine Liste ist). Lösche den Wert komplett oder trage [] ein. "MittelTempMonat" ist vom Typ "array"?

                                          C Offline
                                          C Offline
                                          chemieka
                                          wrote on last edited by chemieka
                                          #43

                                          @paul53
                                          leider keine Änderung

                                          6.jpg
                                          7.jpg

                                          Bei mir ist es in Deutsch und Array ist Zeichenkette? Das habe ich so.

                                          paul53P C 2 Replies Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          629

                                          Online

                                          32.6k

                                          Users

                                          82.3k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe