NEWS
Thema: Scenen, Timeouts, Intervalle, Wiederholungen –> Start, Stop, Pause?
-
Hallo liebes iobroker Forum,
ich habe das Gefühl dass wenn es um das Thema Bestimmte Programme wiederkehrend ausführen zu lassen aber auch individuell stoppen zu können es häufig Probleme gibt.
Daher wäre hier einmal die Frage wie man das ganze vernünftig lösen kann. Insbesondere wenn ich eine Schleife mit Timeouts dazwischen habe, aber die komplette Schleife jederzeit stoppen möchte.
Ich habe selber verschiedenes ausprobiert:
:arrow: Hier ist das Problem, dass er zwar die Schleife korrekt abarbeitet und auch wiederholt, jedoch fängt er generell erst nach 30 Sekunden an. Soll ja aber sofort losgehen.
:arrow: Bei dieser Variante tut sich gar nichts - das heißt die Schleife wird nicht ausgeführt, warum auch immer?
:arrow: Diese Variante läuft tatsächlich am zuverlässigsten - aber ist das im Sinne des Erfinders?Nicht zuletzt dachte ich mir, für so etwas ist doch eigentlich der Szenen Adapter ideal geeignet?
Hier der Versuch:
:arrow: Hier ists jedoch ganz merkwürdig, es wird immer nur der erste Wert geändert, und die anderen mit Verzögerung laufen gar nicht erst an. Sehe ich richtig dass die Verzögerung im Milisekunden gemssen wird? Eigentlich müsste so ein Szenen Adapter doch prädestiniert für so etwas sein, aber damit komme ich irgendwie gar nicht klar.Gibt es andere / bessere Lösungen um wiederkehrende Aufgaben zu starten und an jedem Punkt zu stoppen und dabei alle laufenden Schleifen / Timeouts zu löschen?
Danke euch
-
jedoch fängt er generell erst nach 30 Sekunden an. Soll ja aber sofort losgehen. `
Packe die 6 COLOR-Steuerungen in eine Funktion und rufe die Funktion vor dem Intervall und im Intervall auf. Die LEVEL-Steuerung auf "20" muss sicherlich nicht wiederholt werden und sollte nur vor dem Intervall ausgeführt werden. -
jedoch fängt er generell erst nach 30 Sekunden an. Soll ja aber sofort losgehen.
Packe die 6 COLOR-Steuerungen in eine Funktion und rufe die Funktion vor dem Intervall und im Intervall auf. Die LEVEL-Steuerung auf "20" muss sicherlich nicht wiederholt werden und sollte nur vor dem Intervall ausgeführt werden.
Danke dir. Das war mir durchaus bewusst. Aber wenn der ganze Programmablauf nun bereits VOR dem ersten Intervall beendet werden soll - wie mache ich das?Bei dem "Intervall" kann ich "Stop Intervall" sagen. Aber wie kann ich ohne das Intervall die Zeitschlaufen stoppen? Das ist mein Problem.
-
Aber wie kann ich ohne das Intervall die Zeitschlaufen stoppen? `
Die Funktion clearStateDelayed(id) bietet wohl Blockly nicht ?Wie wäre es mit einem Intervall von 5 s und einer Zählervariablen 1 bis 6, die die COLOR-Werte aus einer Liste mit 6 Werten indiziert ?
EDIT: Etwa so
Testschalter ist COLOR. -
Mega, das sieht besser aus.
Ja Blockly hat leider nicht die Funktion die du ansprichst. Leider kann ich kein JS und mache daher alles in Blockly.
Mit der Liste sieht das hervorragend aus. So hat man nur noch ein Intervall zu stoppen anstatt 6.
Vielen Dank!!
Das Thema Schleifen / Wiederholungen wird wohl kaum genutzt oder?
Und mit dem Szenen Adapter finde ich so etwas auch schwierig zu programmieren, obwohl der ja eigentlich genau dafür gemacht sein sollte.