Filename README.TXT, copyright W. L. Sexauer, January 29, 1989. The XControl program was written to provide a better method of operating the Powerhouse X10 (TM) controller than the software provided with the controller. The principal advantage of this program is that it allows events to be varied with the local sunrise and sunset without the effort of editing files or individually deleting and re-entering events. The XControl program also allows the following additional functions: setting the clock in the controller, setting the base housecode of the controller, deleting a single event from those stored in the controller, loading a complete schedule of events into the controller, loading a single event for execution now, today or tomorrow, or displaying or printing the events stored in the controller. The program is marketed under the shareware concept. You are free to try out the program, and to distribute it to others as long as you do not charge for it and provided that you include this file unaltered. If you find that the program is useful, please send a payment of $15.00 to the author: William L. Sexauer, 15548 SE 175th Court, Renton, WA, 98058. Registered owners will be notified of new versions as they are developed. SYSTEM REQUIREMENTS System requirements are minimal, an IBM PC or compatible with 256K memory, single floppy drive, CGA or better monitor, and an X-10 PowerHouse (TM) model CP290 computer interface unit attached to a COM port. The computer interface unit is hereafter referred to as the controller. INSTALLATION - FLOPPY DISK SYSTEMS The first step should be to make a backup copy of the distribution disk. Then, for installation to a floppy disk, put the backup disk into the A drive, type A: and then run the program XCINSTAL. If you are installing to the backup disk, select only C (select Comm port) and D (update Data files) from the main menu. If you are installing from one floppy drive to another, follow the instructions below for hard disk installation except substitute the appropriate drive letters (usually B: instead of C:). After entering the appropriate comm port, the program will ask whether your printer supports a line drawing set. Press Y or N as appropriate. Both XControl and XCEdit will use line drawing characters for formatting printed output if your printer has the capability. If not, the programs will use standard ASCII characters such as -, |, and +. The data file installation will require your location, either by entry of your latitude and longitude or by selection of your state and city from a list. It also needs to know whether your area observes daylight saving time and, if so, when it starts and ends. For areas observing the Federal Daylight Saving Time, it will start on the first Sunday in April and end on the last Sunday in October (choice no. 1 from the menu.) The installation program will then calculate the sunrise and sunset time for each day of the year for your location. It will be accurate to about 5 minutes, excluding errors such as result from a nearby mountain range delaying sunrise or speeding sunset. I have found this to be sufficiently accurate for turning lights on and off to give my house a lived-in appearance. If your area does observe daylight saving time, you will need to run the XCInstall program each year sometime between January 1 and the first day of daylight saving time. Otherwise, you will have a few days at the beginning and end of daylight saving time where XControl is an hour different than your clocks. INSTALLATION - HARD DISK SYSTEMS To install the program onto a hard drive, insert the distribution disk (or better, a backup copy of the distribution disk) into the A: drive, type A: and then run the program XCINSTAL. The program will prompt you for the necessary information. From the main menu, select A for all. For an initial installation, it will need to know what drive and directory you wish to use for both source and destination. It will ask for confirmation of drives and will then copy the program files to the destination disk and directory. After entering the appropriate comm port, the program will ask whether your printer supports a line drawing set. Press Y or N as appropriate. Both XControl and XCEdit will use line drawing characters for formatting printed output if your printer has the capability. If not, the programs will use standard ASCII characters such as -, |, and +. The data file installation will require your location, either by entry of your latitude and longitude or by selection of your state and city from a list. It also needs to know whether your area observes daylight saving time and, if so, when it starts and ends. For areas observing the Federal Daylight Saving Time, it will start on the first Sunday in April and end on the last Sunday in October (choice no. 1 from the menu.) The installation program will then calculate the sunrise and sunset time for each day of the year for your location. It will be accurate to about 5 minutes, excluding errors such as result from a nearby mountain range delaying sunrise or speeding sunset. I have found this to be sufficiently accurate for turning lights on and off to give my house a lived-in appearance. If your area does observe daylight saving time, you will need to run the XCInstall program each year sometime between January 1 and the first day of daylight saving time. Otherwise, you will have a few days at the beginning and end of daylight saving time where XControl is an hour different than your clocks. CREATING A SCHEDULE FILE The default schedule file name is SCHEDULE.DAT. You may copy a sample by that name from the distribution disk, or you may begin from scratch. Run the program XCEdit to create and/or modify the schedule file. Select Add to program an event. I keep my schedule file sorted by adding new lines at specific line numbers, but you may just press RETURN instead of specifying a line number, this will add a new line at the end of the file. You will get a formatted entry screen. The cursor keys, tab and backtab keys may be used to move from field to field. It does not matter whether you use upper or lower case letters, the program will make all input lower case except that the initial character of each field will be set to upper case. Press RETURN only when you have filled all of the fields you intend to use, this will cause the program to examine all of your input and accept it or issue an error message(s) and ask you to correct the input data. Most fields are self explanatory, but a couple are described here. Function may be On, Off or Dim. The DIM field is used only if the function is Dim; it is a number between 0 and 15 specifying the brightness of the lamp. 0 is off, 15 is full brightness. Time must be entered in the format hh:mm. You may use a space or a zero in the first column for single digit hours, but you must use a zero for single digit minutes. For example, 05:07 and 5:07 are both valid, but 5:7 is not. Mode may be Regular or Security (simply R or S is a sufficient entry.) Security mode sets the event to occur at a random time sometime during the specified hour. The minutes are ignored for the security mode, but must be entered anyway. Days are specified by filling one column for each day of the week desired. You may enter "M W F" for Monday, Wednesday and Friday, or you may use x's for each day. "X X X" does the same job as "M W F". The Months field may be used to limit the event to specific months. Simply enter the first and last months by using the first three letters of each, with a - (dash) in between. For example, Oct-Mar will cause the event to be scheduled only between October and March, inclusive. The Time Limit field may be used to indicate a limiting time to prevent a variable time from varying too far. A < sign denotes that the following time is the latest time that may be programmed, but that it will be programmed. For example, < 4:40 indicates that the event will occur no later than 4:40. A > sign denotes that the following time is the limit after which the event should not be programmed at all. For example, an entry of > 7:00 (AM) would mean that if the sunrise is sufficiently late that a light would be turned on after 7:00, it will not be turned on at all. At present, there is no corresponding initial limit, but this feature is planned for a future update. RUNNING THE XCONTROL PROGRAM Simply type XCONTROL to run the program. You will get a menu of possible functions. Alternatively, you may specify any single function letter from the command line. In this case, the menu is bypassed and the function will be performed (assuming that it is a function requiring no further input) and the program will terminate. This feature was primarily done to enable the L (load) function to be performed from a batch file. If no function is specified on the command line, the menu will be presented. At the completion of any function, the menu will return. The XControl program reads three data files and uses the information from them to download a set of event programs to a Powerhouse X10 (TM) controller. The data files are XCONTROL.INI, SUNRISE.DAT and SCHEDULE.DAT. The XCONTROL.INI file just contains the COM port number and a flag indicating whether your printer supports the line drawing set. This file is created by the XCInstal program during initial installation. The SUNRISE.DAT file contains the approximate sunrise and sunset times. This file is also created by the XCINSTAL program. The SCHEDULE.DAT file contains the list of events that you wish to have programmed in the X10 controller. The events are stored in the controller by line number of the file, not by unit number. However, the XControl program will clear all events not listed in the file. The SCHEDULE.DAT file may be updated by using the XCEDIT program. Other filenames may be used if desired. (I use a separate file called VACATION.DAT for the Christmas holiday season.) The XControl program updates the events which are scheduled based on sunrise or sunset whenever the L (load controller) function is used. It is not a memory resident program that will automatically update the times. I find that running it about once a week is adequate. You don't need to revise the schedule file, just type XCONTROL L daily, weekly or whenever you wish. The format of the schedule file is provided for those who wish to use another editor, you don't need to worry about it if you plan on using the XCEdit program to maintain your schedule file(s). The format is as follows. Column 1 contains the housecode of the device to be programmed. This must be a letter in the range of A to P. Column 2 should be blank. Columns 3-4 contain the unit code of the device to be programmed. Columns 5-30 are a description of the unit to be programmed. Columns 31-33 are the function code. ON, OFF and D (dim) are the allowed codes. If D is entered, it must be followed by a number from 0 to 15 representing the desired brightness level. 0 is full dim, or off; while 15 is fully bright. Column 34 should be blank. Columns 35-39 are the time to be programmed. Two formats are possible. The first format is HH:MM, where HH is the hour (1-12) and must have a leading space if both columns are not used. The minutes may be 00 to 59. The second format is SR+MM, where SR may be used to indicate sunrise or SS may be used for sunset. The + indicates that the minutes following are to be added to the sunrise or sunset time, while a - would subtract the minutes from the sunrise or sunset. The minutes in this case may vary from 00 to 99. For example, SR+15 would indicate 15 minutes after sunrise. Column 40 should be blank. Columns 41-42 must be either AM or PM. Column 43 is blank. Columns 44-49 may be used to indicate a limiting time to prevent a variable time from varying too far. A < sign denotes that the time in columns 45-49 is the latest time that may be programmed, but that it will be programmed. For example, < 4:40 indicates that the event will occur no later than 4:40. A > sign denotes that the time in columns 45-49 is the limit after which the event should not be programmed at all. For example, an entry of > 7:00 (AM) would mean that if the sunrise is sufficiently late that a light would be turned on after 7:00, it will not be turned on at all. Column 50 is blank. Columns 51-59 are the mode. Allowable entries are REGULAR, SECURITY, or blank. A blank mode will clear the event in the X10 controller. Column 60 is blank. Columns 61-67 are the days. Column 61 is M for Monday if the event is to be scheduled, otherwise it is blank. Similarly, columns 62-67 contain T W T F S S or blanks. Since it is the position of the character which is important, not its value, the use of T for both Tuesday and Thursday is not a problem. Similarly with the letter S. When using the XCEDIT program to add or revise an event, you may simply enter an X in the columns desired. The XCEDIT program will put the proper letters in the output file. Column 68 is blank. Columns 69-77 may be used to limit the event to particular months. Examples are: DEC-DEC would only be programmed during December. APR-JUN would be programmed during April through June. OCT-FEB would be programmed during October through December AND January through February. It is critical that every line in the file be EXACTLY 77 characters long. The program WILL NOT operate correctly with any other line length. The file is an ASCII file and may be modified with any word processor that will allow keeping the fixed length lines. However, use of the XCEdit program will be the most convenient method of updating the schedule files. I hope that this program is useful to you. If you have any questions or suggested improvements, please let me know. William L. Sexauer 15548 SE 175th Ct. Renton,Washington, 98058 (206) 226-2845