This function reads all 128 timer data from the CP290 at once. Only timer data that is valid is returned. Cleared or unrecognized timers are not returned. The command format is as follows:

}ID5

No data needs to be supplied with the command.

The Comm Engine will return the following data: {XX }ID5 {timer mode weekdays time housecode devicecodes function level


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 = 11 if the CP290 is not responding.
XX = 19 Comm Engine is reading data from CP290. Each increment
corresponds to 100 bytes read and is used to show progress.
XX = 20 command is still executing, more data to come.

timer = 1 through 128 (the timer number).

mode = timer mode. Possible values are: NORM = Normal, SEC = Security,
TOD = Today, TOM = Tomorrow.
Normal operation indicates that the timer works 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.
Timer data that can not be identified or timers that are cleared, are not
returned. You can assume that that particular timer is available.

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. Only one house code will be returned.

devicecode = any valid X-10 device code from 1 - 16 for which the timer
will operate. Several device codes may be returned 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. Does not include the percent symbol.

Example: Request all CP290 timers. Command:
rc = CLWritePipe( '}ID5' )

Reply:
{19 }ID5 {1
{19 }ID5 {2
{20 }ID5 {1 NORM UMTWHFS 18:20 A 1&2&3&4&16 ON 0
{20 }ID5 {2 NORM UMTWHFS 23:02 A 1&2&3&4&16 OFF 0
{20 }ID5 {3 NORM UMTWHFS 18:00 C 1 DIM 80
{20 }ID5 {4 NORM UMTWHFS 23:30 C 1 OFF 0
...
{20 }ID5 {101 NORM MTWHF 23:30 C 2 OFF 0
{0 }ID5

Each timer is read sequentially from 1 to 128 and the data is
returned for each valid timer. Because of the slow communications
speed and the large amount of data that needs to be read from
the CP290, this process takes a while to complete. The
{19 }ID5 {1 data is an indication of the reading process. Each
increment indicates 100 bytes read from the CP290. Ensure that
your program reads the pipe during this operation or it may
eventually over-run and data is lost. Invalid or cleared timers
are not returned. In the above reply, one can assume that timers
102 through 128 are available for programming. The command
{0 }ID5 indicates completion of reading timers.