The Interval Timer Device acts like one of those plugin wall timers ones buys at the hardware store. One programs it to turn on during certain hours, and it turns on a terminal during those times. Unlike a real timer, this timer has no limit on the number of intervals it can handle, and it can optionally turn on only certain days of the month. Also, the Interval Timer is a Virtual Device, so one can create as many as one needs.
The Interval Timer Device has a single output terminal, "out" which it turns on for user definable intervals. Intervals are double quoted strings like
The following are all valid intervals:
Hours should generally be from 0-23, but 24:00 can be used to express the end of a day. If an interval goes to a lesser value ("11:00 to 2:00"), the Interval Timer will assume that the second time refers to a time during the next day.
To express more than one interval, add another interval to the string, separated by a comma.
Add as many intervals as needed this way. However, intervals should not overlap:
Time Intervals with a Day of the Month
One can qualify intervals by adding days of the month. Instead of having an interval be for any day, it can be for the 1st, 8th, and 23rd days of the month. Days are expressed as a comma separated string of numbers.
The following are valid days of the month strings:
It is OK to specify days which never happen in some months (31st, as an example). The Interval timer will do the right thing (which is nothing).
Time Intervals with a Day of the Week
One can qualify intervals by adding days of the week. Instead of having an interval be for any day, it can be for the 1st, 3rd and 4th days of the week. Monday is day 1, and Sunday is day 7. Days of the week are expressed as a comma separated string of numbers.
The following are valid days of the week strings:
Using Days of the Month and Days of the Week Together
If one uses days of the week and days of the month together in the same interval, the interval will only occur when both are true. So, for example, if one specified an interval that was on days 1-5 of the month and a week day of Wednesday, the interval would occur when there was a Wednesday and the date of the month was either 1,2,3,4, or 5 (which might not happen at all during some months).
Creating an Interval Timer
Interval Timers are created by running the TimerInterval Script. The Interval Timer has one output terminal, "out" which is
Running the TimerInterval Script with the parameters listed below will create an Interval Timer which turns on from 9AM to 12PM and from 11PM to 8:30AM the next day, on the first Wednesday of each month: