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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Gleitender Durchschnitt mit Blockly

    This topic has been deleted. Only users with topic management privileges can see it.
    • paul53
      paul53 @schweiger2 last edited by 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 1 Reply Last reply Reply Quote 0
      • S
        schweiger2 @paul53 last edited by

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

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

            @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 ?

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

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

                paul53 1 Reply Last reply Reply Quote 0
                • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            933
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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