Smart10 TM X10 Powerhouse Home Control CP290 Programming System version 2.1 Users Guide ÚÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÁÄÄÄ¿ ³ (R) Äij ³o ³ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ÚÄÄÄÄÄÁÐÄÄ¿ ³ Association of ³ ³ ³ÄÙ Shareware ÀÄÄij o ³ Professionals ÄÄÄÄÄij º ³ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÀÄÄÄÄÐÄÄÄÄÙ MEMBER copyright 1991 Sympathetic Software 9531 Telhan Drive Huntington Beach, CA 92646 USA All Rights Reserved September 6, 1994 Smart10 v2.1 Page 1 Table of Contents The Shareware Concept 2 Support 3 Introduction 4 Configuration 5 Programming Your Events 7 Command Line Parameters 11 The CHKTIME Program 14 The DSTIME Program 15 Sample Files 15 Change History 15 September 6, 1994 Smart10 v2.1 Page 2 The Shareware Concept Shareware distribution gives users a chance to try software before buying it. If you try a Shareware program and continue using it, you are expected to register. Individual programs differ on details - some request registration while others require it, some specify a maximum trial period. With registration, you get anything from the simple right to continue using the software to an updated program with printed manual. Copyright laws apply to both Shareware and commercial software, and the copyright holder retains all rights, with a few specific exceptions as stated below. Shareware authors are accomplished programmers, just like commercial authors, and the programs are of comparable quality. (In both cases, there are good programs and bad ones!) The main difference is in the method of distribution. The author specifically grants the right to copy and distribute the software, either to all and sundry or to a specific group. For example, some authors require written permission before a commercial disk vendor may copy their Shareware. Shareware is a distribution method, not a type of software. You should find software that suits your needs and pocketbook, whether it's commercial or Shareware. The Shareware system makes fitting your needs easier, because you can try before you buy. And because the overhead is low, prices are low also. Shareware has the ultimate money-back guarantee - if you don't use the product, you don't pay for it. Smart10 is a "shareware program" and is provided at no charge to the user for evaluation. Feel free to share it with your friends, but please do not give it away altered or as part of another system. The essence of "user-supported" software is to provide personal computer users with quality software without high prices, and yet to provide incentive for programmers to continue to develop new products. If you find this program useful and find that you are using Smart10 and continue to use Smart10 after a reasonable trial period, you must make a registration payment of $20 to SYMPATHETIC SOFTWARE. The $20 registration fee will license one copy for use on any one computer at any one time. You must treat this software just like a book. An example is that this software may be used by any number of people and may be freely moved from one computer location to another, so long as there is no possibility of it being used at one location while it's being used at another. Just as a book cannot be read by two different persons at the same time. Commercial users of Smart10 must register and pay for their copies of Smart10 within 30 days of first use or their license is withdrawn. Site-License arrangements may be made by contacting SYMPATHETIC SOFTWARE. Anyone distributing Smart10 for any kind of remuneration must first contact SYMPATHETIC SOFTWARE. This authorization will be automatically granted to distributors recognized by the Association of Shareware Professionals (ASP) as adhering to its guidelines for shareware distributors, and such distributors may begin offering Smart10 immediately (However SYMPATHETIC SOFTWARE must still be September 6, 1994 Smart10 v2.1 Page 3 advised so that the distributor can be kept up-to-date with the latest version of Smart10.). You are encouraged to pass a copy of Smart10 along to your friends for evaluation. Please encourage them to register their copy if they find that they can use it. All registered users will receive a copy of the latest version of the Smart10 system including a printed version of this manual. To register your copy of Smart10, send in a completed copy of the enclosed order form. Support The current version of Smart10 is available from the IBMHW forum on CompuServ. The file to download is SMRTEN.EXE. Problem reports may be made to Sympathetic Software or sent by CompuServ E-Mail to: Stephen L Billard: 71046,1476 This program is produced by a member of the Association of Shareware Professionals (ASP). ASP wants to make sure that the shareware principle works for you. If you are unable to resolve a shareware-related problem with an ASP member by contacting the member directly, ASP may be able to help. The ASP Ombudsman can help you resolve a dispute or problem with an ASP member, but does not provide technical support for members' products. Please write to the ASP Ombudsman at 545 Grover Road, Muskegon, MI 49442-9427 or send a CompuServ message via CompuServ Mail to ASP Ombudsman 70007,3536. The Ombudsman may be contacted by FAX by sending to the ASP FAX number: (616) 788-2765. In communications with the Ombudsman please include a telephone number and/or FAX if available. September 6, 1994 Smart10 v2.1 Page 4 Introduction Smart10 is intended for use with the X10 Powerhouse CP290 computer interface. This interface can be programmed from a personal computer and will maintain and execute up to 128 timer events. These events can be set for specific times and days of the week. The controller has a span of only one week, and does not have the concept of sunrise and sunset. The software which comes with the controller is somewhat clumsy to use if you wish to define more than a few events. Smart10 was devised to overcome the limitations of the CP290 and its supplied software. It can maintain a year's calendar of events. You can use SUNRISE and SUNSET as times. (You don't have use them as exact time, you can add or subtract time from them.) Events can be conditioned to occur (or not to occur) if it is DARK (or LIGHT) or if they occur between dates you have specified. You can also put parameters on the command line and use them as conditions. There is an "immediate" command mode (run from the command line) whereby you can issue direct or delayed commands and cancel pending events. Two programs are included to help you automate your AUTOEXEC.BAT files. These are CHKTIME and DSTIME. CHKTIME compares the computer's date and time with target date and times. ERRORLEVEL is set if there is a match. DSTIME is used to adjust your computer clock for daylight savings time. With Smart10 and these programs you can completely automate maintainence of your CP290. (You can automate other periodic functions as well. See the examples below.) Smart10 operates from a control file which describes the modules you have and the timer events you've scheduled. The format of this file and its instructions is described below. However, you don't need to know anything of its format to begin using Smart10. If you are already using the CP290 you have the initial starting point for your home automation. The program GENPGM will create a control file for you describing the modules and events you are currently using. Just modify this file to add the additional capabilities that Smart10 provides. September 6, 1994 Smart10 v2.1 Page 5 Configuring Smart10 When Smart10 is first run, or when you use /C on the command line, you will be presented with the Smart10 Registration screen and the Smart10 configuration screen. These screens are shown below. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Smart10 X10 Powerhouse Control Program ³ ³ Copyright 1991 by Sympathetic Software ³ ³ ³ ³ Registration Information ³ ³ ³ ³ Your Name: ³ ³ ³ ³ Registration ID: ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ For now, type ESC to bypass the registration screen. When you send in your registration, you will get instructions on filling in this screen. (Note: if you do not type anything for 30 seconds, the registration screen automatically goes away. Once you have registered Smart10, the screen will not be redisplayed.) ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Smart10 X10 Powerhouse Control Program ³ ³ Copyright 1991 by Sympathetic Software ³ ³ ³ ³ Configuration Information ³ ³ ³ ³ House Code: A ³ ³ ³ ³ Latitude: 33ø 48' 0" N ³ ³ ³ ³ Longitude: 117ø 54' 0" W ³ ³ ³ ³ Time Zone: PACIFIC ³ ³ ³ ³ Do you observe Daylight Savings time? (Y/N) Y ³ ³ ³ ³ Confirm time override? (Y/N) N ³ ³ ³ ³ Synchronize CP290 to the minute? (Y/N) N ³ ³ ³ ³ The CP290 is attached to: COM1 ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ You should set House Code to the House Code you wish the CP290 to use when one of its eight rocker switches is activated. Set the Latitude and Longitude to your location. You do not need to be very precise with these. They are used in computing Sunrise and Sunset times. The location of any nearby major city will probably be close enough. (The file LOCATION.TXT contains a list of cities and their latitudes and longitudes.) Time Zone should be set to your time zone. Smart10 will offer a default based on your longitude. You September 6, 1994 Smart10 v2.1 Page 6 will have to correct this if you live near an irregularity of the time zone line. If you live in an area which does not observe Daylight Savings time then you should answer N (for No) to the Daylight Savings time question. Otherwise answer Y (for Yes). If you set Confirm time override to Y, Smart10 will ask you for confirmation if the computer's time differs from the time kept by the CP290 by more than about five minutes. As long as you trust your computer's clock you should configure this as N. The CP290's clock will then be set to the computer's time. This is specially important if you are going to automatically load the CP290 in the middle of the night. The CP290's time setting accuracy is only within a minute. In other words, it cannot be set to a particular second. Thus, unless the computer waits until its clock is an even minute before setting the CP290, its time may be off by many seconds. The Synchronize CP290 to the minute option causes Smart10 to wait until the computer clock is at an even minute before setting the CP290 clock. The downside of this option is the extra time it takes to wait for an even minute. You may select any serial port to attach your CP290. Enter COM1 for the first serial port, COM2 for the second. If you have a non standard IO base address for your serial port, you may the address instead of COM1 or COM1. The address must be entered in hexidecimal (e.g.. 3F8 for COM1.) The configuration is stored permanently in the SMART10.INI file. This file will be located in the directory which contains the Smart10 program. Although this file is stored in a display format, you should not attempt to modify its contents. Use the reconfiguration feature of Smart10 to change its configuration. September 6, 1994 Smart10 v2.1 Page 7 Programming Your Events You describe your timer events to Smart10 by providing it a module/event file. This file is normally called X10.PGM. (It is possible to use any file name. X10.PGM is the default.) This file contains a series of Module Identifications and associated Module Events. The GENPGM program is included to make it easier for you to get started using Smart10. If you already have modules and events stored in your CP290 then creating a module/event file for Smart10 is just a matter of running GENPGM. GENPGM needs to read the X10.DAT file that the software which comes with your CP290 creates. This file must be in the currently logged on directory when you run GENPGM. (That is, you must CD to the directory which has this file. Most likely this is the \X10 directory.) If the X10.DAT file is not available, GENPGM will not have the module names for your modules. It will make up names for them. When you run GENPGM it will ask for the COM port where your CP290 is attached. Enter the appropriate COM port or the hex IO address if your port does not use the standard addresses. GENPGM will write GENX10.PGM. This file will be a module/event file which reproduces the modules and events you are currently running. Use this file as a starting point. Edit with any ASCII text editor and turn it into a description of how you want to run your house. (You should rename the edited file X10.PGM so that Smart10 will use it as the default program.) The Smart10 module/events program file consists of a series of Module Identification headings and the module's associated events. Module Identifications and Module Events must be wholly contained on one line. You may include commentary (which may be multiple lines) by enclosing it within braces ("{" and "}"). A Module Identification identifies the X10 unit you wish to control. A Module Identification consists of a Location and Description separated by a colon (":") followed September 6, 1994 Smart10 v2.1 Page 8 by a crosshatch ("#") or asterisk ('*') and the House Code and Unit number of the module. Example: Master bedroom : Light switch #A5 Study : Computer *B1 The text you provide for the Location and Description are written to the X10.DAT file used by the software which comes with the CP290. They are also optionally displayed by Smart10 when it is loading the CP290. They can be any text (exclusive of a colon, crosshatch, or asterisk.) The house and unit codes should match the setting on the X10 module. Crosshatch is the normal prefix for the House Code and Unit number. Asterisk is used when you do not want the power fail restore function to set the module to its current programmed state. (For instance, if the latest event for the Study Computer was off, you would not want the power fail restore function to turn if off as the restore was executing.) It is possible to have a Module Identification refer to more than one unit within a House Code. In this case, the module events will effect all the units identified by the Module Identification. To specify multiple unit codes, Concatenate the additional unit codes with either an ampersand (&) or an ellipsis (..). Example: Emergency Lights: Living Areas *A1&4 All Lights: Whole House *B1..16 Some Lights: Living Room *C3..5&8 Ampersands are used to indicate single units. Ellipses are used to indicate a series of units. For the first example, module events will turn on and off modules A1 and A4. Module events for the second example will effect modules B1, B2, B3, B4, B5, B7, B8, B9, B10, B11, B12, B13, B14, B15 and B16. The third example controls modules C3, C4, C5 and C8. The software which comes with the CP290 does not support multiple unit Module Identifications. Thus, if you use the X10 program to review your events you will not see any these modules and events. Also note that these Module Identifications do not appear in the Module Map. A Module Event consists of a command, time, optional condition, and the days the event should be activated. The Module Event commands are ON, OFF, DIM, FADE and BRIGHT. (These may be proceeded with CANCEL if you are deactivating an event.) BRIGHT and FADE are undocumented commands of the CP290. There is no guarentee that your CP290 will excute these commands in a useable manner. FADE will dim a light to the off setting. BRIGHT works like DIM, but brightens the light from a dimmed setting. Times may be absolute or security mode, and can be expressed in military time or civilian time. You may also use SUNSET, SUNRISE, or NOW as a time. These latter may be modified by adding or subtracting a time value. CANCEL and NOW are most useful in command line event setting. See below. September 6, 1994 Smart10 v2.1 Page 9 There may be any number of Module Events following a Module Identification. The only constraint it that the CP290 can manage only 128 events. Examples of Module Events: ON @ 2300 EVERYDAY OFF ~ 10:00pm SATURDAY DIM 70% @ SUNSET + 0:10 WEEKDAYS The At sign ("@") is used when the time is absolute. The tilde ("~") is used to specify approximate (security mode) time. For security mode time, the event is set randomly to within 15 minutes of the time value given. The CP290 will randomly vary this time each day as well. The days the event is to be activated is either TODAY, TOMORROW, EVERYDAY, DAILY, or a list of the actual days. You can use WEEKENDS in place of SATURDAY SUNDAY and you can use WEEKDAYS in place of MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY. These names can be abbreviated. Examples of activation days: ON @ 0400 SUN MON OFF @ 11:45pm DAILY DIM 30 % @ SUNRISE - 2:00 FRI WEEKENDS OFF NOW+0:20 TODAY TODAY and TOMORROW have special meaning to the CP290. These events occur only once. The CP290 clears them once the day has past. You can use a specific date in place of an activation day list. An example of this is: ON @ 1700 ON 7/4 There are modifiers which can be used to control when an event will be active. It may be active only between certain dates, starting on a date or running until a date. Alternatively, the event may be active only when a condition is met. An example of the former is: ON @ SUNSET + 0:30 DAILY BETWEEN 11/15 AND 12/1 ON @ SUNSET + 0:30 DAILY STARTING 11/15/95 ON @ SUNSET + 0:30 DAILY UNTIL 12/1/94 A condition may be DARK, LIGHT, EARLIERTHAN a time, LATERTHAN a time, or it may be a character string. When the condition is a character string, it is true if the character string is a parameter on the command line when Smart10 is run. Otherwise it is false. (The character strings may not contain blanks or other special characters.) September 6, 1994 Smart10 v2.1 Page 10 The condition may also be an expression involving NOT, AND, OR, and parenthesis. Some examples are: OFF ~ 11:00pm IF DARK AND NOT (OUT OR VISITORS) SAT ON @ Sunset IF EARLIERTHAN 7:00 PM EVERYDAY You may use ampersand ("&") for AND and bar ("|") for OR. A Module Event may have both a condition and a date modifier. Example: ON @ 2100 IF OUT | NOT VISITORS SAT BETWEEN 1/12 AND 3/3 You can also use EXCEPT with ON and BETWEEN. This causes the event be activated on all but the indicated date(s). Examples are: ON @ 1700 EXCEPT ON 7/4 ON @ SUNSET + 0:30 DAILY EXCEPT BETWEEN 11/15 AND 12/1 The X10 software which came with your CP290 has an anomaly with its DIM function. The X10 system allows for 16 levels of DIM from fully bright to fully dim. The X10 software allows only nine levels (from 90% to 10%.) It assigns (rather arbitrarily) dim levels to these nine steps. Any intermediate value the X10 software finds is reported as 90% dim no matter what its real value is. If you use the X10 software to review dim values set by Smart10 you will not get correct reporting. The CP290 can not deal with anything more complex than day of the week. For the above events to work, you must run Smart10 at least once a week. This allows the program to load the events for the week. You must also re-run Smart10 if one of the character string conditions needs to be changed. The program can optionally display the events which are active for the week as it loads the CP290 to show you what has been selected. Automatically loading the CP290 once a week is a simple task if you use an X10 module to turn on and off your computer. You can set an event to turn on the computer once a week and use the CHKTIME program in your AUTOEXEC.BAT file to run Smart10 when the computer is automatically powered on. For instance, for your computer have a Module Event as follows: Office:Computer #A1 ON @ 3am SUNDAY And in your AUTOEXEC.BAT file have: CHKTIME SUN 0300 IF ERRORLEVEL 1 GOTO SETEVENTS . . . :SETEVENTS Smart10 Smart10 /S A1 OFF September 6, 1994 Smart10 v2.1 Page 11 This would turn the computer on at 3am each Sunday. The batch file would check to see if it was 3am, and if so would execute Smart10 to load the X10.PRG file into the CP290. Then it uses Smart10 to send an immediate command to turn the computer off. Command Line Parameters to Smart10 Loading a file other than X10.PGM: Run Smart10 with the command line parameter /F:filename. Smart10 will read filename to get the Module Descriptions and Module Events to load into the CP290. The CP290 is cleared before the events are loaded. Example: Smart10 /F:vacation.sch Testing a schedule without loading the CP290 Run Smart10 with the command line parameter /T if you wish to check the validity of your schedule program without actually loading the CP290. This option causes Smart10 to go through all its processing with the exception that it will not send any commands to the CP290. Example: Smart10 /T Adding events to a CP290 program Run Smart10 with the command line parameter /A:filename. Smart10 will read filename to get the Module Descriptions and Module Events to be added to the events loaded in the CP290. The difference between loading events with the /A parameter and loading from the default file or from a file named via the /F parameter is that the CP290 is not cleared first. This means that the events described in filename are added to the events already loaded in the CP290. Example: Smart10 /A:oneshot The file loaded might contain a lawn sprinkler program with events defined for TODAY. You would run Smart10 to add these events to the CP290 when the lawn needs watering. Since the events are defined for TODAY, the CP290 will clear them out once they are done. Reconfiguring Smart10: Run Smart10 with the command line parameter /C. This will cause Smart10 to present you with the configuration screen. (See page 5 for configuring Smart10.) Example: Smart10 /C Resetting all modules after a power failure: Run Smart10 with the command line parameter /R. Smart10 will load the CP290 from your Description-Event file and set each module September 6, 1994 Smart10 v2.1 Page 12 to the state it would be if the power had not failed. Modules which use asterisk in place of crosshatch for the house code-unit number prefix are omitted from this power fail restore. Example: Smart10 /R Display the event commands being loaded to the CP290 Run Smart10 with the command line parameter /E and it will display each event as it is loaded into the CP290. (An events which is not active either because its condition is false or because the current date is out of range with its date range will not be shown.) Smart10 /E will display the active events. You can direct the output of this option to a file or the printer by adding a colon and the file name to the parameter. Smart10 /E:EVENTS.LOG will write the active events to the file EVENTS.LOG. Smart10 /E:LPT1 will write the active events to the printer. Print out a module map: Run Smart10 with the command line parameter of Smart10 /M to display a map of the X10 modules you have defined in your module/event program. Smart10 /M will display the module map. As with Events, you can direct the output of this option to a file or the printer by adding a colon and the file name to the parameter. Smart10 /M:LPT1 will print a list of module locations and descriptions and their module house and unit codes. September 6, 1994 Smart10 v2.1 Page 13 Send a module control command from your computer: Run Smart10 with the command line parameter /S Module-ID Module-Event. Module-ID is any House Code Unit Code pair. Module-Event is as described for the Description-Event file. In addition, you may use a simple ON, OFF, or DIM command with no time, etc. This is equivalent of a time of NOW. You may omit the day list as well. Then the event is set for Today or Tomorrow depending on the time value. (If you select a time greater then midnight and less then NOW, then the event is set for Tomorrow. You might do this by using NOW + 23:00 or NOW -1:00.) These events are one time occurrences. The CP290 will discard the event once the day has past. If you use the /S parameter, the rest of the command line is assumed to be the Module ID and Module Event. Examples: Smart10 /S A1 OFF Smart10 /S A2 CANCEL OFF @ 3:15am SUN Smart10 /S A3 OFF NOW + 0:10 Events which are scheduled to occur within a minute of the current time are issued as direct commands by Smart10. Others are loaded as one time events for Today or Tomorrow. I use OFF NOW + 0:05 to turn off my computer when it has finished doing my backups. The extra five minutes gives the tape drive a chance to rewind. Setting conditions from the command line: Any character string not started with a slash ("/") and not including a blank is noted as a condition by Smart10. Conditions can be tested in Module Events. A condition is TRUE if it appears on the Smart10 command line. September 6, 1994 Smart10 v2.1 Page 14 Otherwise it is FALSE. Examples of command line conditions: Smart10 SomeoneIsOut GuestsAreStaying Smart10 MichaelIsHome The case of the condition is ignored. MichaelIsOut is the same as MICHAELISOUT. You may have combinations of the above parameters on the command line. Of course, if you use /S, it must be the last command line function. Example: Smart10 MichaelIsHome /R /E If you have a /S command, Smart10 will not read and process the Description-Event file. CHKTIME CHKTIME compares the computer date and time with command line target date-times. If the computer date-time is within plus or minus 15 minutes of a target time, the DOS ERRORLEVEL value is set to indicate the match. If no targets match, ERRORLEVEL is set to 0. The targets are compared from left to right as they appear on the command line. If the first target matches, ERRORLEVEL is set to 1. If the second matches, ERRORLEVEL is set to 2, etc. If multiple targets match, ERRORLEVEL is set to the value for the first target which matches. The sensitivity value (15 minutes) may be changed by adding a slash ("/") parameter to the command line. The parameter /0:20 changes the sensitivity value to 20 minutes. You may set more than one sensitivity value. The value applies to all target times to its right on the command line. Target times can be one of: a simple time-3:00AM; a day of the week and time-SAT 1230; a month day of the week time-AUGUST 23 6:15PM; an ordinal number (optionally with a month) time-2ND 0800, 1ST NOVEMBER 4:45AM; an ordinal number day of the week (and optionally IN month) time-2ND SUNDAY 1900, 3rd SUNDAY IN JANUARY 5:45pm. LAST may be used as an ordinal number to signify the last day in the month. If months are left out, then the current month is assumed. Examples CHKTIME SUN 0300, 1ST SUN IN APR 0300, LAST SUN IN OCT 0300 CHKTIME 1ST 3AM, SEPTEMBER 11 5PM The first example looks for 3am on Sundays. If it happens on the first Sunday in April (daylight savings time starts) then ERRORLEVEL is set to 2. If it happened on the last Sunday in October (daylight savings time ends) then ERRORLEVEL is set to 3. On any other Sunday at 3am ERRORLEVEL will be set to 1. You can use this example to automate changing your computer clock for daylight savings time and then setting events in the CP290. Your AUTOEXEC.BAT file would look like the following: September 6, 1994 Smart10 v2.1 Page 15 CHKTIME SUN 0300, 1ST SUN IN APRIL 0300, LAST SUN IN OCT 0300 IF ERRORLEVEL 3 GOTO DSTOFF IF ERRORLEVEL 2 GOTO DSTON IF ERRORLEVEL 1 GOTO SETEVENTS GOTO NOTTIME :DSTOFF rem "Fall back" on the last Sunday in October DSTIME OFF GOTO SETEVENTS :DSTON rem "Spring forward" on the 1st Sunday in April DSTIME ON :SETEVENTS Smart10 Smart10 /s A1 off :NOTTIME The DSTIME program The DSTIME program is used to add or subtract an hour from your computer's clock. You can use it to automate changing the clock when Daylight Savings time changes. DSTIME ON sets the clock forward one hour and DSTIME OFF sets it back one hour. Example files An example autoexec batch file and Smart10 module/event program file have been included with this distribution. These files illustrate the topics described in this document. Change History: 1.0 Original Release 1.1 Corrected CHKTIME problem with "LAST" Corrected SMART10 problem with cancel Corrected GENPGM problem with DIM values Corrected handling of IF expressions using "|', "&" and Parens 1.2 Added EARLIERTHAN and LATERTHAN conditions 1.3 Added multiple unit Module Identifications Fixed error in registration code 1.4 Added the INI file for configuration parameters Fixed handling of BETWEEN which wraps year end 1.5 Cleaned up syntax checking on Module line Enhanced GENPGM to handle multi-events, Unknown modules Added verbiage on what Smart10 is doing 1.6 Reclaimed dead event slots 1.7 Fixed random failure of Daylight Savings Time 1.8 Added file output option for Map and Event displays Added Clock synchronization to the second Corrected syntax parsing on missing day specification Fixed problems with Restore and multi-events September 6, 1994 Smart10 v2.1 Page 16 1.9 Fixed problems with NOW on immediate commands 2.0 Fixed problem with "OK to override time" 2.1 Fixed powerfail not taking into account previous day state Enabled Sunrise, Sunset and Now in EARLIERTHAN, etc. Configure now guesses at a timezone based on longitude. Added undocumented commands BRIGHT and FADE Added full date handling (Years now allowed) Added NOT to ON and BETWEEN syntax Added STARTING and UNTIL to date handling