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 Script stoppen/beenden beim erneuten ausführen

    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

    Blockly Script stoppen/beenden beim erneuten ausführen

    This topic has been deleted. Only users with topic management privileges can see it.
    • nik82
      nik82 Most Active last edited by nik82

      Hallo,
      habe jetzt schon einiges Versucht und gelesen, aber komme leider nicht weiter.
      Gibt es eine Möglichkeit, ein aktuell laufendes Blocklyscript zu beenden wenn es erneut ausgeführt wird?
      Ich habe einige Timeouts drin und das Script dauert um die 10 Minuten.
      Wenn jetzt in diesen 10 Minuten nochmal das Script ausgeführt wird (weil z. B. der Trigger nochmal ausgelöst wird) dann möchte ich das das vorhandene Script abbricht und nicht weiter ausgeführt wird. Weil es ja sonst mehrfach läuft.

      Wie bekomme ich das hin?
      Gibt es da evtl. sogar eine feste Einstellung die man machen kann?

      Vielleicht kann mir da ja jemand helfen.

      Danke im Voraus.

      S 1 Reply Last reply Reply Quote 0
      • crunchip
        crunchip Forum Testing Most Active last edited by

        @nik82 sagte in Blockly Script stoppen/beenden beim erneuten ausführen:

        Gibt es eine Möglichkeit, ein aktuell laufendes Blocklyscript zu beenden wenn es erneut ausgeführt wird?

        mit sicherheit

        1 Reply Last reply Reply Quote 0
        • S
          skokarl @nik82 last edited by skokarl

          @nik82 sagte in Blockly Script stoppen/beenden beim erneuten ausführen:

          Hallo,

          Wenn jetzt in diesen 10 Minuten nochmal das Script ausgeführt wird (weil z. B. der Trigger nochmal ausgelöst wird) dann möchte ich das das vorhandene Script abbricht und nicht weiter ausgeführt wird. Weil es ja sonst mehrfach läuft.

          Wie bekomme ich das hin?

          Timeout stop
          guck

          1 Reply Last reply Reply Quote 0
          • nik82
            nik82 Most Active last edited by

            Hallo,
            danke, aber Timeout funktioniert nicht zum abbrechen des Scriptes.
            Man kann zwar den Timeout abbrechen, aber das Script läuft trotzdem weiter.
            Ich bräuchte eine Lösung wo man wirklich das Script stoppen bzw. abbrechen kann, so das es nicht mehr weiterläuft.

            S 1 Reply Last reply Reply Quote 0
            • S
              skokarl @nik82 last edited by

              @nik82 sagte in Blockly Script stoppen/beenden beim erneuten ausführen:

              Hallo,
              danke, aber Timeout funktioniert nicht zum abbrechen des Scriptes.
              Man kann zwar den Timeout abbrechen, aber das Script läuft trotzdem weiter.
              Ich bräuchte eine Lösung wo man wirklich das Script stoppen bzw. abbrechen kann, so das es nicht mehr weiterläuft.

              Vielleicht zeigst Du uns einfach mal dein Script, ansonsten macht es wenig Sinn.

              1 Reply Last reply Reply Quote 0
              • A
                Adnim last edited by

                setze einen state beim erstmaligen auslösen und diesen fragst du bei erneutem skript start ab. so kannst du steuern was passieren soll wenn es bereits getriggert ist

                1 Reply Last reply Reply Quote 0
                • nik82
                  nik82 Most Active last edited by

                  @Adnim
                  Ja, das ist schonmal gut, so habe ich das momentan auch drin, so wie beim entprellen einer Taste:

                  https://forum.iobroker.net/post/162760

                  Aber ich kann damit das Script nicht stoppen, das Script wird zwar nicht doppelt ausgeführt, aber ich möchte ja das das Script beim erneuten drücken der Taste stoppt und von vorne beginnt.
                  Also müsste es wirklich einen Abbruch/Stop geben.

                  @skokarl
                  Das bringt nichts, das Script funktioniert ja einwandfrei und es geht ja eigentlich um eine allgemeine Frage:
                  "Wie kann ich ein Script abbrechen und von vorne beginnen wenn eine Taste gedrückt wird".

                  1 Reply Last reply Reply Quote 0
                  • A
                    Adnim last edited by

                    doch das müsste auch funzen.

                    wenn der state "bereits ausgeführt"=true und der Trigger feuert erneut, dann stop timeouts und danach erneut die timeouts setzten. Würde dann noch in den Timeout das zurücksetzten des States "bereits ausgeführt" mitreinehmen, zack läuft oder?

                    Also prinzipiel wenn der trigger kommt läuft das skript würde ja sonst keinen sinn ergeben. einen Abbruch macht ja auch kein sinn da die Aktionen ja eigentlich direkt erledigt sind, das einzige was du stoppen kannst sind halt die timeouts->ansonsten musst du Logik einbauen die den Trigger ins leere laufen lassen...

                    hau einfach mal dein skript rein das macht es einfacher...

                    1 Reply Last reply Reply Quote 0
                    • nik82
                      nik82 Most Active last edited by

                      Ok, hier das Programm, nicht wundern, ich hab viele Telegrams drin, das ich es testen kann, also den Sinn jetzt erstmal nicht so genau nehmen.
                      Habe den State jetzt noch nicht eingefügt.
                      Aber es ist so das wenn ich einen Timeout stoppe, dass die Aktionen im Timeout noch ausgeführt werden.
                      Das heißt in meinem Beispiel, stoppe ich Timeout10 (das ich testweise über das komplette Programm gelegt habe), läuft das Script trotzdem noch bis zum Ende.

                      Aber du hast recht, ich müsste quasi am Anfang des Programmes einfach komplett alle Timeouts stoppen,
                      also quasi wenn "bereits ausgeführt"=true, dann stoppe Timeout1, Timeout2, Timeout3 usw, dass sollte klappen denke ich oder?

                      Programm.jpg

                      1 Reply Last reply Reply Quote 0
                      • A
                        Adnim last edited by

                        ohh eine whirlpool steuerung ❤

                        ja genau so meinte ich das alle stoppen und dann neu loslegen. Wenn Sie gestoppt sind sollten die Aktionen darin auch nicht mehr losgehen

                        1 Reply Last reply Reply Quote 0
                        • nik82
                          nik82 Most Active last edited by

                          Das probiere ich mal, ich denke das ist die Lösung.

                          Vielen Dank für die Hilfe! 🙂

                          1 Reply Last reply Reply Quote 0
                          • S
                            skokarl last edited by

                            Ich will auch nen Whirlpool 😧

                            1 Reply Last reply Reply Quote 0
                            • nik82
                              nik82 Most Active last edited by

                              Ist nur ne Whirlpoolbadewanne 🙂

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

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              450
                              Online

                              31.9k
                              Users

                              80.3k
                              Topics

                              1.3m
                              Posts

                              4
                              13
                              3529
                              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