Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Gleitender Durchschnitt mit Blockly

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Gleitender Durchschnitt mit Blockly

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

      @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 1 Reply Last reply Reply Quote 1
      • S
        schweiger2 @paul53 last edited by

        @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 Reply Quote 0
        • K
          k_b @Asgothian last edited by

          @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

          paul53 R 2 Replies Last reply Reply Quote 0
          • paul53
            paul53 @k_b last edited by

            @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

            ChrisNett 1 Reply Last reply Reply Quote 0
            • R
              Roadrunner @k_b last edited by Roadrunner

              kann entfernt werden

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

                @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

                ChrisNett 1 Reply Last reply Reply Quote 0
                • ChrisNett
                  ChrisNett @ChrisNett last edited by

                  so ?

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

                  Asgothian 1 Reply Last reply Reply Quote 0
                  • Asgothian
                    Asgothian Developer @ChrisNett last edited by 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.

                    ChrisNett 1 Reply Last reply Reply Quote 0
                    • ChrisNett
                      ChrisNett @Asgothian last edited by

                      @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

                      Asgothian 1 Reply Last reply Reply Quote 0
                      • Asgothian
                        Asgothian Developer @ChrisNett last edited by

                        @christian-sandkaulen so.

                        A.

                        ChrisNett 1 Reply Last reply Reply Quote 0
                        • ChrisNett
                          ChrisNett @Asgothian last edited by

                          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

                          madjack84 1 Reply Last reply Reply Quote 0
                          • madjack84
                            madjack84 @ChrisNett last edited by madjack84

                            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 😮

                            Bildschirmfoto 2022-05-21 um 01.54.52.png

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

                            1 Reply Last reply Reply Quote 1
                            • J
                              juergschwarz @jaenes last edited by

                              @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 Reply Quote 0
                              • C
                                chemieka @juergschwarz last edited by

                                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.

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

                                  @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

                                  1 Reply Last reply Reply Quote 0
                                  • C
                                    chemieka last edited by

                                    @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 Reply Quote 0
                                    • C
                                      chemieka @chemieka last edited by chemieka

                                      @chemieka

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

                                      Homoran paul53 2 Replies Last reply Reply Quote 0
                                      • Homoran
                                        Homoran Global Moderator Administrators @chemieka last edited by

                                        @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 1 Reply Last reply Reply Quote 0
                                        • C
                                          chemieka @Homoran last edited by

                                          @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 Reply Quote 0
                                          • paul53
                                            paul53 @chemieka last edited by 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 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            924
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly
                                            15
                                            67
                                            10567
                                            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