WinX10 ShareWare Version 1.5 Copyright 1992-1993 All Rights Reserved Craig D. Keefer LEGAL NOTICE WinX10 is provided on an "as is" basis without warranty of any kind expressed or implied. Craig Keefer will NOT be liable to you for any damages, including loss of data, lost profits, cost of cover or other special, incidental, consequential or indirect damages arising from the use or attempted use of this software, even if Craig Keefer has been advised of the possibility of such damages. The person using the software bears all risk as to the quality and performance of the software. WinX10 is copyrighted by Craig Keefer. You are encouraged to give copies to your friends and upload it to bulletin boards, however sale of the program for profit by anyone except Craig Keefer is strictly prohibited. If you like WinX10 and find it useful you are asked to register as a user with Craig Keefer. (See "ORDER.TXT" for information on how to register). INTRODUCTION. ---------------- WinX10 is a Windows 3.x program for programming/monitoring your X10 controller (eg CP290). It allows you to easily add/delete/modify/freeze X10 events in your X10 controller. It supports ports COM1-4 under Windows 3.1 and ports COM1-2 under Windows 3.0. REQUIREMENTS. ---------------- - MS Windows 3.0 or 3.1 running in Standard or Enhanced mode. - VBRUN200.DLL Visual Basic runtime library. - CP290 or equivalent X10 Controller connected to your serial port. - VGA monitor. - Mouse recommended. GETTING STARTED. ---------------- WinX10 is written in Visual Basic and therefore requires the file VBRUN200.DLL. If you don't already have VBRUN200.DLL on your system then download it from Compuserve, AOL or BBS and Unzip it into your Windows System directory (eg C:\WIN\SYSTEM). Once you have VBRUN200.DLL on your system, install WinX10 on your system by performing the following steps. 1) Unzip WINX1015.ZIP onto a Floppy or into a TEMP directory 2) Start Windows 3) From the Program Manager, choose FILE-RUN 4) If you inserted the disk in drive A:, type A:\SETUP If you inserted the disk in drive B:, type B:\SETUP If you Unzipped WINX10 into a TEMP directory, then run SETUP from the TEMP directory WinX10 Setup will prompt you for a target directory. It will then create the directory (if necessary), and copy the following files to that directory. WINX10.EXE - Main program *.ICO - Example Icon files HOUSE.BMP - Example house BMP file NOFOUND.ICN - default Icon used when selected Icon can't be found *.TXT - Various text files including documention and order form. Once WinX10 Setup copies all the files, it will create a "WinX10 Application" Group in Program Manager and add the appropriate Icons to the Group. You are now ready to run the program. RUNNING THE PROGRAM FOR THE FIRST TIME -------------------------------------- Double-click on the WinX10 Icon to start the program. Since this is the first time you are running the program, WinX10 will ask you for the COM port that has the X10 controller connected to it. The program will then attempt to read the base housecode and time from the X10 controller. If WinX10 is unable to access your X10 controller, you will get an "X10 Timeout" message. At this point you must double check that the X10 controller is properly connected to the port you selected and that it is powered-up properly. If WinX10 is successful in accessing your X10 controller, you will see the "New User" Form displayed. As a new user, you can select AUTOSIZE, NEW, or QUIT PROGRAM. AUTOSIZE If you have previously stored Events in your X10 controller using another program then it is recommended that you use this option. If you select AUTOSIZE, WinX10 will attempt to upload any programmed events you may have previously stored in your X10 Controller via another program such as X10.EXE. WinX10 will attempt to upload these events and ADD an Icon for each programmed X10 Unit that it finds. WinX10 will also attempt to save each timer event to spare you from having to add it manually. If you have X10 Units without any programmed events, you will have to ADD these units manually (using the "Add Icon" option from the Option menu). NOTE: The AUTOSIZE command can also be selected manually from the Options Menu at a later date. NEW Use this option if you want to start fresh. Selecting NEW will clear any events stored in your X10 controller requiring you to manually ADD Icons and program them with timer events. QUIT PROGRAM Exits WinX10 without saving configuration. Whenever you AUTOSIZE or ADD Icons to the Main Form, the Icon is added as a "Light Icon". This is the default since there is no way to ascertain what device the X10 Unit is actually controlling (eg light, thermostat, radio, etc). Once you have added an Icon for each X10 Unit you have in your house, you can change the information for each Icon. To change the information for an Icon, double-click (using the left mouse button) on the Icon and the "Unit Setup" Form will be displayed. Quick Reference for Using the Mouse with the Icons -------------------------------------------------- * Single-Click Icon (left or right button) Selects the Icon. Selected Icon will be displayed in the Direct Command Box. * Double-Click Icon (Left Button) causes the "Unit Setup" Form to be displayed so user can change Icon parameters. * Double-Click Icon (Right Button) causes the Icon Text to toggle between visible/invisible * Right Button Down (eg drag) If Icons are "unlocked", holding the right mouse button down allows user to "drag" Icon to a different position Using the UNIT SETUP Form -------------------------- HOUSECODE/UNITCODE To change the Housecode/UnitCode simply click on the pull-down box containing the Housecode or Unitcode and make your selection. The changes will take immediate effect. NOTE: You can only change the Housecode/UnitCode if there are NO programmed events for this ICON. The Housecode/UnitCode buttons will be greyed-out (inaccessible) if there are programmed events for this ICON. If you want to change the Housecode/UnitCode of an ICON that has programmed events, you must delete the events first. Once all the events for the ICON are deleted, the Housecode/UnitCode buttons will become available. ON/OFF ICONs To change either the ON or OFF Icon, double-click (using the left mouse button) on the Icon you want to change. A "Select Icon" Form will be displayed. On the right-hand side of the "Select Icon" Form will be displayed your choice of Icons in the current directory. To choose a new Icon, either double-click on the Icon you want or single-click to select the Icon and then click on "OK". Refer to the "Using the "SELECT ICON" Form" section later in this text for more information on how to use the "SELECT ICON" Form. ICON TEXT To change the Icon Text, simply click on the text box and use the DEL/ARROW BACKSPACE/HOME/END keys to edit the text to say what you want. NOTE: If you type too many words, they will wrap to the next line. Since only two lines can be displayed, you should not let the words to wrap to the third line or else the first line will scroll out of sight. UNIT TYPE To change simply click on "Light" or "Appliance". The only real difference between the two is that "Appliance" units cannot be DIMmed. Whenever you select a UNIT TYPE as "Appliance", the DIM option on all the Forms is disabled for that Icon Unit. ICON STYLE Select "Icon Only" or "Icon + Text" to change whether or not the Icon Text is displayed with the Icon on the main Form. Another way to toggle the Icon Text between Visible/Invisible on the Main Form is to double-click (using the right mouse button) on the Icon on the Main Form. DEFAULT DIM SETTING Use this to select 1 of 16 possible DIM settings for the Unit. This is the default DIM setting that will be used in the Direct Command Box and Add Icon Form. However, another DIM setting can always be chosen from the Direct Command Box or Add Icon Form directly. ADD EVENT Clicking on this button will cause the "Add/Modify Event" Form to be displayed. The "Add/Modify Event" Form will allow you to choose the Function, Mode, Time, and Days for the programmed event. Click on "OK" to download the event to the X10 controller and add it to the program. Click on "CANCEL" if you decide not to add the event. Refer to the "Using the "ADD/MODIFY EVENT" Form" section later in this text for more information on how to use the "ADD/MODIFY EVENT" Form. DELETE EVENT Before clicking on the "Delete Event" button, you must first select the event you want to delete by clicking on the event in the "programmed events" window. Once the desired event is highlighted you can click on "Delete Event". A box displaying the highlighted event will be shown and you will be prompted: "Are you Sure?". If you answer "Yes" the event will be deleted. MODIFY EVENT Before clicking on the "Modify Event" button, you must first select the event you want to Modify by clicking on the event in the "programmed events" window. Once the desired event is highlighted you can click on "Modify Event". NOTE: A short cut to this is to double-click on the event in the "programmed events" window. Either way will cause the "Add/Modify Event" Form to be displayed. The "Add/Modify Event" Form will allow you to modify the Function, Mode, Time, and Days for the programmed event. Click on "OK" to download the event to the X10 controller and change it permanently. Click on "CANCEL" if you decide not to modify the event. Refer to the "Using the "ADD/MODIFY EVENT" Form" section later in this text for more information on how to use the "ADD/MODIFY EVENT" Form. FREEZE EVENT Before clicking on the "Freeze Event" button, you must first select the event you want to "freeze" by clicking on the event in the "programmed events" window. Once the desired event is highlighted you can click on "Freeze Event". The event will immediately be changed to "frozen". This means that WinX10 will suspend the event which will not happen again until you "Unfreeze" it. To "Unfreeze" a suspended event, simply double-click on the frozen event and the event will immediately be restored. Or you can single-click on the frozen event to highlight it and then click the "Freeze/Unfreeze" button. CLOSE Closes the "Unit Setup" Form and returns to the Main Form. Using the "SELECT ICON" Form ---------------------------- On the right-hand side of the "Select Icon" Form will be displayed your choice of Icons in the current directory. To choose a new Icon, either double-click on the Icon you want, or single-click to select the Icon and then click on "OK". Another way to choose the Icon is to double-click on a filename from the filename box. If you decide not to change the Icon then click on the "CANCEL" button. You can change the Directory or Drive by simply clicking on the appropriate box. There are two Options to choose from in the "Options" Menu: SHOW ALL ICONS: Selecting this Option causes all Icons in the current Directory to be loaded/reloaded and displayed in the Icon display area. SHOW ALL ICONS ON DIR CHANGE: this option toggles ON/OFF the displaying of Icons on a "directory change" or whenever the Form is loaded. Using the "ADD/MODIFY ICON" Form -------------------------------- After clicking on the "Add Event" or "Modify Event" button, the "ADD/MODIFY ICON" Form will be displayed. At this point you will be allowed to choose the Function, Mode, Time, and Days for the programmed event. FUNCTION ON - Causes X10 Unit to turn ON at time defined by TIME and DAY. OFF - Causes X10 Unit to turn OFF at time defined by TIME and DAY. DIM TO... - Causes X10 Unit to turn DIM at time defined by TIME and DAY. When this option is selected, a DIM % box will appear allowing the user to select the percentage to "DIM to...". This option will not be available if UNIT TYPE was selected as "Appliance". MODE NORMAL - Causes the Event to occur each time the TIME/DAY occurs. SECURITY - Same as NORMAL, except that the Event time will be different each time the TIME/DAY occurs. Gives that "lived in" look. TIME REGULAR - Allows you to enter the TIME in the HR/MIN/AMPM boxes. This is the time that the event will occur. SUNRISE - Sets the TIME equal to the calculated SunRise (This time will be displayed in the blue heading box). You can also enter a +/- offset to the calculated SunRise TIME by changing the Offset SIGN/HR/MIN boxes. When a SUNRISE event is displayed on the "Unit Setup" Form, the time will be followed by an "sr" to indicate it's a Sunrise event (eg 5:30AMsr) SUNSET - Sets the TIME equal to the calculated SunSet (This time will be displayed in the blue heading box). You can also enter a +/- offset to the calculated SunSet TIME by changing the Offset SIGN/HR/MIN boxes. When a SUNSET event is displayed on the "Unit Setup" Form, the time will be followed by an "ss" to indicate it's a SunSet event (eg 11:30PMss) DAY EVERYDAY - Event will occur "Everyday" at the programmed TIME. WEEKENDS - Event will occur on Saturday and Sunday at the programmed TIME. WEEKDAYS - Event will occur Monday through Friday at the programmed TIME. TODAY - Event will occur "today" only. Event will be erased from X10 controller memory at midnight today. TOMORROW - Event will occur "tomorrow" only. Event will be erased from X10 controller memory at midnight tomorrow. SPECIFIC DAYS - Event will occur on each day selected by user. When this option is selected, 7 check boxes will appear allowing the user to "check" the days he/she wants this event to occur on. Using the "SUNRISE/SUNSET SETTINGS" Form ---------------------------------------- Before programming a Sunrise or Sunset event, you must provide your Longitude, Latitude, Time Zone, and whether or not it's "Daylight Savings" time. To do this select SETTINGS - SUNRISE/SUNSET from the Main Menu. Click on each window and type in the Longitude, Latitude, and Time Zone for your area. You can look up your Longitude/Latitude on almost any map. For Nashua NH, its approximately Latitude = 42 degrees, 45 minutes; Longitude = 71 degrees, 30 minutes; Time Zone = 5 hours. Click the "Daylight Savings Time" check box if you are currently on DST. DST is from the 1st Sunday in April to the last Sunday in October. Using the "DIRECT COMMAND BOX" ------------------------------ Whenever you click on an Icon, this Icon becomes the "selected Icon" and is displayed in the Direct Command Box. You can now perform "Direct Commands" to this Icon Unit. Clicking "ON" or "OFF" will immediately transmit the command to the X10 Controller and cause the Unit to turn ON or OFF respectively. If the UNIT TYPE = "Light" then you also can send a direct DIM command to the X10 Unit. If UNIT TYPE = "Appliance" the DIM button will be grayed out and unavailable. Using the "GLOBAL COMMAND BOX" ------------------------------ The Global Command Box contains commands that affect all events/units to some extent. ALL LIGHTS ON - This will turn ON all Light Units matching the base housecode of the X10 Controller. Appliance Units are not affected ALL ON - This will turn ON all Units (both Light and Appliance) matching the base housecode. NOTE: This command takes a relatively long time to respond (around 10 seconds) since WinX10 simply sends an ON command to all 16 units. ALL OFF - This will turn OFF all Units (both Light and Appliance) matching the base housecode. SUNRISE/SET - Clicking this button will cause all the Sunrise/Sunset related events to be updated in the X10 Controller to the current Sunrise/Sunset. Any user defined offsets will still apply. SET X10 TIME - Clicking this button will cause the X10 Time in the X10 Controller to be updated to the current System Time of your computer. Creating Your Own Icons ----------------------- WinX10 uses the standard Icon format (eg filesize = 766 bytes) used by windows. In order to create your own X10 Unit Icons, use your favorite Icon Editor (ICONDRAW, ICONMSTR, etc) and simply draw one Icon to represent the ON state and one Icon to represent the OFF state. I would recommend that the filenames for the pair of Icons be called xxxxxON.ICO and xxxxxOFF.ICO where xxxxx is the name of the device (up to 5 characters since the total filename can only be 8 characters. The extension should always be ".ICO"). For example, if you draw a lamp you might call the Icon filenames LAMPON.ICO and LAMPOFF.ICO. Using this nomenclature causes the Icon pairs to be displayed side-by-side in the VIEW ICON Form since it is sorted. Creating Your Own House Bitmap ------------------------------ You can use the PaintBrush program that comes with windows to draw a picture of your own house. After starting the Paintbrush program select OPTIONS - IMAGE ATTRIBUTES and set the Units to inches. Then set the Width = 5.7 inches and the Height = 3.59 inches. This will give you a BMP just about the right size for loading into the WinX10 program. I made a crude BMP (HOUSE.BMP) this way. You can view it by loading it into the Paintbrush program or by selecting OPTIONS - LOAD HOUSE BMP from the WinX10 Menu. Menu Commands. -------------- A very brief description of the commands available from the pop down Menu follows: ------------------------------------------------------------------ FILE NEW - Wipes the slate clean. Initializes Program to defaults and clears ALL programmed events from X10 controller. LOAD - Loads configuration file (*.X10). Downloads Events stored in the configuration file. SAVE - Save configuration file (*.X10). Saves program configuration data as well as X10 data (eg Base Housecode, programmed events) SAVE AS - Save configuration file (*.X10). Same as SAVE except you must choose a filename. PRINT LISTING - This option will print a sorted listing of Units and Events to your default printer as selected by Windows Print Manager PRINT FORM - This option will print WinX10's Main Form exactly as seen on the screen. NOTE: You must have a printer with graphics capability. EXIT - Exit the program ABOUT - The usual "About" box ------------------------------------------------------------------ OPTIONS ADD ICON - Adds an Icon to the Form. Double Click Icon to change parameters REMOVE ICON - Remove currently selected Icon and its associated X10 Events. Click on Icon to be removed before selecting this option. If you have two or more Icons with the same HouseCode/UnitCode then only the Icon will be removed. The associated X10 Events will only be deleted if this is the only Icon on the form to represent them. This allows you to remove duplicate Icons without removing the programmed X10 Events. ARRANGE ICONS - Arranges Icons in rows LOCK ICONS - Locks Icons so they can't be moved. Once you have Icons positioned where you want them, use "Lock Icons" option to keep them from changing. UNLOCK ICONS - Allows Icons to be moved again. UNIT SETUP - Causes the Unit Setup Form to be displayed for the currently selected Icon. This is equivalent to double- clicking the Icon with the left mouse button. AUTOSIZE - Requests WinX10 to read events stored in X10 controller and add Units/Events to WinX10's database for each valid Unit/Events it finds. NOTE: This should only be used if you haven't already programmed WinX10 (eg You're a new user of WinX10). LOAD HOUSE BMP - Load a House bitmap. House BMP can be made using the Paintbrush program provided with Windows. UNLOAD HOUSE BMP - Unloads a previously loaded House bitmap. ------------------------------------------------------------------ WINDOW WINDOW DIRECT CMD BOX - Toggle ON/OFF Direct Command Box GLOBAL CMD BOX - Toggle ON/OFF Global Command Box SCROLL BARS ENABLED - If checked, scroll bars will be displayed when necessary. ------------------------------------------------------------------ SETTINGS PORT SELECT - Allows user to select COM port that has X10 Controller connected to it. TIMEOUT/POLLRATE - Allows user to select Port Timeout value and/or Port Pollrate. This should not normally need to be changed. SUNRISE/SUNSET - Allows user to enter longitude/latitude/timezone information needed to calculate sunrise/sunset X10TIME - Allows user to set clock in X10 controller. BASE HOUSECODE - Allows user to change Base unit Housecode without losing programmed events. SPRING AHEAD - This option allows user to add 1 hour to all the programmed events (eg adjust for Daylight Savings Time) FALL BACK - This option allows user to subtract 1 hour from all the programmed events (eg adjust for Standard Time) ------------------------------------------------------------------ X10 STATUS UPLOAD HOUSECODE AND TIME - This option is more for debugging than anything else. Selecting this option will upload the X10 Housecode and X10 Time. The grey Status Bar at the bottom of the Form will be updated. It allows user to verify that the X10 controller is actually programmed correctly. UPLOAD EVENTS - This option is more for debugging than anything else. It allows the user to upload all 128 events and view them in their raw state. It allows user to verify that the X10 controller is actually programmed correctly. ------------------------------------------------------------------ The Status Bar at the bottom of the Main Form tracks information about WinX10 and your X10 Controller. Below is a quick description of each field. Message box - Displays information as to what WinX10 is doing at any given time. If WinX10 is idle then this box will display "Ready...". Other messages such as "Downloading Event..." and "Uploading Event..." will be displayed when WinX10 is communicating with your X10 Controller. Icons: - Displays total number of Icons (units) on Main Form Events: - Displays total number of programmed events in WinX10 Port: - Displays port that WinX10 expects to find X10 Controller HouseCode: - Displays Base Housecode as uploaded by from X10 Controller Time: - Displays X10 time as uploaded by from X10 Controller ------------------------------------------------------------------ KEYBOARD CONTROL OF WINX10 -------------------------- The functions of all WinX10 Forms can be controlled via the Keyboard. This is done mostly using "Hot keys" and "Access keys", although there are a few special keys such as TAB, SPACE, and ENTER that are also used. This section describes using the keyboard for each of the WinX10 Forms. HOT KEYS Pressing these keys immediately execute a menu item from one of the pulldown menus of a Form. The HOT KEY assignments appear on the menu to the right of the menu item. For example, if you open the "File" menu on the Main Form you will see that the HOT KEY for "LOAD..." is CTRL+L. ACCESS KEYS These keys allow the user to use the keyboard to open a Menu or direct access to command buttons. ACCESS KEY ASSIGNMENTS appear on the menu or button as an underlined letter. Press the ALT key plus this designated letter to open the menu or execute the command button. For example, pressing ALT+S is equivalent to clicking on the "Sunrise/Set" button and will cause all the Sunrise/Set events to be updated TAB KEY Pressing the Tab key will set focus to the next object on the form. This allows the user to cycle between various command buttons on the form. SPACE or ENTER KEY Pressing either of these keys will cause the object that has focus to be executed. For example, if you use the Tab key to select the "On" button in the "Direct Cmd" box, and then press SPACE or ENTER, the currently selected ICON will be turned on. Using the Keyboard to select an ICON on the "Main" Form ------------------------------------------------------- Whenever you select an ICON on the Main Form it will be displayed in the Direct Cmd box. You can select the ICON by either relative or absolute addressing. Relative addressing of ICONS ---------------------------- SHIFT KEY - Cycles to the next ICON. HOME KEY - Selects First ICON END KEY - Selects Last ICON PAGE UP - Selects the ICON one row up. This is useful if ICONs are aligned in rows using the "Arrange Icons" command. PAGE DOWN - Selects the ICON one row down. This is useful if ICONs are aligned in rows using the "Arrange Icons" command. Absolute addressing of ICONS by pressing 2-DIGIT NUMBER ------------------------------------------------------- You can select an ICON directly by simply typing a 2 digit number. For example, Pressing 01 selects 1st ICON 02 selects 2nd ICON 03 selects 3rd ICON ... 12 selects 12th ICON Pressing an illegal number, such as 00, will select the nearest ICON (eg. pressing 00 would select first ICON and pressing 99 would select the last ICON) NOTE: The number of the ICON is based on its position in the WinX10 array. If you "Remove" an ICON from WinX10, all ICONs will be shifted down to fill in the gap left by the "Removed" Icon. For example, if you remove ICON # 02, then ICON # 03 will become ICON # 02, Icon # 04 will become ICON # 03, etc. Main Form HOT KEYS ------------------ HOT KEYS -------- CTRL+L = Load... CTRL+S = Save CTRL+P = Print Listing CTRL+X = Exit CTRL+A = Add Icon CTRL+R = Remove Icon CTRL+U = Unit Setup Enjoy WinX10, and don't forget to support the Shareware concept! Register your copy now if you haven't already!