Gibt es eine Möglichkeit, einen im Script gestarteten loop zu unterbrechen?
Ich habe in den Examples auf git folgenden Script gefunden, der ein bisschen beschnitten einen Teil meines Vorhabens erfühlt:
Rufe ich nun im Browser den alias "turn_off_after_time", zählt der Timer die 5 Minuten runter und schaltet Channel 4 aus.
Nun möchte ich aber bei Bedarf den Timer abbrechen, so das Channel 4 doch an bleibt.
Wäre für hilfreiche Vorschläge sehr dankbar.
AI: Auf welcher Plattform oder in welcher Umgebung läuft das Script?
OpenBeken
Habe so eben selbst die Lösung des Problems gefunden.
Sollte es sich jedoch um eine unsaubere Lösung handeln, bitte ich trotzdem um Berichtigung:
Also mit Aufruf des Befehles "on_turned_off" wird der Timer auch Channel 5 wieder auf 0 gesetzt und hört auf zu zählen und Channel 4 bleibt aktiv.
Ich habe in den Examples auf git folgenden Script gefunden, der ein bisschen beschnitten einen Teil meines Vorhabens erfühlt:
// display seconds timer
setChannelType 5 TimerSeconds
// set start values as "remember in flash"
SetStartValue 4 -1
SetStartValue 5 -1
// channel 5 is timer
// channel 4 is relay
// here is countdown value in seconds - 300
alias turn_off_after_time backlog setChannel 5 300
alias on_turned_off setChannel 5 0
alias turn_off_relay setChannel 4 0
alias do_check if $CH5==0 then turn_off_relay
alias do_tick backlog addChannel 5 -1; do_check
// this will run the turn off command every time that CH4 becomes 1
//addChangeHandler Channel4 == 1 turn_off_after_time
// this will run the turn off command every time that CH4 becomes 0
addChangeHandler Channel4 == 0 on_turned_off
again:
if $CH5!=0 then do_tick
delay_s 1
goto again
Rufe ich nun im Browser den alias "turn_off_after_time", zählt der Timer die 5 Minuten runter und schaltet Channel 4 aus.
Nun möchte ich aber bei Bedarf den Timer abbrechen, so das Channel 4 doch an bleibt.
Wäre für hilfreiche Vorschläge sehr dankbar.
AI: Auf welcher Plattform oder in welcher Umgebung läuft das Script?
OpenBeken
Habe so eben selbst die Lösung des Problems gefunden.
Sollte es sich jedoch um eine unsaubere Lösung handeln, bitte ich trotzdem um Berichtigung:
Also mit Aufruf des Befehles "on_turned_off" wird der Timer auch Channel 5 wieder auf 0 gesetzt und hört auf zu zählen und Channel 4 bleibt aktiv.