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

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

    @paul53

    Hallo,

    ich habe mir nach den angegebenen Hinweisen in diesen Thread die Steuerung gebaut, doch ich erhalte Fehlermeldungen und das Skript funktioniert nicht. Ich freue mich, wenn ihr einmal auf das Skript sehen könnt. Wo liegt der Hund begraben ?

    dc0cfb1a-587e-4ef1-95f7-f68995d48096-image.png

    Hier die Fehlermeldungen:

    e4589a19-b741-4679-822d-0d15752cddac-image.png

    Was mache ich falsch ?

    Beste Grüße
    schweiger2

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

    @schweiger2 sagte: Was mache ich falsch ?

    Verwende für "WIND_SPEED" und "ILLUMINATION" jeweils nur einen Trigger und arbeite die Befehle dort in der richtigen Reihenfolge ab.

    Für den Teil "windig":

    Bild_2021-07-19_134446.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
    • S schweiger2

      @paul53

      Hallo,

      ich habe mir nach den angegebenen Hinweisen in diesen Thread die Steuerung gebaut, doch ich erhalte Fehlermeldungen und das Skript funktioniert nicht. Ich freue mich, wenn ihr einmal auf das Skript sehen könnt. Wo liegt der Hund begraben ?

      dc0cfb1a-587e-4ef1-95f7-f68995d48096-image.png

      Hier die Fehlermeldungen:

      e4589a19-b741-4679-822d-0d15752cddac-image.png

      Was mache ich falsch ?

      Beste Grüße
      schweiger2

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

      @schweiger2 sagte: ich erhalte Fehlermeldungen

      Anstelle von "setze für Letzte ein" selektiere "füge als Letzte ein":

      Bild_2021-07-19_131423.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

      S 1 Reply Last reply
      0
      • paul53P paul53

        @schweiger2 sagte: ich erhalte Fehlermeldungen

        Anstelle von "setze für Letzte ein" selektiere "füge als Letzte ein":

        Bild_2021-07-19_131423.png

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

        @paul53

        Ich habe das jetzt so gebaut (letzten 2 Zeilen unten nur als Kennzeichen für den Beginn des anderen Blocks):

        d96193a4-265a-4e83-8046-392714c8e2f0-image.png

        Jetzt warte ich, ob neue Fehler im Log auftreten. Die Funktion - darum geht es ja eigentlich - des Skripts sehe ich mir im Nachhinein an, wenn keine Syntax-Fehler mehr aftauchen.

        Besten Dank erst einmal.

        paul53P 1 Reply Last reply
        0
        • S schweiger2

          @paul53

          Ich habe das jetzt so gebaut (letzten 2 Zeilen unten nur als Kennzeichen für den Beginn des anderen Blocks):

          d96193a4-265a-4e83-8046-392714c8e2f0-image.png

          Jetzt warte ich, ob neue Fehler im Log auftreten. Die Funktion - darum geht es ja eigentlich - des Skripts sehe ich mir im Nachhinein an, wenn keine Syntax-Fehler mehr aftauchen.

          Besten Dank erst einmal.

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

          @schweiger2 sagte: Ich habe das jetzt so gebaut

          Den Wert, den der Trigger-Datenpunkt übergibt, magst Du wohl nicht?

          Blockly_DP_Props.JPG

          Zur Funktion "markise": Wenn level einmal auf 100 gesetzt wurde, bleibt er auf 100. Nach Skriptstart ist level erst einmal undefined, womit "steuere" meckern wird.

          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

          S 1 Reply Last reply
          0
          • paul53P paul53

            @schweiger2 sagte: Ich habe das jetzt so gebaut

            Den Wert, den der Trigger-Datenpunkt übergibt, magst Du wohl nicht?

            Blockly_DP_Props.JPG

            Zur Funktion "markise": Wenn level einmal auf 100 gesetzt wurde, bleibt er auf 100. Nach Skriptstart ist level erst einmal undefined, womit "steuere" meckern wird.

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

            @paul53

            Hallo paul53,

            sorry, den ersten Punkt kann ich fachlich nicht verstehen. Ich übergebe der Liste doch als letzten Listeneintrag den aktualisierten Wert aus dem Objekt "Wind Speed" des Wettersensors durch

            2131dee1-8a27-422e-abee-b06551d76a91-image.png ,

            oder wie meinst Du das ?

            Im Protokoll finde ich jetzt keine errors mehr, das ist schonmal ein Teilerfolg dank Deiner Hilfe.

            Zu level: verstehe ich, hoffe ich. Wenn ich "level" zu Beginn der Funktion "=0" setze, würde die Markise - wenn Sie z.B. auf 30% ausgefahren ist und "windig" und "dunkel" NICHT wahr sind, auf Null % (=komplett zu) fahren, oder ?

            paul53P 1 Reply Last reply
            0
            • S schweiger2

              @paul53

              Hallo paul53,

              sorry, den ersten Punkt kann ich fachlich nicht verstehen. Ich übergebe der Liste doch als letzten Listeneintrag den aktualisierten Wert aus dem Objekt "Wind Speed" des Wettersensors durch

              2131dee1-8a27-422e-abee-b06551d76a91-image.png ,

              oder wie meinst Du das ?

              Im Protokoll finde ich jetzt keine errors mehr, das ist schonmal ein Teilerfolg dank Deiner Hilfe.

              Zu level: verstehe ich, hoffe ich. Wenn ich "level" zu Beginn der Funktion "=0" setze, würde die Markise - wenn Sie z.B. auf 30% ausgefahren ist und "windig" und "dunkel" NICHT wahr sind, auf Null % (=komplett zu) fahren, oder ?

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

              @schweiger2 sagte: oder wie meinst Du das ?

              Den identischen Wert wie "Wert vom Objekt WIND_SPEED" liefert die lokale Trigger-Variable Wert. Ist nur etwas eleganter (Ressourcen schonender).

              @schweiger2 sagte in Gleitender Durchschnitt mit Blockly:

              "windig" und "dunkel" NICHT wahr sind, auf Null % (=komplett zu) fahren, oder ?

              Wahrscheinlich würde eine Warnung oder einer Error erzeugt. Was ist "0 % = komplett zu" bei einer Markise? Voll ausgefahren?
              Soll die Markise nicht wieder ausfahren, wenn sich der Wind gelegt hat? Wenn doch, dann versuche es mal so:

              Bild_2021-07-19_150915.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

              S 1 Reply Last reply
              1
              • paul53P paul53

                @schweiger2 sagte: oder wie meinst Du das ?

                Den identischen Wert wie "Wert vom Objekt WIND_SPEED" liefert die lokale Trigger-Variable Wert. Ist nur etwas eleganter (Ressourcen schonender).

                @schweiger2 sagte in Gleitender Durchschnitt mit Blockly:

                "windig" und "dunkel" NICHT wahr sind, auf Null % (=komplett zu) fahren, oder ?

                Wahrscheinlich würde eine Warnung oder einer Error erzeugt. Was ist "0 % = komplett zu" bei einer Markise? Voll ausgefahren?
                Soll die Markise nicht wieder ausfahren, wenn sich der Wind gelegt hat? Wenn doch, dann versuche es mal so:

                Bild_2021-07-19_150915.png

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

                @paul53

                ahaaa, danke, ist schon geändert.

                Zum "level": 0% = 0% Helligkeit = komplett herausgefahren. Ja, dies ist für mich nur eine Schutzschaltung, wenn das Schließen mal vergessen wurde; das Öffnen möchte ich manuell selbst bestimmen.

                paul53P 1 Reply Last reply
                0
                • S schweiger2

                  @paul53

                  ahaaa, danke, ist schon geändert.

                  Zum "level": 0% = 0% Helligkeit = komplett herausgefahren. Ja, dies ist für mich nur eine Schutzschaltung, wenn das Schließen mal vergessen wurde; das Öffnen möchte ich manuell selbst bestimmen.

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

                  @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

                  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

                  S 1 Reply Last reply
                  1
                  • 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
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          703

                                          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