This function programs one of the 128 possible timers into the CP290. Each timer can be programmed individually. The graphics upload is not supported at this time. The command format is as follows:

}ID3 timer mode weekdays time housecode devicecodes function level

The data required to program a timer is as follows: timer = 1 through 128 (the timer number).

mode = timer mode. Possible values are: NORM = Normal, SEC = Security,
TOD = Today, TOM = Tomorrow, CLR = Cleared.
Normal operation sets the timer to work on a weekly cycle
at the time and weekdays indicated.
Security is the same as normal, except that the event time will be
different each day and varies in a pseudo random pattern up to one hour
after the time specified.
Today setting will operate the timer only today and clear the event
from memory at midnight.
Tomorrow setting will operate the timer only tomorrow and clear the event
from memory tomorrow at midnight.
Cleared setting removes that particular timer from the interface memory.

weekdays = the weekdays the timer will operate in the format UMTWHFS
where U = SUnday, M = Monday, T = Tuesday, W = Wednesday,
H = THursday, F = Friday, S = Saturday. Day not used are left out,
i.e. operating on weekdays only would be MTWHF.

time = hour and minute when timer will operate. Format is HH:MM
where HH = hours in 24hr format and MM = minutes.

housecode = any valid X-10 house code from A - P for which the timer
will operate.

devicecode = any valid X-10 device code from 1 - 16 for which the timer
will operate. Several device codes may be sent separated
by the ampersand, i.e. 1&2&16

function = module function to perform at given time.
Possible values are: ON, OFF and DIM.

level = the dim percentage the module is set to at the given time.
Values are 0 to 100. Do not include the percent symbol.

The Comm Engine will return the following data: {XX }ID3 timer {Y

Where:

XX = 0 if there was no error.
XX = 1 unsupported or illegal command.
XX = 5 command can't be executed because engine is offline.
XX = 8 invalid data (timer number, house, device, function code or level).
XX = 11 if the CP290 is not responding.
XX = 18 shareware limit of first 30 timers exceeded. CP290 timer limit
of 128 timers exceeded if registered version.

timer = 1 through 128 (the timer number).

Y = 0 if the status of the CP290 indicates no data.
Y = 1 if the status of the CP290 indicates that it has been programmed.

Note: Y is only present if XX = 0.

Example: Program timer 4 into the CP290. Timer has to turn off C1 at 11:30pm every weekday. Command:
rc = CLWritePipe( '}ID3 4 NORM MTWHF 23:30 C 1 OFF 0' )

Reply:
{0 }ID3 4 {1