NEWS
Schleife mit Timeout bis Trigger nicht wahr ist
-
Hallo,
ich versuche mich aktuell an einem Blockly Script mit Schleife und Timeout, bis ein gewisser Trigger auf false gesetzt wird.
Ich habe bereits mehrere Varianten ausprobiert, jedes mal stürzt allerdings der Adapter javascript ab und wird neugestartet, weshalb ich wohl eure Hilfe brauche.Konkret geht es mir darum, dass mir meine Kamera in 5 Sekunden Abständen solange Bilder per Telegram schickt, wie Bewegung (bzw. der Trigger auf true ist) vorhanden ist.
Hier ein Beispiel, allerdings funktioniert es mit dieser Schleife nicht.
Zur Erläuterung nochmal: Wenn trigger auf true geändert wird, dann möchte ich, dass mir per Telegram ein Bild geschickt wird (dafür Get snapshot by camera number). Damit ich das aktuelle Bild erhalte, soll 1,5 Sekunden gewartet werden, danach kann mir das Bild aus entsprechendem Verzeichnis per Telegram geschickt werden.
Wurde das Bild geschickt, soll 5 Sekunden lang gewartet werden und danach selbes Spiel von vorne: Get snapshot by camera number, 1,5 Sekunden warten, Bild per Telegram schicken.
Diese Schleife soll solange laufen, bis trigger = false.Hat jemand eine Idee, wie das umzusetzen ist bzw. weshalb javascript abstürzt? Ohne Schleife funktioniert das Script soweit.
Besten Dank!
-
@ein-michael sagte in Schleife mit Timeout bis Trigger nicht wahr ist:
funktioniert es mit dieser Schleife nicht.
"wiederhole solange" erzeugt eine Endlosschleife!
Die Abfrage muss innerhalb des Intervalls erfolgen und das Intervall muss gestoppt werden. -
So würde ich es testen. Ohne Garantiere ^^.
Du musst den Timer und den Intervall auf jeden fall stoppen.
Sonst läuft das immer weiter.EDIT:
Habs grad getestet.
Bei mir klappt es so. Allerdings hat meine Kaera grad keine Bewegung, sehe also nciht, ob es wirklich immer aktuelle Bilder sind. Müsste aber. -
Danke, konnte es jetzt tatsächlich mittels Intervall ausführen!
-
Schön, dass es geholfen hat.
Die 2 Falls kannst du aber weg lassen und es wie ich in einen packen.Und auf "wahr" muss man nicht prüfen.
So wie bei mir reicht das. Da spart man sich was geklicke ^^. -
und Deine Bild Nummer (5) ist tatsächlich Text (Text Block) und keine Zahl (Mathe Block) ?
-
@dslraser Ja ist Text und funktioniert auch ohne Probleme
-
@ein-michael sagte in Schleife mit Timeout bis Trigger nicht wahr ist:
@dslraser Ja ist Text und funktioniert auch ohne Probleme
okay.
Deine ganzen timeout solltest Du auch stoppen, sonst laufen unter Umständen mehrere. -
@dslraser Die Timeouts sind allerdings so gewollt, da sonst noch alte Bilder (und nicht das aktuellste, über get snapshot...) verschickt werden