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 Skript in anderem Skript aufrufen

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Blockly Skript in anderem Skript aufrufen

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

      Hallo,

      ich bin ganz neu bei ioBroker. Aktuell nutze ich Homey, aber überlege zu wechseln und bastle daher gerade ein wenig, um mal zu sehen, wie es so funktioniert. Soweit bin ich doch recht begeistert. 🙂 Habe jetzt aber mal eine Frage, also bitte nicht direkt steinigen, wenn das hier schon zig Mal erklärt wurde.

      Ich möchte ein Blockly Skript in einem anderen Skript aufrufen. Will in einem Skript eine Art Szene bauen und diese dann z.B. über einen Schalter oder über die Zeit aufrufen. Ja, ich weiß, es gibt einen Adapter dafür, jedoch bin ich damit bisher nicht zurecht gekommen. Habe irgendwo gelesen, dass man Skripte in einem anderen direkt aufrufen kann, dies aber nicht machen soll.

      Habe nun folgendes:

      1. Szenenskript:
        9feb1279-3877-47cc-92d2-dbea6b25d29b-grafik.png

      2. Aufrufskript:
        48eb55c6-5931-4cbd-adf6-bd4be56632cf-grafik.png

      Es funktioniert. Aber macht das auch Sinn? Kann oder sollte ich das verändern/verbessern? Will es gerne direkt ordentlich lernen und nicht erst, wenn ich 10 Szenen erstellt habe. 🙂

      Danke schon mal.

      LG Johannes

      paul53 1 Reply Last reply Reply Quote 0
      • 4
        4-Real last edited by

        Der Datenpunkt Szene_WZ_an wird erst auf Wahr springen sobald auch Sonnenuntergang Anfang erreicht wird. Wieso willst du denn dafür nochmal ein seperates Blockly erstellen?
        Dazu musst du auch noch dran denken, Der Datenpunkt sollte zum Sonnenaufgang wieder auf false gesetzt werden.

        paul53 J 2 Replies Last reply Reply Quote 0
        • paul53
          paul53 @4-Real last edited by

          @4-Real sagte:

          Der Datenpunkt sollte zum Sonnenaufgang wieder auf false gesetzt werden.

          Weshalb ? Er triggert nicht auf Änderung, sondern auf wahr.

          4 1 Reply Last reply Reply Quote 0
          • 4
            4-Real @paul53 last edited by 4-Real

            @paul53 sagte in Blockly Skript in anderem Skript aufrufen:

            @4-Real sagte:

            Der Datenpunkt sollte zum Sonnenaufgang wieder auf false gesetzt werden.

            Weshalb ? Er triggert nicht auf Änderung, sondern auf wahr.
            Deshalb ja.. sonst hat er doch meines Erachtens egal zu welcher Tageszeit die Szene auf wahr, oder nicht? Oder vertue ich mich da?

            1 Reply Last reply Reply Quote 0
            • J
              johannes1702 @4-Real last edited by

              @4-Real said in Blockly Skript in anderem Skript aufrufen:

              Danke schon mal. 🙂

              Der Datenpunkt Szene_WZ_an wird erst auf Wahr springen sobald auch Sonnenuntergang Anfang erreicht wird. Wieso willst du denn dafür nochmal ein seperates Blockly erstellen?

              Möchte das separat halten, weil ich das Szenenskript dann auch noch für andere Dinge nutzen kann. z.B. Sonnenaufgang, Nach Hause kommen etc.

              Dazu musst du auch noch dran denken, Der Datenpunkt sollte zum Sonnenaufgang wieder auf false gesetzt werden.

              Mache ich das nicht in der letzten Zeile im Szenenskript? 🙂 Klar, nicht zum Sonnenaufgang... aber doch direkt nachdem alles ausgeführt wurde.

              4 paul53 2 Replies Last reply Reply Quote 0
              • 4
                4-Real @johannes1702 last edited by

                @johannes1702 sagte in Blockly Skript in anderem Skript aufrufen:

                @4-Real said in Blockly Skript in anderem Skript aufrufen:

                Danke schon mal. 🙂

                Der Datenpunkt Szene_WZ_an wird erst auf Wahr springen sobald auch Sonnenuntergang Anfang erreicht wird. Wieso willst du denn dafür nochmal ein seperates Blockly erstellen?

                Möchte das separat halten, weil ich das Szenenskript dann auch noch für andere Dinge nutzen kann. z.B. Sonnenaufgang, Nach Hause kommen etc.

                Dazu musst du auch noch dran denken, Der Datenpunkt sollte zum Sonnenaufgang wieder auf false gesetzt werden.

                Mache ich das nicht in der letzten Zeile im Szenenskript? 🙂 Klar, nicht zum Sonnenaufgang... aber doch direkt nachdem alles ausgeführt wurde.

                Au Sorry.. Jau, hab ich gar nicht gesehen.. stimmt du machst das ja wieder auf False... Alles klar! Mein Fehler!!

                1 Reply Last reply Reply Quote 0
                • J
                  johannes1702 last edited by

                  Will aber trotzdem nochmal fragen, ob ich das doch ggf. anders lösen sollte? 🙂

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

                    @johannes1702 sagte:

                    aber doch direkt nachdem alles ausgeführt wurde.

                    Nein, nur einmal beim Start des Skriptes, da außerhalb des Triggers ausgeführt.

                    @4-Real sagte in Blockly Skript in anderem Skript aufrufen:

                    Oder vertue ich mich da?

                    Ja, der Trigger reagiert nur auf eine Zustandsänderung - in dem Fall auf Aktualisierung des Zeitstempels.

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

                      @johannes1702 sagte:

                      Kann oder sollte ich das verändern/verbessern?

                      Ja,

                      • Für eigene Datenpunkte sollte man anstelle von "steuere" besser "aktualisiere" verwenden.
                      • Ein Datenpunkt der mittels Select-ID zugewiesen werden kann, muss nicht erst erzeugt werden. Wenn man einen Datenpunkt per Blockly erzeugt, sollte auch immer Common im JSON-Format übergeben werden, mindestens der Datenpunkt-Typ: {"type":"boolean"}.
                      • Trigger sollten immer im Hauptprogramm platziert werden, nicht in der Callback-Funktion der Datenpunkt-Erzeugung.
                      • Da sicherlich weitere Szenen erstellt werden sollen, ist es sinnvoll, "Szene" als Ordner im Objektbaum zu verwenden, also mit einem Punkt in der ID: "Szene.WZ_an".
                      J 1 Reply Last reply Reply Quote 1
                      • J
                        johannes1702 @paul53 last edited by

                        @paul53 said in Blockly Skript in anderem Skript aufrufen:

                        Ein Datenpunkt der mittels Select-ID zugewiesen werden kann, muss nicht erst erzeugt werden. Wenn man einen Datenpunkt per Blockly erzeugt, sollte auch immer Common im JSON-Format übergeben werden, mindestens der Datenpunkt-Typ: {"type":"boolean"}.

                        Das verstehe ich leider nicht 😞 Die anderen Punkte konnte ich umsetzen. Kannst du das nochmal anders erklären?

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

                          @johannes1702 sagte:

                          Kannst du das nochmal anders erklären?

                          Du hast den Datenpunkt mit dem Namen "Szene_WZ_an" an den Trigger und die "steuere"-Blöcke zugewiesen. Das geht in Blockly so nur, wenn der Datenpunkt bereits existiert.

                          1 Reply Last reply Reply Quote 0
                          • J
                            johannes1702 last edited by

                            Heißt, ich kann das hier weglassen?

                            ff97f06c-2ab0-414d-a724-1252277bb064-grafik.png

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

                              @johannes1702 sagte:

                              ich kann das hier weglassen?

                              Ja, verschwendet nur Ressourcen.

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

                                @paul53

                                Ok, verstanden 😀 Vorher dann aber natürlich im Objektbaum entsprechend (mit boolean) anlegen?!

                                1 Reply Last reply Reply Quote 0
                                • First post
                                  Last post

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                820
                                Online

                                32.0k
                                Users

                                80.4k
                                Topics

                                1.3m
                                Posts

                                blockly
                                3
                                14
                                1135
                                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