Introduction What is X10MSW? Getting Started Demo Mode See Selecting Demo Mode Windows Units Monitor Current Events Event File Procedures Associated with Units Associated with Events Associated with Interfacing to the CP290 and PLIX Associated with Monitoring Glossary appliance base housecode bright conditionals days description demo mode dim event fade housecode lamp normal PLIX security select time today tomorrow TW523 type unit unit number up x10.ini -------------------------------------------------------------------------- Overview of X10MSW X10MSW is a MS-Windows application which allows you to control lights, appliances, etc. around your home from your PC. X10MSW is meant to be used with the CP290 "Powerhouse" computer interface manufactured by X10 USA, although there is a demo mode which does not require a CP290. The CP290 attaches to your PC via a serial cable, and works with other X10 devices (called units) to control lights, appliances, etc. around your house. With X10MSW, you can send "direct" commands to turn things on, off, or, in the case of lights, dim or brighten them. You can also download a set of events into the CP290's battery backed-up memory for execution at some preset time/day. Once the CP290 has a set of events in its memory, you can turn the PC off and the CP290 will continue to execute those events. Events are anything you can do with "direct" commands such as on, off, dim, etc. X10MSW also supports the PLIX evaluation board from Micromint Inc. which allows you to use a standard parallel printer port (LPT1-3) with a TW523 bi-directional powerline interface from X10 USA. This allows you to monitor all X10 events and to do bright commands. See PLIX for contact information on Micromint Inc. X10MSW allows you to define a set of icons which represent the various X10 units you have around your house. X10MSW has icons for lamps, generic appliances, fans, radios; or you can customize each X10 unit with your own icons that represent the unit when it is on and off. You give each unit a description which is used throughout X10MSW. X10MSW also allows you to monitor the commands being sent by the CP290, or with the optional PLIX interface monitor all X10 commands. Finally, X10MSW allows you to manange multiple files which contain CP290 events. It does all this using MS-Windows Multiple Document Interface (MDI) which allows several windows within the one X10MSW main window. X10MSW events are fairly sophisticated, consisting of a command such as on, off, dim, bright, etc.; the X10 unit or units which are to be affected; a time of day including sunrise, sunset, or plus/minus offset from them; a day of the week; and a month of the year. Each event can be frozen - meaning it will not occur until you thaw it; or it can be qualified to only occur when you are on vacation (you have to tell X10MSW you are going on vacation); or it can be qualified by any of 8 conditionals which you define and set or reset. X10MSW events may also be defined to happen "now", allowing you to build up event files which do a bunch of direct commands. If you start X10MSW, giving the name of an event file with only "now" events, they will be done automatically and X10MSW will exit after all direct commands are done. -------------------------------------------------------------------------- Getting Started X10MSW can be kept in any directory. You do not need to install or configure X10MSW before running it. It does create and use an x10.ini file in your MS-Windows directory. You can edit the .ini file if you wish, but you can configure/customize X10MSW's operation completely from within X10MSW. A sample x10.ini file is included which you can copy to your MS- Windows directory. If X10MSW is given the name of an event file when it is started, that file is opened and its contents are displayed in an Event File window. Since all X10MSW event files have an extension of .x10, you can associate X10MSW with an extension of .x10 (Use MS-Windows File Manager) to have MS-Windows start X10MSW when you double click on an event file. If the event file has only direct (now) commands, they will be done automatically and X10MSW will exit when finished. X10MSW uses the current MS-Windows colors for things like title bars, backgrounds, text, etc. If you change the MS-Windows colors via the control panel X10MSW will change its colors accordingly. You will probably want to set up the following parameters the first time you start X10MSW: 1) Define the COM port to which the CP290 is attached The first time you start X10MSW you will be in demo mode (you probably saw the message box telling you this before you got into this help text). In order to actually use a CP290, you need to use the Interface menu item to select the COM port (1-4) X10MSW is to open to communicate with the CP290. See Selecting COM Ports. 2) Set the CP290 Base Housecode and Time If you were using the CP290 before, chances are you have its base housecode and time already set. If not, you can use the Interface menu item to set the base housecode (for the keys on the CP290) and the time. See Changing Base Housecode and Setting the Clock. 3) Set the Latitude and Logitude In order to use times like sunset and sunrise, X10MSW needs to know your Latitude and Longitude. A file with the Lat/Long for many cities around the world is included with X10MSW - it is called latlong.dat. Use your favorite editor or Windows Notepad to view the file and locate your Latitude and Longitude. You can also find Latitude/Longitude in an almanac. X10MSW only uses degrees, not minutes or seconds. Once you know your Latitude and Longitude, select (click once) the current events child window and use the Set Lat/Long item in the Options menu to bring up a dialog box for telling X10MSW your Latitude and Longitude. See also Setting Latitude/Longitude. 4) Define the units in your home A sample x10.ini file is included which you can copy to your MS-Windows directory to see what a sample set of units is like. You should use the Units child window to add/edit/delete the units so they match those defined in your home. See Procedures Associated with Units:for more help. At this point you are ready to exert direct control over any units you have defined. 5) Save any events currently in the CP290 If you have been using the CP290, you probably have some events stored in its memory. To upload and save these events, follow these steps: a) Restore the child window called "current events" b) Wait until the upload completes - IGNORE THESE EVENTS X10MSW uses the graphics RAM in the CP290 to save additional information about events, such as month of the year, user conditionals, frozen, etc. Your old CP290 program probably did not use this, and so the events you see will look funny. c) Use the Upload - no conditionals item under the File menu This uploads without the stuff kept in the graphics RAM. These events will be active for all 12 months of the year, not frozen, etc. You can save these events to a file and edit them later. 5) Look at the sample.x10 event file You can open the sample.x10 event file to see examples of some complicated events. Note that when you open an event file you can tell X10MSW to remember a particular directory. All file operations (open, save, etc.) will start in that directory from then on, including after you have exited and re-started X10MSW. -------------------------------------------------------------------------- Units Window The Units child window displays the collection of icons that represent the units you have defined. Each unit has a housecode, a unit number, and a description. Each unit also has a type which causes a certain icon, such as a light bulb, a fan, etc. to be displayed. You can define your own unit types and the icons that represent them. There is usually an active unit whose description is highlighted (referred to as selected). The unit icons are arranged based upon the size of the description. If you resize the window, the icons may move, but their order will be unchanged. If there are too many icons to fit the current window size, scroll bars wil appear and you can use those to scroll the icons into view, or use the PgDn/PgUp keys. Note that this window cannot be closed. Procedures Associated with Units Adding a Unit Selecting a Unit Controlling a Unit Deleteing a Unit Changing a Unit Creating New Unit Types/Icons Rearranging Unit Icons Commands File Menu Edit Menu Direct Menu AllUnits Menu Interface Menu Window Menu -------------------------------------------------------------------------- Monitor Window The Monitor child window allows you to monitor the commands sent by the CP290, either direct commands (via X10MSW or keys), or stored events. Unfortunately, the CP290 cannot tell X10MSW about commands sent by other X10 controllers. With the optional PLIX inteface X10MSW can monitor all X10 commands generated by any console/device in your house. The monitor child window can display CP290 only, PLIX only, or both. In addition, commands received by the PLIX interface can cause a short beep. The Monitor window holds up to 100 commands, each of which is optionally time and/or date stamped. You can scroll back and forth using the scroll bars and/or PgUp/PgDn; and also start a log file. The log file is limited only by available disk space; it does not wrap. The Monitor window will continue to monitor commands even when minimized. If you scroll the most recent command off the screen, the window will not scroll; otherwise the window will scroll down as commands are displayed. Note that this window cannot be closed. See also Procedures Associated with Monitoring:. Commands File Menu Options Menu Interface Menu Window Menu -------------------------------------------------------------------------- Procedures Associated with Monitoring To change date and/or time stamping: 1) Use the Options menu item to choose time/date stamping. A checkmark indicates what is active. Time/Date stamping will affect both the display and logging of commands sent by the CP290. To clear the window: 1) Use the ClearScreen item in the Options menu to clear the window. To start/stop logging to a file: 1) Use the File menu to start/stop logging to a file. When starting, you will get a dialog box to select the file to write to. If the file exists, you will be asked to confirm overwriting it. The name of the log file is placed in the monitor window title bar. To control display of CP290 and/or PLIX commands: 1) Use the Options menu item and check any combination of Show CP290 and/or Show PLIX. A checkmark indicates commands received by that device will be displayed. Commands received via the PLIX interface will be prefixed with a "PLIX" string in the monitor output. To cause a short beep when commands are received via the PLIX: 1) Use the Options menu item and check Beep PLIX. A checkmark indicates a short beep will be made whenever a command is received from the PLIX interface. -------------------------------------------------------------------------- Current Events Window The current events child window is a special event window which reflects the set of events currently in the CP290. You can manipulate the events just as you would in an event file. The current events window is in one of two modes - immediate or delayed. When in immediate mode, any change you make to an event is immediately made in the CP290. In delayed, you must download the set of events to the CP290. The current events window starts minimized. When you restore it, an upload from the CP290 is done. If you download the CP290 from another event file, the current events window is updated to reflect the new set of events. Note that this window cannot be closed. See also Procedures Associated with Events. Commands File Menu Edit Menu Options Menu Interface Menu Window Menu -------------------------------------------------------------------------- Event File Window Event file child windows allow you to manipulate a set of events and load/store them from/to files and/or download them to the CP290. You can have multiple event file windows open at one time, allowing you to easily see the differences between them. X10MSW likes to save events to files with extension of .x10, but you could use any extension. You open an event file, which creates an event file window, by using the Open item in the File Menu at any point. You can create a new event file by using the New item in the File Menu. Each Event window has a listbox which displays the events in the file. If you resize the window, the listbox changes size with it. The event listbox has a vertical scroll bar but no horizontal scroll bar. See also Procedures Associated with Events. Commands File Menu Edit Menu Options Menu Interface Menu Window Menu -------------------------------------------------------------------------- Procedures Associated with Interfacing to the CP290 and PLIX Selecting COM Ports Selecting Demo Mode Activating PLIX Ports Changing Base Housecode Setting the Clock Testing the CP290 -------------------------------------------------------------------------- File Menu This menu has several items in common to all child windows, and some items which are unique and change with the active child window. Items in common are: Open - open an event file (creates event child window) New - creates a new event file (and event child window) Exit - exits X10MSW - asks for confirmation if you made any changes About - simple about box See also: File Command Menu - Monitor Window File Command Menu - Current Events Window File Command Menu - Event File Window -------------------------------------------------------------------------- File Command Menu - Monitor Window The File menu when the Monitor child window is active has an item which allows you to start/stop logging of events. The menu item changes depending on whether the log is open or closed. See Procedures Associated with Monitoring -------------------------------------------------------------------------- File Command Menu - Current Events Window The File menu when the current events child window is active has items which allow you to save the current events into an events file, append an events file, upload from the CP290, download a set of events to the CP290, or print the current events. See: Save Save As Append Upload Download Print -------------------------------------------------------------------------- File Command Menu - Event File Window The File menu when an event file child window is active has items which allow you to save the events into the file they came from or into a different file; open another event file using the same event window; append another event file to the event file open in this window; download this set of events, or print this event file. See: Save Save As Open Another Append Download Print -------------------------------------------------------------------------- Direct Command Menu Allows you to command a unit to turn on, off, dim, fade, or go up.If the PLIX interface is active you can also do a bright command. Simply select a unit, and use the appropriate item in the Direct menu. You may also control a unit by double-clicking with a mouse or selecting it and hitting Enter on the keyboard. Note that on, off, dim and bright are done via the PLIX interface (if active); fade and up are always done via the CP290. -------------------------------------------------------------------------- Edit Menu - Units Window Allows you to add, delete, or change unit definitions. When you define a unit, you supply its housecode, unit number, description, and type. This information is used to display a unit in the Units window. See: Add Del Change Note that when there are no units defined, the Del and Change items are not valid. -------------------------------------------------------------------------- Edit Menu - Event Window(s) Allows you to add, delete, or change an event. If there are no events in the window, delete and change are disabled. The standard cut, copy, and paste clipboard operations are supported on events. This menu also allows you to strip or set conditions on all events in the window. See: Add Del Change Global Cond Set Global Cond Strip Note that if there are no events in the window, only the Add item is valid -------------------------------------------------------------------------- AllUnits Menu These commands allows you to command all unitss to turn on, off, dim, or fade. Note that with the CP290, you will turn all units, be they lamp or appliance units on, unlike other X10 command consoles which will only turn all lamps on. You can command units with the same housecode as the CP290 base housecode, or you can specify any other housecode. When a PLIX interface is active, all lights on and all units off is done via the PLIX, all dim and all fade are done via the CP290. Unlike the CP290, the PLIX interface does generate the all lights on command. -------------------------------------------------------------------------- Interface Menu This command allows you to set the com port (1-4) to which the CP290 is attached. Note that the com port you choose is saved in the x10.ini and will be used next time X10MSW is run. This menu also allows you to select demo mode. Similarly, you use this menu to activate a PLIX interface on a parallel port (LPT1-3). You also use this command to change the CP290's base housecode, clock, or run self-tests. See: Selecting COM Ports Selecting Demo Mode Activating PLIX Ports Changing the CP290 Clock Changing the base housecode Testing the CP290 -------------------------------------------------------------------------- Monitor Options Menu This menu allows you to turn date and/or time stamping on or off. You can also clear the window, control CP290/PLIX output, and cause a short beep when commands are received via the PLIX interface.. See Procedures Associated with Monitoring -------------------------------------------------------------------------- Event Options Menu Gives you control over how events are sorted; allows you to define your own conditionals; and, for the current events window, allows you to switch between immediate and delayed mode. See: Sort by Housecode/Unit Sort by Time Set Conditionals Set Lat/Long -------------------------------------------------------------------------- Window Menu This is a standard MDI window menu which allows you to arrange the child windows or select the active child window. Note that the Arrange Icons item does not mean arrange the unit icons -------------------------------------------------------------------------- Adding a Unit To define a new unit: 1) Choose Add from the Edit menu - or - Click anywhere there is no unit icon 2) Choose the housecode 3) Choose the unit number 4) Enter the unit description5) Choose the unit type by selecting a type from the listbox. You can see the "on" and "off" icons that will be used to represent the unit by selecting a type from the listbox. As part of this, you may create a new type and/or change the icons (see Creating New Unit Types/Icons). The ADD button adds this unit, and leaves the dialog so you can add another unit The OK button adds this unit and exits the dialog The new unit will be displayed in the Units window, and be selected. This makes it easy to rearrange the new unit's icon in the unit window. The add dialog starts with a unit number that is one greater than the currently selected unit (or the last unit added); and is started with the CP290's base houscode. -------------------------------------------------------------------------- Deleting a Unit To delete a unit: 1) Select a unit from the Units window 2) Choose Del from the Edit menu - or - Use the Del key 3) You will be asked to confirm the deletion of the unit The first unit in the Units window will be selected. -------------------------------------------------------------------------- Changing a Unit To change a unit: 1) Select a unit from the Units window 2) Choose Change from the Edit menu 3) A dialog similar to Addding a unit will display the current unit's parameters 4) Make the changes required 5) Either the CHANGE or OK button will make the change If you change the unit number or housecode to one already defined, you will asked if you want to really do that. If you change only the description or type, the icon will not "move" in the Units window. Otherwise the icon will move, but you can always rearrange the icons. -------------------------------------------------------------------------- Selecting a Unit To select a unit in the Units window: mouse Click on its icon or text. Note that if not all units are visible in the Units window, you can use the scroll bar to scroll the Units window. keyboard Use the cursor or tab keys to move from unit to unit. Note that if not all the units are visible in the Units window, you can use the PageUp and PageDown keys to scroll the Units window -------------------------------------------------------------------------- Selecting COM Ports To select/change the port to which the CP290 is connected: 1) Choose COM1-4 from the Interface menu The port chosen will be checked. X10MSW will try to get the base housecode from the CP290 immediately. If the cable is not connected, the com port is not working, the CP290 is not working, you have the com ports configured in Windows incorrectly, or some other problem which prevents X10MSW from getting the base housecode, you will see a timeout message. Correct the problem and re- select the com port . The com port to use is changed in the x10.ini file and used by X10MSW next time it is started -------------------------------------------------------------------------- Selecting Demo Mode To run X10MSW in demo mode 1) Choose Demo from the Interface menu. Note that if you were actually using a com port, it will be "forgotten" and you will have to re-select it (see Selecting Com Port). 2) X10MSW will run in demo mode (even if you exit and re-start it) until you select a com port -------------------------------------------------------------------------- Changing the base housecode To change the CP290's base housecode: 1) Choose Housecode from the Interface menu. The existing base housecode will be displayed. 2) Choose the new base housecode Note that changing the base housecode will erase all events stored in the CP290. You will be asked to confirm that you really want to do this. -------------------------------------------------------------------------- Changing the CP290 clock To change the CP290's internal clock: 1) Choose Clock from the Interface menu. The existing CP290 time/day will be displayed. 2) You may change the time/day and choose OK. If you enter the time in 24- hour format, it will be converted to 12 hour AM/PM format. - or - 3) You may choose the button displaying the system time/day to sync the CP290 with the system clock Note that in either case, the time will be changed when you make your selection. If you take a few minutes to decide/review your selection, the CP290 clock will be slow -------------------------------------------------------------------------- Testing the CP290 To run the CP290's self-tests: 1) Choose TestX10 from the Interfacemenu. This takes a few seconds; you will be told whether the tests failed or succeeded. Note that running self-tests will erase all events stored in the CP290 . You will be asked to confirm that you really want to do this. If you upload after a self-test, you will see a lot of garbage events. -------------------------------------------------------------------------- Activating PLIX Ports To activate a PLIX evaluation board: 1) Choose PLIX from the Interface menu 2) Choose LPT1-LPT3 or No PLIX X10MSW will check that a PLIX evaluation board is connected to the parallel port you specify, turn on the power to the PLIX board, and begin to poll for X10 commands received by the board. The LPT port is saved in the x10.ini file and is opened when X10MSW is started. A checkmark is placed next to the LPT port being used for the PLIX board. If an error has occured when accessing the board no LPT ports will be checked. X10 MSW expects LPT1 to be at (hex) 378, LPT2 at 278, and LPT3 at 3BC. Choosing No PLIX will turn off the board's power and will stop the opening of a LPT port for the PLIX board when X10MSW is started. Note that, if possible, the PLIX board should be powered either via a battery or an AC adapter connected via the battery leads rather than the J5 connection. This allows X10MSW to turn off power and reset the PLIX chip to clear any errors. -------------------------------------------------------------------------- Creating New Unit Types/Icons When you add or change a unit, you specify a type. Each type has an "on" icon and an "off" icon which is used when displaying the unit in the Units window. X10MSW has a set of pre-defined types and icons that go with them. You can add your own types whenever you add/change a unit. You will give the type a name, an "on" icon and an "off" icon. These are recorded in the x10.ini. You can also change the icons of the pre-defined icons, but you will need to change both the "on" and "off" icons. The following procedures assume you are in the Add/Change a Unit dialog box (via add or change). To define a new unit type: 1) Use the New button. 2) Specify the "on" icon file 3) Specify the "off" icon file 4) Give the type a description 5) Specify whether the type is a lamp or appliance 6) Choose OK To customize an icon for a type: 1) Select the type from the listbox 2) Use the Change button 3) Make changes as required. Note that if you are changing a pre-defined icon (lamp, appliance, misc, coffee, lampost, radio, or fan) you must change both the "on" and "off" icons. Currently the only way to "delete" a custom icon is to edit the x10.ini file and remove the icon description from either the "LampIcon" or "OtherIcon" sections. If X10MSW finds a unit icon that is unknown, a special icon with a question mark is used to represent the unit. -------------------------------------------------------------------------- Controlling a Unit To turn a unit on or off: mouse Double-click the unit icon. The icon will change to indicate on or off. keyboard Select the unit and hit enter. The icon will change to indicate on or off. To dim, fade, or up a unit, you must use the Direct menu -------------------------------------------------------------------------- Rearranging Unit Icons To rearrange unit icons within the Unit window: 1) Select a unit 2) Hold down the shift key and click the left mouse button on the unit where you want the selected unit to be moved to All the units "after" (left to right, top to bottom) the spot you moved the icon to will be moved over. Moving an icon to the last position requires two moves, one to move it to the second-to-last position by Shift/Clicking on the last icon, and then selecting the last icon and moving it to the second-to-last position -------------------------------------------------------------------------- Procedures Associated with Events All about Events Working with Current Events Opening an Event file Creating a New Event file Event Dialog Box Adding an Event Deleteing an Event Changing an Event Using the Clipboard Appending from another Event file Saving an Event file Downloading Events Uploading Events Closing an Event window Controlling how Events are sorted Defining user-defined Event Conditionals Setting/Resetting Event Conditionals Setting Latitude/Longitude and Timezone Printing an Event File -------------------------------------------------------------------------- All about Events Events are stored in the CP290's memory and used to control units (turn some on, some off, etc.) at the times and on the days you want. This is done completely by the CP290, the PC does not have to be on (if it is the CP290 tells X10MSW when it does an event - you can see these in the Monitor window). The CP290 can hold a maximum of 128 events. Each event consists of the following parts: Info. stored and used by the CP290: 1) Housecode 2) One or more units 3) A command: on, off, dim, up, or fade 4) A time (more about this below) 5) A day or set of days Extra info. stored and used by X10MSW: 6) Time "qualifiers" like now, sunset, sunrise, etc. 7) Event conditionals like months, frozen, vacation, and 7a) up to 8 user-defined conditionals The "extra" info. is used by X10MSW to determine if a particular event should be downloaded to the CP290, or if the time should be calculated by X10MSW before it is downloaded. An event which X10MSW determines should not happen is still downloaded to the CP290, but it is scheduled to occur on no days. This way, the current events window has all the events you have specified. This "extra" info is saved in the CP290 graphics RAM. Events are displayed in a listbox in event windows. See How Events Are Displayed. Event Dialog Box Events can also be kept in event files, which X10MSW likes to give an extension of .x10. -------------------------------------------------------------------------- Event Dialog Box The event dialog is used whenever you are adding or changing an event. It is a pretty busy dialog. Listed below are the things you will want to do with the event dialog in order to get events to be the way you want them: Specifying Event Housecode and Unit(s) Specifying Event Days Specifying Event Times Specifying Event Conditionals Use the OK button to add/change the event When adding, use the ADD button to add this event and keep the dialog going for another new event. If the previous command turned the unit(s) on, this event will turn the unit(s) off, or vice versa. When changing, use the CHANGE button to change this event and keep the event dialog going (see above). The button will change to ADD. If you use the ADD or CHANGE button with a current event and the mode is immediate, the event will be downloaded. -------------------------------------------------------------------------- Specifying Event Housecode and Unit(s) To specify which unit or units will be affected by an event: 1) Use add/change event to start the event dialog box When you are adding an event, the housecode/unit are initially set to whichever unit is selected in the Units window. 2) Use the drop-down listbox in the upper-left corner to select a defined unit - or - 2) Select a housecode 3) Select a unit. To select multiple units, hold down the shift key and click/select each unit you want affected by this event - either by using the unit radio buttons or by clicking one of the units in the drop-down listbox (must be the same housecode). - or - Use the All Units button to select all units for a housecode. -------------------------------------------------------------------------- Event Time and Time Qualifiers Ultimately, each event is scheduled by the CP290 to occur at some time. Events that occur on some day of the week (not Today or Tommorow) can be in security mode, which causes the CP290 to vary the actual time the command occurs in a pseudo-random pattern.The actual time will be within one hour after the time specified in the event. Event times may take one of the following forms: 1) A specific hour/minute, AM or PM 2) NOW - just what it means. These events are not downloaded but done via the CP290's direct command capability. Each NOW event is counted towards the 128 event limit per event file/download. 3) Sunrise, or a +/- 59 minute offset from sunrise 4) Sunset, or a +/- 59 minute offset from sunset Sunrise and Sunset are calculated based on your Latitiude/Longitude, See Setting Latitude/Longitude and Timezone. Note that when you download events (See Downloading Events) you can tell X10MSW to not recalculate sunrise/sunset, otherwise these are recalculated each time you download. See Also: How Events Are Displayed Specifying event times in an event dialog -------------------------------------------------------------------------- Security mode causes the CP290 to vary the actual time an event occurs within one hour after the scheduled event time in a psuedo-random fashion -------------------------------------------------------------------------- Normal mode causes the CP290 to perform the event at the time scheduled. -------------------------------------------------------------------------- How Events Are Displayed Events are displayed in a listbox in each event window. Events which are inactive because of one or more false conditionals are displayed in gray text if your display supports gray text, otherwise the event is prefixed with an exclamation mark (e.g. on CGA displays). There are several sorting options which will affect what is displayed first and hence how events are sorted, but a typical event is displayed as: HU+ [Desc] CMD HH:MM isxx MTWTFSS Months FV12345678 Where: HU is Housecode and Unit. If the event has multiple units, each is displayed on a different line with the "+" indicator. Desc is the Unit description from the Units window. If the event has multiple units, the description is for the unit with the smallest number. CMD is one of: On Off DimX (X is 0-15) Fade Up. If the command is prefixed by a hyphen, it means that the current event in the CP290 would change if you did a download of the current events window right now. For example, if the event in the CP290 was active only in January and the current month is not January, then the command will be prefixed by a hyphen. This usually means you need to download either the current events or the event file which was previously downloaded. HH:MM is hour and minute in 12-hour format, i is A for AM and P for PM - or - Now for a direct command. Note that the current events listbox never contain any direct commands since they are not stored in the CP290 and are only done when an event file is downloaded. s is S for Security Mode, nothing for Normal mode xx is: Nothing for normal time sr for sunrise with optional +/- offset (1-59 minutes) ss for sunset with optional +/- offset (1-59 minutes) Note that the actual time which will be downloaded is in HH:MM For event files, this is calculated when the file is opened. For current events, this is the time uploaded; it is (optionally) recalculated during download. MTWTFSS indicates days of the week, or one of: Everyday Weekdays Weekend Today Tomorrow Months (JFMAMJJASOND) indicates months of the year, or one of: All Year Winter Spring Summer Fall FV12345678 indicates any active conditions, such as: F for frozen V for vacation 1-8 for the 8 user-defined condition -------------------------------------------------------------------------- Specifying Event Times in an Event Dialog To specify a time for an event: 1) Use add/change event to start the event dialog box 2) Use the time qualifier listbox (near the HH:MM and AM/PM button) to select one of: As displayed (no qualifications to the time displayed) Now - the days scheduled will still apply. Sunrise with optional +/- offset Sunset with optional +/- offset Note that offsets are limited to 1-59 minutes Also note that you cannot specify a Now event in the current events window 3) Use the buttons with numbers to select the hour, the minutes "tens", and minutes "ones". 4) Use the AM/PM button as required 5) Specify security or normal mode Note that security/normal does not apply to events which occur Today or Tomorrow. -------------------------------------------------------------------------- Event Days An event can be scheduled for any day of the week, Sunday through Saturday. An event can also be scheduled for Today or Tomorrow; these happen only once and then are deleted by the CP290 once they are executed. See Also: How Events Are Displayed Specifying event days in the event dialog -------------------------------------------------------------------------- Now events are not downloaded but done via the CP290's direct command capability. They may be affected by event conditionals and by any day of the week. They count towards the 128 event limit in event files -------------------------------------------------------------------------- Events scheduled for Today or Tomorrow occur only once at the time specified. The CP290 deletes the events after they have been executed. These types of events are always in normal mode -------------------------------------------------------------------------- Specifying Event Days in the Event Dialog To specify on which day(s) the event will occur: 1) Use add/change event to start the event dialog box 2) Select the days of the week as required - or - 2) Use the shortcut buttons for everyday, weekdays, or weekends - or - 2) Use the Today/Tomorrow buttons. These types of events are forced into normal mode, and cannot be Now events -------------------------------------------------------------------------- Event Conditionals When an event contains conditionals, X10MSW will determine if the event should occur. If it should, it is downloaded as normal to the CP290. If not, it is downloaded to occur on no days (the days you specified are saved elsewhere). Events which are qualified to not occur are displayed in grey text in event windows (or prefixed with an exclamation mark for displays that cannot display grey text such as CGAs). The following event conditionals are supported: 1) Month of the year 2) Frozen events which do not occur until you "thaw" them 3) Vacation 4) up to 8 user-defined conditions which allow you to build up your own conditions.This allows you to specify, for example, which events you want to happen only when you have guests staying with you by defining a conditional called "guests". See Also: How Events Are Displayed Specifying Event Conditionals Setting/resetting Event Conditionals Defining user-defined Event Conditional -------------------------------------------------------------------------- Specifying Event Conditionals You can specify conditions for a specific event via add/change event, or you can add or strip a conditional for all events in an event window. To specify conditionals for a specific event: 1) Use add/change event to start the event dialog box 2) Check the box(es) for the conditionals you wish to apply: Frozen events never occur until they are un-frozen (thawed?) Vacation User-defined conditionals Months of the year - you can use the shortcut buttons Shifted shortcut buttons are "additive". To add or strip conditionals for all events in a window: 1) Select the event window 2) Choose the Global Cond Set or Global Cond Strip item in the Edit menu The user-defined conditionals are listed as "User1 - User8"; the drop-down menu does not have the conditional names. The numbers 1-8 correspond to the numbers displayed in the dialog box used to define/set/reset conditionals (See Defining Event Conditionals). Note that you cannot globally set or strip conditions when in immediate mode.(See Working with Current Events). 3) Choose the conditional you which to add/strip. Note that you can choose a conditional which has no name defined. -------------------------------------------------------------------------- Setting/resetting Event Conditionals You can set or reset conditions which will affect which events are to be downloaded as active by X10MSW. The conditions which you can set/reset and hence affect any events which are subject to these conditions (see Event Conditionals) are: Vacation 1-8 user-defined conditions To set or reset an event conditional: 1) Select any event window 2) Choose the Set Conditionals item in the Options menu To set a condition, check its checkbox; to reset uncheck it. The conditional is set/reset for all event windows. Its state is stored in the x10.ini file. -------------------------------------------------------------------------- Defining user-defined Event Conditionals To define or change a user-defined Conditional: 1) Select any event window 2) Choose the Set Conditionals item in the Options menu Each conditional has an edit box for its name, and a checkbox to make the condition "true" or "false". To delete a conditional, just clear out its name. If you delete a conditional and some event in the active event window is dependent on the conditional you will be notified. You may want to use the Global Condition Strip (see Specifying Event Conditionals) to remove any dependencies. Note that other event files may still have this dependency so you should think carefully about deleting user-defined conditionals.. The conditionals are stored in the x10.ini file -------------------------------------------------------------------------- Opening an Event file To open an Event file: 1) Use the File menu in any window 2) Select Open to open a file into a new event window - or - 2) Select OpenAnother to open a file into the currently active event window. If you have made changes to the event file, you will be asked to confirm abandoning the changes. 3) Use the dialog box to select a file to open Note that if you change directories, you can tell X10MSW to remember the directory for next time it is started by using the checkbox in the dialog box. You will get an error message if the event file is corrupt or not readable. If the Open is successful, a new Event window will be displayed with the name of the file in the title bar and the events displayed in a listbox. If theOpenAnother is successful, the Event window title bar will be changed to reflect the new open file, and the listbox will contain the events from that file -------------------------------------------------------------------------- Adding an Event To add a new Event: 1) Use the Edit menu in any event window 2) Use the Add item You will get an event dialog box to specify the event. After exiting the event dialog box, the event you added will be selected in the listbox. When in the event dialog box, you can use the Add button to add an event and keep the dialog box going for another new event. The command will toggle between on and off. If you add a current event and the current events window is in immediate mode (See Working with Current Events), the change will be made immediately -------------------------------------------------------------------------- Deleting an Event To delete an event: 1) Select an event in the listbox 2) Use the Del key or the Edit menu Don't forget that an event which affects multiple units will be displayed as multiple lines in the listbox (these have a + after the housecode/unit). When you delete any of the lines that make up an event, that entire event is deleted.If you want to remove a particular unit from that event, change the event. If you delete an event in the current event window and it is in immediate mode (See Working with Current Events), the change will be made immediately -------------------------------------------------------------------------- Changing an Event To change an event: 1) Double-click the event in the listbox you wish to change - or - 1) Use the Change item in the Edit menu You will get an event dialog box to change the event. If possible, the event you changed will be selected upon return from the event dialog box. When in the event dialog box, you can use the Change button to change an event and keep the dialog box going for another new event. The command will toggle between on and off, and the Change button will change to Add. If you change a current event and the current events window is in immediate mode (See Working with Current Events), the change will be made immediately -------------------------------------------------------------------------- Using the Clipboard The standard clipboard functions (Cut, Copy, Paste) can be used in any event window. The functions have standard accelerator keys. Events are put into the clipboard in a private format and so cannot be edited by other Windows applications. -------------------------------------------------------------------------- Appending from Another Event file To append from another Event file: 1) Use the File menu in any event window 2) Select the Append item 3) Select the event file you wish appended Note that you cannot append to the current events window in immediate mode (See Working with Current Events). Don't forget about the limit of 128 events (including now events) per event file and that the CP290 cannot hold more than 128 events -------------------------------------------------------------------------- Saving an Event file To save an event file: 1) Use the File menu in any event window 2) Select either Save to save the events to the same file as is displayed in the event window title bar - or - 3) Select Save As to save the events into a file with a name you specify. Note that the current event window only allows the Save As operation. If you change directories as part of specifying the file name, you can tell X10MSW to remember the directory for next time it is started by using the checkbox in the file Save dialog. If, when using Save As, you specify a file name that already exists, you are asked to confirm you want to overwrite the file -------------------------------------------------------------------------- Creating a New Event File To create a new event file: Use the New item of any window's File menu. The new event window will be given a title of Untitled. Both the Save and Save As menu items act as Save As when you go to save the events. -------------------------------------------------------------------------- Downloading Events To download a set of events to the CP290: 1) Use the File menu in any event window 2) Use the Download item - X10MSW will recalculate any time(s) like sunrise, sunset, etc. - or for the current event window you may - 3) Use the Download - no sun recalc. to download without recalculating any time(s) like sunrise, sunset, etc. A dialog box is displayed during the download allowing you to see the progress of the download and to stop the download. The keyboard/mouse is disabled when the mouse is within in the X10MSW window during a download. Upon completion of a download from any event file window (not the current events window), the current events window is updated to reflect the events downloaded -------------------------------------------------------------------------- Uploading Events To upload a set of events from the CP290: 1) Select the current events window 2) Use the File menu 3) Select the Upload item - or - 4) Select the Upload - no conditionals item to upload events without any of the X10MSW-unique conditional information like months, frozen, vacation, etc. This is useful when you are uploading for the first time after using some other X10 software. The events uploaded are forced to have all month conditionals on and all user-defined conditionals off. A dialog box is displayed during uploading and shows you how the upload is progressing. The keyboard/mouse is disabled when the mouse is within the X10MSW window during the upload. -------------------------------------------------------------------------- Controlling how Events are Sorted Events can be displayed with the housecode/unit first, or with the time first. To change how events are sorted: 1) Use the Options menu in any event window The sort option takes effect in that event window only -------------------------------------------------------------------------- Setting Latitude/Longitude and Timezone In order to calculate the time of day for sunrise and sunset, X10MSW must know your latitude and longitude. These are available from almanacs, maps(?), etc. X10MSW also calculates whether daylight savings is in effect via the TZ environment variable. This has the format TZ=zzz[+/-]d[d][lll] where zzz is a three-character string representing the name of the current time zone, [+/- ]d[d] is a required field containing an optionally signed number with 1 or more digits specifying the local time zone's difference from GMT in hours, and [lll] is an optional three-character string which, if present, indicates that standard US daylight savings applies. TZ defaults to EST5EDT. To specify your Latitude and Longitude: 1) Use the Options menu in any event window 2) Select the Specify Lat/Long item Use the edit boxes to specify the values in degrees (only minutes, no seconds). Use the ReCalc button to recalculate and show the various times 3) Use the OK button to actually change the values. The values for Latitude and Longitude are saved in the x10.ini file. X10MSW comes with a file (latlong.dat) which contains the latiitude and longitude of major cities around the world. You can use your favorite editor or Windows Notepad to search the file. To specify that daylight savings does not apply: Before starting Windows, set a TZ environment variable (See your DOS manual) which does not have the [lll] part described above, e.g. EST5 -------------------------------------------------------------------------- Working with Current Events The current events window is meant to always reflect the current contents of the CP290's RAM. It starts out minimized and uploads the contents of the CP290 when it is first restored. The current events window is pretty much like other event file windows, with the following differences: It is only in the current events window that you can upload events. The current events window can send any changes/additions you make immediately or you can make all the changes at once (called download). To have changes be done immediately, select the Immediate Mode item in the Options menu of the current events window. When you download another event file, the current events window is updated to reflect the contents of the CP290. You cannot close the current events window (you can minimize it). Direct commands (now) are not stored in the CP290 since they are done during download and then do not need to be remembered, so the current events window will never have direct command (now) events -------------------------------------------------------------------------- Closing an event window To close an event window: 1) Use the File menu of any event window except current events 2) Choose the Close item If you have made any changes to an event file and have not saved them to a file or have made changes to the current events window and not downloaded them, you will be asked to confirm abandoning the changes. If you want to save the changes, answer No and save the events (for an event file window) or download the events (for the current events window) -------------------------------------------------------------------------- Printing an event file To print an event file or the current events: 1) Use the File menu of any event window including current events 2) Choose the Print item The printed output includes: The name of the event file and current date/time Any user-defined conditionals, and the "vacation" state All events, double spaced. See How events are displayed. Inactive events are prefixed with an exclamation point; these would be displayed in grey text on a display that supports grey text output -------------------------------------------------------------------------- Immediate Mode Any changes made to events in the current event window will be sent to the CP290 immediately. If you have only a few changes to make, this will be faster than having to download the entire set of current events -------------------------------------------------------------------------- Delayed Mode Any changes made to events in the current event window will be made inside X10MSW only. You must download the current events to the CP290 in order for the changes to take effect. -------------------------------------------------------------------------- Unit Each X10 (or compatible) module, wall switch, etc. is a separate unit. Each unit has a housecode and unit number which you set. Generally, each unit is a different lamp, appliance, etc, although you can assign the same housecode and unit number to multiple modules, wall switch, etc. and they all get lumped together under one unit. -------------------------------------------------------------------------- Housecode A letter from A to P. Generally all your units will have the same housecode, although if you have more than 16 units you will need to use more than one housecode. Housecodes prevent confusion should your neighbor be using X10 units and command are crossing over between houses -------------------------------------------------------------------------- Lamp A type of unit (wall module or wall switch) which can be used to control incandescent lamps only. These units are capable of dimming the lamp and so should not be used with appliances -------------------------------------------------------------------------- Appliance A type of unit (wall module) which can be used to control appliances, lamps, etc. These units are not capable of dimming. They contain a latched relay which during a power failure will stay in their previous "state" (on or off). -------------------------------------------------------------------------- Unit Number A number from 1 to 16 which is set on each unit. Commands to control a unit (turn it on, off, etc) always contain a unit number which specifies which unit to control. -------------------------------------------------------------------------- Description A text string which should describe what or where a unit is, e.g. Livingroom Table. It should not contain words like lamp, appliance, etc. since the unit's icon will tell you that. It should not be too long or the icon will take up too much room in the main window. This can never be longer than 64 characters -------------------------------------------------------------------------- Type Each unit has a type. X10MSW has a bunch of pre-defined types such as lamp, appliance, fan, radio. You can also define your own types and icons to go along with them. You can specify new icons for the pre-defined types too, although you must specify both an "on" and "off" icon. Only lamp type units can be dimmed -------------------------------------------------------------------------- Base Housecode The CP290 has a base housecode which is used when you depress the keys on top -------------------------------------------------------------------------- Dim A lamp unit can be dimmed to one of 16 (0-15) levels, with 0 being the brightest and 15 the dimmest. X10MSW uses hexadecimal notation (10-15 is a-f) so that accelerators can be used to specify a dim level. -------------------------------------------------------------------------- Up This undocumented CP290 command causes an "All Lights Off" X10 command followed by several bright commands to the selected unit. The "All Lights Off" command is not standard and is not obeyed by all X10-compatible modules -------------------------------------------------------------------------- Fade This command will turn any unit off. Lamp units are dimmed to fully off, appliance modules are switched off. This is not documented in the CP290 documentation but seems to work very reliably -------------------------------------------------------------------------- Bright This command will cause a lamp unit to increase in brightness. If it is currently off it is turned fully on. This is supported only when using the PLIX interface. -------------------------------------------------------------------------- x10.ini This file contains all the unit information in "Windows" format. It must be in your windows directory. You can edit it manually, the format should be pretty easy to figure out -------------------------------------------------------------------------- Selected When a unit is selected, its housecode/unit number and description are highlighted. The color used for the background follows the active title bar background -------------------------------------------------------------------------- Demo Mode When X10MSW runs in demo mode, no com port is needed, and no CP290 is needed. Almost all actions are simulated; exceptions are: - you cannot download an events file (you can save to a file) - upload causes the file current.x10 to be opened and read - changes to base housecode are not remembere -------------------------------------------------------------------------- Event An event tells the CP290 to control some unit at some time on some day(s). Events are stored in the CP290's battery backed-up memory and executed by the CP290 at their appointed time on their appointed day(s). Each event can cause one command, such as on, off, dim, etc. Each event can control up to 16 units, but they must all have the same housecode -------------------------------------------------------------------------- PLIX Interface X10MSW supports a PLIX evaluation board from Micromint Inc. which uses a standard parallel printer port (LPT1-3) to interface to a TW523 bi-directional powerline interface from X10 USA. This allows X10MSW to monitor all X10 commands and to issue "bright" commands (which the CP290 does not support). The PLIX interface is used for on, off, dim, bright, all lights on, and all units off commands either direct or via now events. The PLIX evaluation board and TW523 can be ordered from: Micromint Inc 4 Park Street Vernon, CT 06066 (203) 872-2204 For best operation, use the PLIX evaluation board with a battery or an AC adapter which connects via the battery leads rather than via the J5 connection.