mirror of
https://github.com/openshwprojects/OpenBK7231T_App.git
synced 2026-02-05 16:45:49 +00:00
42 lines
1.5 KiB
Batchfile
42 lines
1.5 KiB
Batchfile
|
|
// advanced delay script
|
|
// See: https://www.elektroda.com/rtvforum/topic4032982.html
|
|
|
|
// When user toggles relay on, relay will turn off after delay
|
|
// The current delay value is displayed on www gui
|
|
// The constant delay value is displayed on www gui and fully adjustable and remembered between reboots
|
|
|
|
// Used channels:
|
|
// Channel 1 - relay
|
|
// Channel 2 - current countdown value
|
|
// Channel 3 - constant time for countdown
|
|
|
|
// this will make channel 3 save in memory
|
|
setStartValue 3 -1
|
|
// if channel 3 is not set (default first case), set it to 15 seconds11
|
|
if $CH3==0 then setChannel 3 15
|
|
// display text field for channel 3 on www page
|
|
setChannelType 3 TextField
|
|
// set label
|
|
setChannelLabel 3 TurnOffTime
|
|
// display timer seconds (read only) for channel 2 on www page
|
|
setChannelType 2 TimerSeconds
|
|
// shorthand for setting channel 2 to value of channel 3
|
|
alias turn_off_after_time backlog setChannel 2 $CH3
|
|
// shorthand for clearing current timer value
|
|
alias on_turned_off setChannel 2 0
|
|
// shorthand to set relay off
|
|
alias turn_off_relay setChannel 1 0
|
|
// check used to turn off relay when countdown value reaches 0
|
|
alias do_check if $CH2==0 then turn_off_relay
|
|
// an update command; it decreases current countdown by 1 and checks for 0
|
|
alias do_tick backlog addChannel 2 -1; do_check
|
|
// event triggers for channel 1 changing to 0 and 1
|
|
addChangeHandler Channel1 == 1 turn_off_after_time
|
|
addChangeHandler Channel1 == 0 on_turned_off
|
|
|
|
// main loop - infinite
|
|
again:
|
|
if $CH2!=0 then do_tick
|
|
delay_s 1
|
|
goto again |