Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Buttons triggern Script -> wie resetten?

    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

    Buttons triggern Script -> wie resetten?

    This topic has been deleted. Only users with topic management privileges can see it.
    • Homoran
      Homoran Global Moderator Administrators @Mottimuc last edited by

      @mottimuc sagte in Buttons triggern Script -> wie resetten?:

      gibt es eine intelligentere Lösung?

      dazu müsste man die unintelligente Lösung kennen!

      bitte Blockly zeigen

      M 1 Reply Last reply Reply Quote 1
      • Asgothian
        Asgothian Developer @Mottimuc last edited by Asgothian

        @mottimuc die intelligente Lösung:
        Da wo du das Skript auslösen willst nutzt du „steure“ , also setzen ohne acknowlege.
        Das ist soweit ich weiß aus den Visualisierungen Standard.

        Im trigger dann auch „steure“ zur Auslösung fordern

        Beim zurücksetzen einfach mit ack=true ( oder aktualisieren in blocky ) nutzen. Dann löst das das Skript nicht aus.

        A.
        Nachtrag zum Probieren. Das folgende Skript löst keine Endlosschleife aus, obwohl im Trigger der Datenpunkt geändert wird auf den getriggert wurde. Grund dafür ist die rot umrandete Einstellung
        Screenshot 2024-10-22 at 14.14.53.png

        M 1 Reply Last reply Reply Quote 0
        • M
          Mottimuc @Homoran last edited by Mottimuc

          @homoran
          Hier die View, die Einstellung des Buttons und die Abfrage im Blockly:

          22-10-2024_17-20-54.jpg

          22-10-2024_17-21-23.jpg

          22-10-2024_17-22-17.jpg

          Ich habe einen DP(STR) in den die 4 Buttons jeweils andere Buchstaben schreiben werden.
          Das Blockly soll bei Änderung / Aktualisierung des DP starten und dann über einen Switch entscheiden was getan wird.
          Da da einige längere, aber ähnliche Workflows dahinter liegen, möchte ich aus dem Blockly raus andere Scripte aufrufen und am Ende das Formular resetten. Also Werte Nullen und den DP bttn_VALUE auf NULL setzen.

          Grundsätzliche Frage:
          Hier im Forum wird die Methode über den Trigger DP das Script zu starten positiv bewertet.
          Daher vermute ich, dass es eben auch einen Best-Case geben muss.... oder?

          paul53 2 Replies Last reply Reply Quote 0
          • M
            Mottimuc @Asgothian last edited by

            @asgothian sagte in Buttons triggern Script -> wie resetten?:

            Da wo du das Skript auslösen willst nutzt du „steure“ , also setzen ohne acknowlege

            geht leider nicht, in den MDW Widgets sehe ich die Option nicht? oder bin ich blind?

            VG M

            PS: ich hab zuerst geschaut, ob ich das in VIS 2 umsetzen möchte. Da hier aber weder eine vernünftige Doku vorliegt, noch der Funktionsumfang der Material Design Widgets gegeben ist, verzichte ich darauf.

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

              @mottimuc sagte: Also Werte Nullen und den DP bttn_VALUE auf NULL setzen.

              Wozu soll das gut sein? Das ist bei Trigger auf "wurde aktualisiert" nicht nötig.

              @mottimuc sagte in Buttons triggern Script -> wie resetten?:

              Methode über den Trigger DP das Script zu starten positiv bewertet.

              Du setzt aber keinen DP zum Triggern, sondern du startest Skripte, was nicht zu empfehlen ist.
              Packe besser den Inhalt zu startenden Skripte in Funktionen.

              Blockly_temp.JPG

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

                @paul53 sagte in Buttons triggern Script -> wie resetten?:

                Du setzt aber keinen DP zum Triggern, sondern du startest Skripte, was nicht zu empfehlen ist.

                Hi Paul,

                sorry, kannst Du mich bitte aufklären?
                Ich dachte eben, genauso wäre es gut, da nur kompiliert wird, wenn benötigt?
                Wie wäre es Ideal?
                Das JS in die VIS packen? Oder die weiteren Prozessschritte in Funktionen und diese aus dem Trigger raus ausrufen?
                (Sorry, ich bin noob)

                ja, mit wurde aktualisiert hatte ich mir fast gedacht, war mir aber nicht sicher, ob das auch so wäre, wenn derselbe Button 2 mal gedrückt werden sollte.... daher der Gedanke mit dem "null"-setzen.

                Ich habe nun die Variante von Asgothian getestet, die würde gehen.
                (ich gestehe aber, dass ich den Hintergrund zwischen bestätigter und unbestätigter Änderung von DPs mir noch aneignen muss...)

                Danke vorab!

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

                  @mottimuc sagte: da nur kompiliert wird, wenn benötigt?

                  Ja, es wird bei jedem Skriptstart kompiliert - was unnötig Ressourcen zur Laufzeit verbraucht. Im anderen Falle werden alle Skripte nur einmal bei Start der Javascript-Instanz kompiliert.

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

                    @mottimuc sagte: Hier die View

                    Wie unterscheidest du "clear" von "cancel"?

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

                      @paul53
                      das habe ich auch vorhin gemerkt 🙄
                      Clear heißt nun refresh....

                      VG M

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

                        @mottimuc sagte: Clear heißt nun refresh....

                        Ich habe es mal mit L (wie LÖSCHEN) kodiert.

                        Blockly_temp.JPG

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        513
                        Online

                        31.9k
                        Users

                        80.1k
                        Topics

                        1.3m
                        Posts

                        4
                        11
                        428
                        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