Using Timer Ranges in CueServer
Timers are critical tools that can help you ensure the right lighting takes effect at just the right time. They are at the heart of the "automated" lighting revolution.
CueServer offers several types of timers, such as single, repeating, hourly or On/Off timers. We'll be covering On/Off, or "range timers" as I'll be referring to them going forward, in this article.
You might be thinking what's the difference between a range timer and just creating two single timers. Well, there's one big difference: awareness.
The range timer is the only timer in CueServer which is aware of the time. That is to say, if the power goes out, once CueServer comes back online, it's aware that, if the time falls within the range, the timer should be run.
The outdoor lighting on the building CueServer operates should be on at night. A timer is used to ensure the lighting is set at the correct time each evening. If the power goes out, the CueServer should be aware that the nighttime lighting should be active once it comes back online.
One way to accomplish this is by using complex logic, non-volatile variables, and standard timers. By saving the state into a variable and making that variable persist, you can use a startup variable and logic to check that variable to determine whether to re-activate the lighting.
A problem with this approach is the possibility that the system is offline until after the nighttime lighting should be in effect. This would lead to incorrectly recalling an expired state!
Another approach would be to use a timer, then in a startup rule, use logic to manually check the time with CueScript and determine the correct action. This approach would work but would require you to set a timer and a secondary script, which means that if you ever wanted to change the timer, you would need to also change the startup script.
Luckily, range timers do all of this for you. Simply define an ON and OFF time (or range), and anytime CueServer comes online, if the time falls within that range, the defined action will be executed. Simple as that!
In the section below, we'll go through the quick and easy process of creating a range timer.
The first step is to create your timer. You can do so by clicking on the Timers Section on the left-hand sidebar ( ), then clicking on ( ).
Next, in the Timer Properties window, for the Timer we just created
Change the Type to On/Off Timer
Set an On and Off time for the Timer
In this case, we want the lighting to adjust for nighttime around a half-hour before the sun sets and re-adjust for the day at sunrise, so we'll use the Sunset - and Sunrise features to accomplish this.
Now we need to add an action for both the On and Off. In this case, we'll use two predefined variables that define out nighttime and daytime lighting cues.
That's it! Now, these two events create a "range" in which the actions will fire at the set times, as well as whenever the CueServer starts up. This way, if the unit is offline during the day, at startup the system will recognize the time is outside of the On action and thus fire the Off action or vice versa.