Comfort has 64 User Timers which can be used to created timed delays of 1 second to 65278 seconds.
There are 2 ways to use Timers to introduce delays in Comfort;
Timed Delay between Actions
A timed delay can be inserted between 2 actions in a Response.
In the example below, a delay is to be inserted between Do Corridor Lights on and Do Corridor Lights Off.

Select the Do Category and select the \"Wait for Timer \" action
Next select the delay in seconds (60 in the example) and the Timer Name or number

This inserts a delay of 60 seconds between the actions \"Do CorridorLightsOn\" and \"Do CorridorLightsOff\"
Corridor Lights On will trigger, followed by a 60 seconds delay, then Corridor Lights off will happen. Note that Comfort will not stop while the delay is running, as the firmware is multitasking - Comfort will continue operating and running other tasks during the delay, eg zones are detected and will trigger their own responses, all slaves, keypads, ucms will continue to send and receive messages to comfort
Any timer 1 to 64 can be chosen for the delay, but make sure that there is no possibility that the same timer is used for another delay that can overlap with the current delay, otherwise the delay will be overridden by the new instance of the timer.
In the above example, Timer01 is used again, but this is acceptable because when the 2nd instance of the timer is started, the 1st timer delay has already completed, thus freeing up Timer01.
WARNING! Do NOT use the Execute Response function in Comfigurator Response screen to test this. This will NOT work if the actioons following the wait for Timer cause another Response to be activated
This action was introduced in Comfort Firmware 7.071 and requires Comfigurator 3.9.5
Timed Delay Between Responses
The other way to program a timer is between Responses. This inserts a delay between 2 Responses.
In Response Wizard, select \"Do\" Category and select \"Do Response After Timer Expires\"

Then select the target Response, the Time delay in seconds and Timer number.

The action \"Do CorridorLightsOff after 60 seconds using Timer01\" will start a delay for 60 seconds and at the end, do the response \"CorridorLightsOff\"
Note that this action does not put a delay in the action itself. The next action (Do LandingLightsOn) runs immediately after the timer action WHILE the timer delay of 60 seconds is running.
The Response example above inserts a 60 second delay between \"Do CorridorLightsOn\" and\"Do CorridorLightsOff\", and also a 300 second delay between \"Do LandingLightsOn\" and \"Do LandingLightsOff\"
The sequence of lights in this example is
Corridor Lights On / Landing Lights On (there is no delay between Corridor and Landing lights On)
... after 60 seconds...
Corridor Lights Off
.....after 240 seconds...
Landing Lights Off
Using a Variable as Delay
In the action \"Do Response x seconds using Timer\" , if the number of seconds is =0, then the last action value is used as the delay. See the example below.
Get Counter Counter003
Do Response after 0 seconds using Timer01
This means that the delay is taken from Counter 3 instead of a fixed value in the action
There are 2 ways to use Timers to introduce delays in Comfort;
- Timed delay between Actions (Action 190)
- Timed delay between Responses (Action 194)
Timed Delay between Actions
A timed delay can be inserted between 2 actions in a Response.
In the example below, a delay is to be inserted between Do Corridor Lights on and Do Corridor Lights Off.

Select the Do Category and select the \"Wait for Timer \" action
Next select the delay in seconds (60 in the example) and the Timer Name or number

This inserts a delay of 60 seconds between the actions \"Do CorridorLightsOn\" and \"Do CorridorLightsOff\"
Corridor Lights On will trigger, followed by a 60 seconds delay, then Corridor Lights off will happen. Note that Comfort will not stop while the delay is running, as the firmware is multitasking - Comfort will continue operating and running other tasks during the delay, eg zones are detected and will trigger their own responses, all slaves, keypads, ucms will continue to send and receive messages to comfort
Any timer 1 to 64 can be chosen for the delay, but make sure that there is no possibility that the same timer is used for another delay that can overlap with the current delay, otherwise the delay will be overridden by the new instance of the timer.
In the above example, Timer01 is used again, but this is acceptable because when the 2nd instance of the timer is started, the 1st timer delay has already completed, thus freeing up Timer01.
WARNING! Do NOT use the Execute Response function in Comfigurator Response screen to test this. This will NOT work if the actioons following the wait for Timer cause another Response to be activated
This action was introduced in Comfort Firmware 7.071 and requires Comfigurator 3.9.5
Timed Delay Between Responses
The other way to program a timer is between Responses. This inserts a delay between 2 Responses.
In Response Wizard, select \"Do\" Category and select \"Do Response After Timer Expires\"

Then select the target Response, the Time delay in seconds and Timer number.

The action \"Do CorridorLightsOff after 60 seconds using Timer01\" will start a delay for 60 seconds and at the end, do the response \"CorridorLightsOff\"
Note that this action does not put a delay in the action itself. The next action (Do LandingLightsOn) runs immediately after the timer action WHILE the timer delay of 60 seconds is running.
The Response example above inserts a 60 second delay between \"Do CorridorLightsOn\" and\"Do CorridorLightsOff\", and also a 300 second delay between \"Do LandingLightsOn\" and \"Do LandingLightsOff\"
The sequence of lights in this example is
Corridor Lights On / Landing Lights On (there is no delay between Corridor and Landing lights On)
... after 60 seconds...
Corridor Lights Off
.....after 240 seconds...
Landing Lights Off
Using a Variable as Delay
In the action \"Do Response x seconds using Timer\" , if the number of seconds is =0, then the last action value is used as the delay. See the example below.
Get Counter Counter003
Do Response after 0 seconds using Timer01
This means that the delay is taken from Counter 3 instead of a fixed value in the action



