Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Blockly-Programm startet nicht

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    Blockly-Programm startet nicht

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      TripleX last edited by

      Hallo zusammen,

      mein Programm reagiert nicht auf die gesetzten Trigger.

      "ACTUAL" ist der Datenpunkt meiner Rolladensteuerung, in dem die Position erfasst wird. Leider wird dieser nur beim Starten der Rollade und Stoppen aktualisiert. Wenn ich das Widget meiner Vis damit verknüpfe, ist die Animation des Behangs sehr ruckelig. Aus diesem Grund habe ich mir eine Variable Bewegung "Simulation" erstellt, die ich mit dem Widget verknüpfe und über eine Schleife konstant runter- bzw. hochzähle.

      Der Ablauf sollte wie folgt sein

      • Rollade betätigen
      • "ACTUAL" wird aktualisiert
      • Blockly startet
      • "Bewegung Simulation" holt sich Daten von "ACTUAL"
      • Je nachdem welche Bedingung dann erfüllt wird, soll "Bewegung Simulation" erhöht oder verringert werden bis ein bestimmter Wert erreicht wird.

      4463e047-e00c-4d8d-98f2-21dd3d8b3e48-image.png

      paul53 2 Replies Last reply Reply Quote 0
      • Glasfaser
        Glasfaser last edited by

        @triplex

        diesen Baustein nehmen als Trigger für meher Objekte

        ebeb3dc2-1b3b-49e6-a223-c404862d8c3b-grafik.png

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

          @triplex sagte: reagiert nicht auf die gesetzten Trigger.

          Man kann Datenunkte für den Trigger nicht per ODER verknüpfen, sondern man muss sie als Array übergeben, wozu Blockly eine einfache Möglichkeit bietet.

          Blockly_temp.JPG

          Die Übergabe von Objekten ist ebenfalls falsch. Es müssen IDs übergeben werden.

          EDIT: Die Blöcke "wiederhole bis" erzeugen Endlosschleifen, die die Javascript-Instanz abstürzen lassen.

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

            EDIT: Die Blöcke "wiederhole bis" erzeugen Endlosschleifen, die die Javascript-Instanz abstürzen lassen.

            Warum werden dadurch Endlosschleifen erzeugt?
            Die Schleifen laufen doch nur solange bis eine Bedingung erfüllt wird.
            Wie müsste es denn dann aufgebaut werden?

            Homoran 1 Reply Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators @TripleX last edited by

              @triplex sagte in Blockly-Programm startet nicht:

              Die Schleifen laufen doch nur solange bis eine Bedingung erfüllt wird.

              feuern aber im Millisekundentakt

              1 Reply Last reply Reply Quote 0
              • T
                TripleX @Glasfaser last edited by

                @glasfaser
                Funktioniert das dann wie ein "Und" oder ein "Oder"?
                Das Programm soll starten wenn mindestens einer der Werte sich geändert hat.

                Habe es jedenfalls jetzt mal so geändert, trotzdem passiert nichts.

                9400d6ac-34d1-45eb-828b-2f38ab70e0f9-image.png

                Ist denn die Zeile "aktualisiere...." richtig?
                Oder wie müsste das heißen wenn man einen Wert von einem zum anderen Datenpunkt übertragen möchte?
                Bin noch nicht so fit in Blockly.
                Wo ist der Unterschied zwischen Objekt ID und Objekt ID?

                10951584-3a75-4fca-89fb-1a95993a986e-image.png

                c722b81a-2856-4be1-99ea-997cb4be52c4-image.png

                haus-automatisierung 1 Reply Last reply Reply Quote 0
                • haus-automatisierung
                  haus-automatisierung Developer Most Active @TripleX last edited by

                  @triplex sagte in Blockly-Programm startet nicht:

                  Wo ist der Unterschied zwischen Objekt ID und Objekt ID?

                  Dass nicht bei beiden Objekt ID steht. Das eine liefert das komplette Objekt mit der ID, das andere nur die ID selbst (einen String, deswegen ist der Block auch grün, wie die anderen Text-Blöcke auch).

                  T 1 Reply Last reply Reply Quote 0
                  • T
                    TripleX @haus-automatisierung last edited by

                    @haus-automatisierung said in Blockly-Programm startet nicht:

                    @triplex sagte in Blockly-Programm startet nicht:

                    Wo ist der Unterschied zwischen Objekt ID und Objekt ID?

                    Dass nicht bei beiden Objekt ID steht. Das eine liefert das komplette Objekt mit der ID, das andere nur die ID selbst (einen String, deswegen ist der Block auch grün, wie die anderen Text-Blöcke auch).

                    Was müsste ich denn dann am Anfang als Startbedingung auswählen, damit das Programm läuft?

                    haus-automatisierung paul53 2 Replies Last reply Reply Quote 0
                    • haus-automatisierung
                      haus-automatisierung Developer Most Active @TripleX last edited by haus-automatisierung

                      @triplex So wie in deinem letzten Beitrag ist der Trigger zumindest richtig definiert. Rest habe ich mir nicht angeschaut

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

                        @triplex sagte: damit das Programm läuft?

                        Mit den Endlosschleifen wird es nie laufen.

                        1 Reply Last reply Reply Quote 1
                        • paul53
                          paul53 @TripleX last edited by paul53

                          @triplex sagte: "ACTUAL" ist der Datenpunkt meiner Rolladensteuerung, in dem die Position erfasst wird. Leider wird dieser nur beim Starten der Rollade und Stoppen aktualisiert.

                          Mit welchen Werten wird er bei Start und bei Stopp aktualisiert?

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

                            @paul53 said in Blockly-Programm startet nicht:

                            @triplex sagte: "ACTUAL" ist der Datenpunkt meiner Rolladensteuerung, in dem die Position erfasst wird. Leider wird dieser nur beim Starten der Rollade und Stoppen aktualisiert.

                            Mit welchen Werten wird er bei Start und bei Stopp aktualisiert?

                            Die Werte sind Prozentangaben.
                            Wenn die Rollade startet verändert sich der Wert um 2-3% nach oben oder unten, abhängig davon in welche Richtung sich die Rollade bewegt, und wird erst wieder aktualisiert wenn die Rollade angehalten hat.

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

                              @triplex sagte: Wenn die Rollade startet verändert sich der Wert um 2-3% nach oben oder unten, abhängig davon in welche Richtung sich die Rollade bewegt

                              Dann versuche es mal so:

                              Blockly_temp.JPG

                              Welcher Datenpunkt wird beim Stoppen zuerst aktualisiert: "ACTUAL" oder "ACTIVITY_STATE"?

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

                                @paul53 said in Blockly-Programm startet nicht:

                                @triplex sagte: Wenn die Rollade startet verändert sich der Wert um 2-3% nach oben oder unten, abhängig davon in welche Richtung sich die Rollade bewegt

                                Dann versuche es mal so:

                                Blockly_temp.JPG

                                Welcher Datenpunkt wird beim Stoppen zuerst aktualisiert: "ACTUAL" oder "ACTIVITY_STATE"?

                                Laut Zeitstempel laufen die synchron.

                                Habe dein Programm mal nachgebaut und es hat sich auch was getan.
                                Leider nicht ganz so wie ich es mir vorgestellt habe.
                                Konnte auch einige Zeilen in deinem Programm nicht so ganz nachvollziehen (z.B. "Falls nicht Intervall")
                                Was soll die bewirken?

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

                                  @triplex sagte in Blockly-Programm startet nicht:

                                  Leider nicht ganz so wie ich es mir vorgestellt habe.

                                  das wäre wie?

                                  und was ist passiert?

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

                                    @triplex sagte: Laut Zeitstempel laufen die synchron.

                                    Dann bau in beide Trigger je einen Debug-Block ein und schau, welcher Log beim Stoppen als erstes erscheint.

                                    @triplex sagte in Blockly-Programm startet nicht:

                                    nicht so ganz nachvollziehen (z.B. "Falls nicht Intervall")

                                    Das sperrt einen weiteren Start des Programmes im falls-Block solange das Intervall läuft. Es dürfen nicht mehrere Intervalle gestartet werden, die sich nicht mehr löschen lassen.

                                    T 1 Reply Last reply Reply Quote 0
                                    • T
                                      TripleX @Homoran last edited by

                                      @homoran said in Blockly-Programm startet nicht:

                                      @triplex sagte in Blockly-Programm startet nicht:

                                      Leider nicht ganz so wie ich es mir vorgestellt habe.

                                      das wäre wie?

                                      und was ist passiert?

                                      Die Werte sind ins negative gelaufen und die Animation der Rolladenbewegung ist so ab 10% nicht mehr gleichmäßig gefahren sondern ist dann immer wieder auf-zu-auf-zu-.... gegangen.

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

                                        @paul53 Ah...ok.
                                        Danke schonmal für die ganze Arbeit und die Unterstützung.
                                        Werde jetzt mal versuchen auf Basis deines Programms ein neues zu erstellen.
                                        Eins muss ich jetzt aber nochmal fragen...
                                        Wenn ich eine Schleife programmieren möchte, die so lange läuft bis sagen wir mal Wert A größer ist Als Wert B, welche der Objekt-ID-Blöcke muss ich dann verwenden?

                                        Wäre das so richtig?

                                        dad34448-dfec-4af7-bad6-f4a346c1f510-image.png

                                        Oder müsste ich den Block verwenden?

                                        858938ca-c4fc-49da-8208-ac4ff2fe8e79-image.png

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

                                          @triplex sagte: Schleife programmieren möchte, die so lange läuft bis sagen wir mal Wert A größer ist Als Wert B,

                                          Man kann eine Schleife "wiederhole bis" nicht auf die Prüfung von Datenpunkten anwenden, sondern man benötigt eine schnelle Abbruch-Bedingung. So entsteht eine Endlosschleife.
                                          Alternative: Innerhalb der Schleife "Pause" anstelle von "Timeout" oder "Intervall" verwenden.

                                          @triplex sagte in Blockly-Programm startet nicht:

                                          Oder müsste ich den Block verwenden?

                                          Das ist egal, sofern der ID-Selektor verwendet wird.

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

                                            @paul53 said in Blockly-Programm startet nicht:

                                            @triplex sagte: Schleife programmieren möchte, die so lange läuft bis sagen wir mal Wert A größer ist Als Wert B,

                                            Man kann eine Schleife "wiederhole bis" nicht auf die Prüfung von Datenpunkten anwenden, sondern man benötigt eine schnelle Abbruch-Bedingung. So entsteht eine Endlosschleife.
                                            Alternative: Innerhalb der Schleife "Pause" anstelle von "Timeout" oder "Intervall".

                                            @triplex sagte in Blockly-Programm startet nicht:

                                            Oder müsste ich den Block verwenden?

                                            Das ist egal, sofern der ID-Selektor verwendet wird.

                                            Ok...bin erst seit ein paar Tagen mit Blockly dran und steige an manchen Stellen noch nicht so ganz dahinter.
                                            Gibt es evtl. irgendwo ein Doku oder so, wo die Blöcke und deren Funktion etc. erläutert werden?

                                            Glasfaser paul53 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            746
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            72
                                            1816
                                            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