home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / CLIPPER / MISC / X10_XA04.ZIP / XA.TXT < prev   
Encoding:
Text File  |  1991-08-03  |  53.7 KB  |  1,310 lines

  1.   
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.                             XA Command Interpreter
  17.  
  18.                                  Version 01.04
  19.  
  20.                                   August 1991
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.                       Copyright 1991 by Bruce Christensen
  51.                               All rights reserved.
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                               Table of Contents
  64.  
  65.      1  Introduction....................................................  3
  66.  
  67.      2  Installation....................................................  4
  68.  
  69.      3  XA - the X10 Command Interpreter................................  4
  70.  
  71.      4  XA Tokens.......................................................  7
  72.  
  73.      4.1  XA Token Reference............................................  7
  74.  
  75.      4.2  Tokens in detail..............................................  8
  76.  
  77.      4.2.1  Action Tokens (ON, OFF, DIM)................................  8
  78.  
  79.      4.2.2  Module Address Tokens (HOUSE, UNIT, A1...P16)............... 10
  80.  
  81.      4.2.3  Coordinate Tokens (LATITUDE, LONGITUDE, TIMEZONE)........... 11
  82.  
  83.      4.2.4  Clock Tokens (SYNCHRONIZE X10, PC, EXACT)................... 12
  84.  
  85.      4.2.5  Day Tokens (SUNDAY...SATURDAY, WEEKDAYS, WEEKENDS, etc.) ... 13
  86.  
  87.      4.2.6  Date Tokens (DATE, THRU).................................... 13
  88.  
  89.      4.2.7  Time Tokens (TIME, SUNRISE/SET, OFFSET, NORMAL,
  90.                           SECURITY, RANDOM)............................. 15                                             15
  91.  
  92.      4.2.8  Misc Tokens (BASECODE, PORT, DEFINE, EVENT, CLEAR, DIAGNOSE,
  93.                MONITOR, IRQ, IO, LOG, ERASE)............................ 17
  94.  
  95.      5  Command Files................................................... 20
  96.  
  97.      6  Monitoring and Logging Events................................... 21
  98.  
  99.      7  POWERUP Utility................................................. 23
  100.  
  101.      8  License Agreement and Registration.............................. 24
  102.  
  103.  
  104.  
  105.  
  106.   XA Command Interpreter (Version 1.04)                               Page  3
  107.  
  108.  
  109. 1) Introduction
  110.  
  111.      This floppy contains a set of extremely useful DOS utilities for the
  112.      X10 Computer Interface (CP290). These utilities are being marketed
  113.      under the try-before-you-buy (Shareware) concept to allow you a
  114.      complete test of the product before you are required to register.
  115.      Shareware provides you with low-cost, high-performance software and
  116.      support. Many features have been added to this product based on input
  117.      from users. Registration will provide you with the latest updates, and
  118.      an opportunity to voice your suggestions for new product features. See
  119.      Section 8.0 - License Agreement and Registration, also the
  120.      Registration form for more details.
  121.  
  122.      To take full advantage of the features in this package, you
  123.      should connect your computer to an X10-compatible Appliance module.
  124.      This way, the combination of the X10 hardware and the XA software can
  125.      take "home automation" to a higher level. From now on, you can have
  126.      the CP-290 update itself on once-per-week basis. These updates may
  127.      include events that may be scheduled days, months, even years in
  128.      advance.
  129.  
  130.      There are (2) two programs distributed on this disk. Briefly,
  131.  
  132.           A) XA - X10 Command Interpreter.   (XA.EXE)
  133.                This utility reads and downloads commands to the CP290 in
  134.                two modes. The first mode is from command line arguments,
  135.                ie, from the DOS prompt. The second mode can read an entire
  136.                file of commands. These commands can be either timed events
  137.                or direct commands.
  138.  
  139.                Besides these functions, the interpreter has several
  140.                features not found with the original X10 software. Some of
  141.                these features are:
  142.  
  143.                     1) Exact Sunrise/Sunset times based on the latitude,
  144.                        longitude, and timezone of your city.
  145.  
  146.                     2) Request any event to occur days, months, even years
  147.                        from now. XA expands X10's time base by allowing you
  148.                        to program an event for any day in the future, or
  149.                        you can schedule an event to occur between two
  150.                        defined dates.
  151.  
  152.                     3) Synchronize your PC's clock with the time maintained
  153.                        by the CP-290, or synchronize the CP-290 clock with the
  154.                        time maintained by your PC. These settings can be
  155.                        made down to the second, so both your PC and CP-290
  156.                        are exactly synchronized.
  157.  
  158.                     4) Monitor events as the CP-290 executes them, and
  159.                        optionally log them to a file.
  160.  
  161.                     5) The ability to change the base housecode without
  162.                        losing all the data already stored in the interface.
  163.  
  164.  
  165.   XA Command Interpreter (Version 1.04)                               Page  4
  166.  
  167.                     6) String substitution in the command file allows you
  168.                        to equate a device (FAMILY_ROOM_LAMP) with its module
  169.                        address (A3).
  170.  
  171.                     7) Comments are allowed in the file to properly document
  172.                        its content.
  173.  
  174.           2) POWERUP - AUTOEXEC Time Check Utility
  175.                This utility is provided for those of you that control your
  176.                computer with an X10 Appliance module. When placed in your
  177.                AUTOEXEC.BAT file, this utility compares the current PC time
  178.                with a pre-set time "window" that you define. During your
  179.                computers powerup, if the PC's time falls within this
  180.                "window", it will return an errorlevel of 1. This errorlevel
  181.                can then be checked and used to perform any number of
  182.                functions you desire. For instance, X10 turns my computer on
  183.                at 3:00 AM every Sunday morning. POWERUP checks the
  184.                computers time and then invokes a complete optimization and
  185.                backup of my hard drives as well as downloads updated times
  186.                to the X10 Computer Interface. There will be more on this
  187.                subject in Section 7 - Powerup Utility.
  188.  
  189.  
  190.  
  191. 2) Installation
  192.  
  193.      You probably want to copy the contents of this floppy to the same
  194.      drive and directory in which your X10 software resides. It's also a
  195.      good idea to include this drive and directory within your PATH
  196.      statement of the AUTOEXEC.BAT file.
  197.  
  198.           Ex: SET PATH=C:\DOS;D:\X10;...
  199.  
  200.      You should set the XA environment variable to the drive and directory
  201.      of your command files. This also can be placed in your AUTOEXEC.BAT
  202.      file.
  203.  
  204.           Ex: SET XA=D:\X10
  205.  
  206.      (See the AUTOEXEC.BAT supplied with this package for an example).
  207.  
  208.  
  209.  
  210. 3) XA - The X10 Command Interpreter
  211.  
  212.      As stated earlier, XA can operate on commands from the DOS command
  213.      line, or from a file. In either mode, XA uses several options to alter
  214.      its operation. The XA command has the following form:
  215.  
  216.      ┌───────────────────────────────────────────────────────────────────┐
  217.      │   XA [f=filename] [c=comm port] [i=irq] [o=io_addr] ["commands"]  │
  218.      │      [-e] [-s] [+m] [+h]                                          │
  219.      └───────────────────────────────────────────────────────────────────┘
  220.  
  221.  
  222.   XA Command Interpreter (Version 1.04)                               Page  5
  223.      The options may appear in any order, but the presence of some of these
  224.      options negates other options.
  225.  
  226.           [f=filename]   - this is the name of the file containing the
  227.                            commands to be interpreted by XA. To use XA in
  228.                            its file mode, you would type:
  229.  
  230.                               XA f=filename
  231.  
  232.                            The default file name is XA.CMD. If you want to
  233.                            use the default file, you do not have to specify
  234.                            the filename - just type: XA
  235.  
  236.           [c=comm port]  - this allows you to select the serial port for
  237.                            communications with the interface. You may
  238.                            select ports 1...4. For example, if your CP290
  239.                            is connected to COM3:
  240.  
  241.                               XA c=3
  242.  
  243.                            The default port is 1. To use the default, you
  244.                            do not have to specify the port number - just
  245.                            type:
  246.  
  247.                               XA
  248.  
  249.                            See Section 4.2.7 - Miscellaneous tokens for a
  250.                            different way to set the comm port within a
  251.                            command file. Also, see the next two options if
  252.                            your comm port uses a different IRQ level, or a
  253.                            different IO port address.
  254.  
  255.           [i=irq]        - use this option if your communications port uses
  256.                            a different IRQ level than what is "standard"
  257.                            (see Section 4.2.7 - PORT COMx for the default
  258.                            assignments). The default IRQ level is 4. If
  259.                            your serial port uses IRQ 5, then include:
  260.  
  261.                               XA i=5
  262.  
  263.           [o=io_addr]    - this option allows you to select a different IO
  264.                            address from the default 3F8 hex. If your serial
  265.                            port is setup for 2E8 hex, then use:
  266.  
  267.                               XA o=2E8
  268.  
  269.  
  270.   XA Command Interpreter (Version 1.04)                               Page  6
  271.           ["commands"]   - "commands" consist of several tokens (huh? - see
  272.                            Section 4 - Tokens) that describe an event of
  273.                            direct command. For example:
  274.  
  275.                               XA "A1 ON"
  276.  
  277.                            In the above example, A1 and ON are tokens.
  278.                            Together they form a single command. Multiple
  279.                            commands may appear in the command line, but
  280.                            they must be enclosed by quotation marks (" ").
  281.                            The next example shows the use of multiple
  282.                            commands to create a flashing effect:
  283.  
  284.                               XA "A1 ON" "A1 OFF" "A1 ON" "A1 OFF"
  285.  
  286.                            One other note, the presence of any commands on
  287.                            the command line will nullify the use of a file.
  288.                            Therefore in the next example, the XA utility
  289.                            will ignore the file request and process just
  290.                            the commands:
  291.  
  292.                               XA f=null.cmd "A1 A2 A3 A4 ON"
  293.  
  294.           [-e]           - this option is used to prevent any
  295.                            communications to the interface. Use this option
  296.                            only when you want to validate commands in a
  297.                            file.
  298.  
  299.           [-s]           - this option is used to prevent sorting the
  300.                            commands based on their EVENT numbers (see
  301.                            EVENTS described in Section 4.2.8 -
  302.                            Miscellaneous tokens).
  303.  
  304.           [+m]           - this option will monitor the comm port for any
  305.                            events reported by the CP-290. Press the <ESC>
  306.                            key to terminate. Note: You can run this as a
  307.                            background task in Windows 3.0 (386 enhanced
  308.                            mode) to avoid tying up your computer.
  309.  
  310.           [+l]           - this option will append any monitoring
  311.                            information to the file XA.LOG. The [+m] option
  312.                            must also be specified for this command to work.
  313.  
  314.           [+h]           - displays a brief summary of the options
  315.                            described above.
  316.  
  317.  
  318.  
  319.   XA Command Interpreter (Version 1.04)                               Page  7
  320. 4) XA Tokens
  321.  
  322.      What are tokens?
  323.      A token is to a command as a word is to a sentence. Individual words
  324.      are constructed to form a complete sentence - tokens are constructed
  325.      to form complete commands. This section will describe each token that
  326.      is recognized by the interpreter. Often, tokens may appear
  327.      anywhere in the command. For example, the command
  328.  
  329.           XA "A1 ON"    may also be constructed as
  330.           XA "ON A1"
  331.  
  332.      In other instances, tokens must sometimes be arranged in groups, and
  333.      their order is important. For example, the command to set your PC's
  334.      internal clock to the time that is maintained by the CP290 is:
  335.  
  336.           XA "SYNCHRONIZE PC"      <---This is legal
  337.  
  338.      If the tokens SYNCHRONIZE and PC were reordered as in the following
  339.      command:
  340.  
  341.           XA "PC SYNCHRONIZE"      <---This is illegal
  342.  
  343.      The interpreter would respond with a message indicating the token it
  344.      did not recognize along with the line number it appeared in. Then it
  345.      displays the entire line that contains the error:
  346.  
  347.           WARNING: Unrecognized token "PC" in line 1.
  348.                    PC SYNCHRONIZE
  349.  
  350.      Therefore, throughout this documentation any tokens that must be
  351.      arranged in a certain order will be contained in curly braces {..}.
  352.      Other tokens may be optional and will contained in parentheses (..).
  353.  
  354.  
  355. 4.1) Token Reference
  356.  
  357.      The following is a list of available tokens. Tokens that must be
  358.      arranged in a certain order will be contained in curly braces {..}.
  359.      Other tokens that may be optional will be denoted in parentheses (..).
  360.      All these tokens will discussed in more detail in the next section:
  361.  
  362.      4.1.1 Action tokens -
  363.           ON             - turns ON the specified modules.
  364.           OFF            - turns OFF the specified modules.
  365.           {DIM %%}       - DIM to a % (percentage) level of brightness.
  366.  
  367.      4.1.2 Module address tokens
  368.           {HOUSE x}      - module HOUSEcode A...P
  369.           {UNIT z}       - module UNITcode 1...16, ALL
  370.           A1...P16       - HOUSE UNIT combined
  371.  
  372.      4.1.3 Coordinate tokens:
  373.           {LATITUDE d m} - your LATITUDE in Degrees and Minutes
  374.           {LONGITUDE d m}- your LONGITUDE in Degrees and Minutes
  375.           {TIMEZONE x}   - your TIMEZONE (Standard/Daylight Savings time)
  376.  
  377.  
  378.   XA Command Interpreter (Version 1.04)                               Page  8
  379.  
  380.      4.1.4 Clock tokens:
  381.           {SYNCHRONIZE PC (EXACT)}  - set PC time based on X10 time
  382.           {SYNCHRONIZE X10 (EXACT)} - set X10 time based on PC time
  383.  
  384.      4.1.5 Day tokens:
  385.           SUNDAY,    SUN - Specific day for event to occur
  386.           MONDAY,    MON -     "
  387.           TUESDAY,   TUE -     "
  388.           WEDNESDAY, WED -     "
  389.           THURSDAY,  THU -     "
  390.           FRIDAY,    FRI -     "
  391.           SATURDAY,  SAT -     "
  392.           EVERYDAY             - Event occurs everyday
  393.           TODAY                - Event occurs once today only
  394.           TOMORROW             - Event occurs once tomorrow only
  395.           WEEKDAYS,  WEEKDAY   - Event occurs only on weekdays
  396.           WEEKENDS,  WEEKEND   - Event occurs only on weekends
  397.  
  398.    4.1.6 Specific Date tokens:
  399.           {DATE mm/dd/yyyy}    - Event occurs on specified date
  400.           {DATE mm/dd/yyyy THRU mm/dd/yyyy}
  401.                                - Event occurs between two dates
  402.  
  403.      4.1.7 Time tokens:
  404.           {TIME hh:mm AM} - Schedule event time
  405.           {TIME hh:mm PM}
  406.           SUNRISE         - Calculate time of sunrise
  407.           SUNSET          - Calculate time of sunset
  408.           {OFFSET +/-mm}  - Event + or - 60 mins of programmed time (dawn)
  409.           NORMAL          - Event occurs at specified time
  410.           SECURITY,RANDOM - Event occurs within the hour of programmed time
  411.  
  412.      4.1.8 Miscellaneous tokens:
  413.           {BASECODE x}   - change house BASECODE of interface to A...P
  414.           {PORT COMx}    - send commands via PORT COM1..4
  415.           {IRQ x}        - customize IRQ level for port.
  416.           {IO x}         - customize port address (must be in hex).
  417.           {DEFINE x z}   - substitute string 'x' for string 'z'
  418.           {EVENT xxx}    - Place event xxx in a known location of CP290 memory
  419.           DIAGNOSE       - Invoke CP290 self-test routine
  420.           MONITOR        - Watch events as the CP290 executes them
  421.           LOG            - Append event info to file XA.LOG
  422.           {CLEAR EVENT xxx} - Clear (delete) event xxx from CP290 memory
  423.           ERASE          - Erase ALL events from CP290 memory
  424.  
  425. 4.2) Tokens in Detail
  426.  
  427.      4.2.1 Action Tokens
  428.  
  429.           ON
  430.                This token informs the interface to turn ON the selected
  431.                modules.
  432.  
  433.                Example: XA "A1 ON"
  434.  
  435.  
  436.  
  437.   XA Command Interpreter (Version 1.04)                               Page  9
  438.  
  439.           OFF
  440.                This token informs the interface to turn OFF the selected
  441.                modules.
  442.  
  443.                Example: XA "A1 OFF"
  444.  
  445.  
  446.           {DIM %%}
  447.                These two tokens specify the intensity level of the selected
  448.                lamp module or wall switch module. The modules will turn on,
  449.                brighten to full intensity, then dim to the percentage
  450.                specified in the second token. There are 16 different
  451.                brightness levels available, the percentage you choose
  452.                (0 to 100) is mapped to one of these levels. See Note 3
  453.                below for compatibility issues with X10.EXE.
  454.  
  455.                Example: XA "A1 DIM 50"
  456.  
  457.  
  458.  
  459.           Notes:
  460.  
  461.           1) Only one token in this category should appear in a command. If
  462.              two or more of these tokens appear, only the last one will be
  463.              acted on. For example:
  464.  
  465.                XA "A1 ON OFF" - will be interpreted as:
  466.                XA "A1 OFF"
  467.  
  468.              If you were trying to flash the lights, the proper way to
  469.              perform this action is:
  470.  
  471.                XA "A1 ON" "A1 OFF"
  472.  
  473.           2) You may activate as many modules as you want in a single
  474.              command providing these modules share the same HOUSE code:
  475.  
  476.                XA "A1 A2 A3 A4 A5 A6 ON"
  477.  
  478.              To activate modules with different HOUSE codes, use separate
  479.              commands:
  480.  
  481.                XA "A1 A2 A3 ON" "B1 B2 ON" "C1 OFF"
  482.  
  483.           3) If you download a timed event that contains the DIM token, the
  484.              X10 interface program (X10.EXE) reports the DIM level @ 90%,
  485.              even though you may have the level at some other intensity.
  486.              The reason for this discrepency is because X10.EXE stores a
  487.              mirror image of the data it sends to the CP-290 (along with
  488.              some other information) in a file called X10.DAT. Eventually,
  489.              when the exact format of this file is determined, XA will be
  490.              able to create a similar file so that the proper levels
  491.              will be displayed by X10.EXE. Any of you hackers out there
  492.              that know this format, please step forword.
  493.  
  494.  
  495.  
  496.   XA Command Interpreter (Version 1.04)                               Page 10
  497.  
  498.      4.2.2 Module Address tokens
  499.  
  500.           {HOUSE x}
  501.                These two tokens specify the HOUSE code of the module you
  502.                want to select. There are 16 HOUSE codes available, lettered
  503.                A through P. This method of selecting address requires the
  504.                use of the UNIT token. Only one HOUSE token should appear in
  505.                a command.
  506.  
  507.  
  508.           {UNIT y}
  509.           {UNIT ALL}
  510.                These two tokens specify the UNIT code of the module you
  511.                want to select. There are 16 UNIT codes available, numbered
  512.                1 through 16. Specifying UNIT ALL operates on all 16 modules
  513.                addressed by the HOUSE token. This method of module
  514.                addressing requires the use of the HOUSE token.
  515.  
  516.                Examples: XA "HOUSE A UNIT 1 ON"   or,
  517.                          XA "UNIT 1 HOUSE A ON"
  518.  
  519.                Multiple UNITs may appear in a single command.
  520.  
  521.                Example:  XA "HOUSE A UNIT 1 UNIT 2 UNIT 3 ON"
  522.  
  523.                Turn off all units on HOUSE P.
  524.  
  525.                Example: XA "HOUSE P UNIT ALL OFF"
  526.  
  527.           A1...P16
  528.                This is a shortcut method of specifying both HOUSE and UNIT
  529.                tokens. The house code must appear first, followed by the
  530.                unit code. Specifying ALL is not permitted.
  531.  
  532.                Example:  XA "A1 ON" "P16 OFF"
  533.  
  534.           Notes:
  535.  
  536.           1) You may activate as many modules as you want in a single
  537.              command providing these modules share the same HOUSE code:
  538.  
  539.                XA "A1 A2 A3 A4 A5 A6 ON"
  540.  
  541.              To activate modules with different HOUSE codes, use separate
  542.              commands:
  543.  
  544.                XA "A1 A2 A3 ON" "B1 B2 ON" "C1 OFF"
  545.  
  546.  
  547.  
  548.   XA Command Interpreter (Version 1.04)                               Page 11
  549.      4.2.3 Coordinate tokens
  550.  
  551.           This group of tokens enable the precise calculation of sunrise
  552.           and sunset times for your location. This information can be
  553.           found in almanacs, or extrapolated from maps. Your local library
  554.           or city hall may also have the precise coordinates. If your
  555.           events don't require these functions, then don't worry about
  556.           them.
  557.  
  558.  
  559.           {LATITUDE d m}
  560.                Your LATITUDE in degrees (0...+/-90) and minutes (0...59).
  561.  
  562.                Example: LATITUDE 41d35m
  563.  
  564.  
  565.           {LONGITUDE d m }
  566.                Your longitude in degrees (0...+-180) and minutes (0...59).
  567.                Longitudes West of the prime meridian are positive, those
  568.                East of the prime meridian are negative. In the US, all
  569.                longitudes are positive.
  570.  
  571.                Example: LONGITUDE 81d20m
  572.  
  573.  
  574.           {TIMEZONE x}
  575.                Exact calculations depend on the local time. Use the
  576.                following table to determine your time zone.
  577.  
  578.                             Zone                     x
  579.                        ====================     =========
  580.                        Eastern Standard Time:        5
  581.                        Eastern Daylight Time:        4
  582.                        Central Standard Time:        6
  583.                        Central Daylight Time:        5
  584.                        Mountain Standard Time:       7
  585.                        Mountain Daylight Time:       6
  586.                        Pacific Standard Time:        8
  587.                        Pacific Daylight Time:        7
  588.  
  589.                Example: TIMEZONE 5
  590.           Notes:
  591.  
  592.           1) Since all three tokens in this group are required for sunrise
  593.              and sunset calculations, it is easier to include these tokens
  594.              in a file and invoke the XA utility in the file mode:
  595.  
  596.              Example: XA f=rise_set.cmd
  597.                   where the file "rise_set.cmd" contains the following
  598.                   commands:
  599.                     :
  600.                   LATITUDE 41d35m
  601.                   LONGITUDE 81d20m
  602.                   TIMEZONE 5
  603.                     :
  604.  
  605.  
  606.  
  607.   XA Command Interpreter (Version 1.04)                               Page 12
  608.           2) Remember to change TIMEZONE to the value that's appropriate
  609.              during the Spring and Fall when the time is adjusted.
  610.  
  611.      4.2.4 Clock tokens
  612.  
  613.           {SYNCHRONIZE PC (EXACT)}
  614.                These tokens instruct the XA utility to set your computers
  615.                clock based on the current time retrieved from the CP290. It
  616.                will not affect the computers date.
  617.  
  618.                Example: XA "SYNCHRONIZE PC"
  619.  
  620.                Use the optional "EXACT" token to wait for the X10 time to
  621.                rollover to the next minute. This provides a synchronization
  622.                within 1 second, but forces you to wait for up to one minute
  623.                for this rollover to happen.
  624.  
  625.                Example: XA "SYNCHRONIZE PC EXACT"
  626.  
  627.           {SYNCHRONIZE X10 (EXACT)}
  628.                These tokens instruct the XA utility to set the time and day
  629.                of the CP290 internal clock based on the current time
  630.                retrieved from your computer.
  631.  
  632.                Example: XA "SYNCHRONIZE X10"
  633.  
  634.                Using "EXACT" will force XA to wait until the PC's clock
  635.                seconds counter rolls over from 59 to 00 ensuring a
  636.                synchronization of clocks to within 1 second, however you
  637.                may have to wait for up to 1 minute for this rollover to
  638.                happen.
  639.  
  640.                Example: XA "SYNCHRONIZE X10 EXACT"
  641.  
  642.           Notes:
  643.  
  644.           1) You might want to include the command:
  645.  
  646.                XA "SYNCHRONIZE PC"
  647.  
  648.              in your AUTOEXEC.BAT file to set your PC's internal clock if
  649.              your system lacks a on-board battery backed-up clock. Note
  650.              that this command will not set up the date since X10 does not
  651.              contain a real-time calendar.
  652.  
  653.           2) Use:
  654.                XA "SYNCHRONIZE PC"   or,
  655.                XA "SYNCHRONIZE X10"
  656.  
  657.              in your AUTOEXEC.BAT file if either your PC or CP290 do not
  658.              keep accurate time.
  659.  
  660.  
  661.   XA Command Interpreter (Version 1.04)                               Page 13
  662.      4.2.5 Day tokens:
  663.  
  664.           Use of these tokens indicate a timed event, ie, the complete
  665.           command will be downloaded to the interface and stored there for
  666.           later activation.
  667.  
  668.           SUNDAY,    SUN
  669.           MONDAY,    MON
  670.           TUESDAY,   TUE
  671.           WEDNESDAY, WED
  672.           THURSDAY,  THU
  673.           FRIDAY,    FRI
  674.           SATURDAY,  SAT
  675.                These tokens specify the specific day of the event. Multiple
  676.                tokens may appear within a command.
  677.  
  678.                Example: XA "MONDAY FRIDAY A1 ON TIME 7:30 AM"
  679.  
  680.           WEEKENDS, WEEKEND
  681.                Event occurs on SATURDAY and SUNDAY
  682.  
  683.           WEEKDAYS, WEEKDAY
  684.                Event occurs MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY
  685.  
  686.           EVERYDAY
  687.                Event occurs MON TUE WED THU FRI SAT SUN
  688.  
  689.           TODAY
  690.                Event will occur today only at the specified time. It is
  691.                then deleted from the interface after midnight.
  692.  
  693.           TOMORROW
  694.                Event will occur tomorrow only at the specified time. It is
  695.                then deleted from the interface after midnight.
  696.  
  697.  
  698.           Notes:
  699.  
  700.  
  701.      4.2.6 Specific Date tokens:
  702.  
  703.           Since the CP-290 does not contain an on-board calendar, there is
  704.           no direct method of storing an event that occurs more than 1 week
  705.           away. However, XA has the ability to evaluate dates and as long
  706.           as XA is run at least once a week it can determine the
  707.           appropriate time to download the event. This feature allows you
  708.           specify an event weeks, months, or years in advance. In addition,
  709.           you can specify an event to occur on specific days of each month
  710.           (such as every 10th day of the month), or annually (every 4th of
  711.           July), or an event may be scheduled to trigger every day between
  712.           specific dates (such as Christmas and New Years).
  713.  
  714.           If you plug you computer into an Appliance module, you can have
  715.           the CP-290 turn your computer on automatically on a once-per-week
  716.           basis. By using POWERUP.EXE (supplied with this package) you can
  717.           have a new set of events automatically downloaded to the CP-290.
  718.  
  719.  
  720.   XA Command Interpreter (Version 1.04)                               Page 14
  721.           Now you'll never forget to update your CP-290 - your computer
  722.           does it for automatically. This is what "automation" is all
  723.           about. Also, this method guarantees that specific dates will be
  724.           evaluated and events will be triggered at the proper time in the
  725.           future. See Section 7.0 on the Powerup utility for more details.
  726.  
  727.  
  728.      VERY IMPORTANT NOTE:
  729.  
  730.           When using the following DATE tokens, you should include the
  731.           "ERASE" token in your command file. ERASE will clear the entire
  732.           contents of the CP-290, removing all event information. The
  733.           reason you want to erase its memory is because once XA downloads
  734.           an event to the CP-290, it will remain there until it is deleted
  735.           or overwritten. The next time XA is run (next week) the event may
  736.           still remain and trigger itself again and again until it is
  737.           either manually deleted, or eventually overwritten by a new
  738.           event. ERASE ensures that the data is cleared and that the
  739.           interface will contain fresh information. Also, since all your
  740.           information is stored in a command file, the relavent information
  741.           will always be placed in the CP-290.
  742.  
  743.  
  744.  
  745.           {DATE mm/dd/yyyy}
  746.                Event occurs on specified date. You must specify the date in
  747.                the following format:
  748.  
  749.                     Month - 0, 1, or 2 digits (1 = January... 12 = December)
  750.                     Day   - 0, 1, or 2 digits
  751.                     Year  - 0, or 4 digits (1991 - NOT 91).
  752.  
  753.  
  754.                To specify module A5 to turn on July 4, 1992 at 5:00 pm:
  755.  
  756.                     A5 ON DATE 7/4/1992 TIME 5:00 PM
  757.  
  758.                You may omit fields which is the equivalent of specifying
  759.                any month, day, or year. Each field must be delineated by a
  760.                seperator, either a '/' or '-' character. For example, to
  761.                specify module A5 to turn on every 4th of July at sunset,
  762.                leave off the "yyyy" field:
  763.  
  764.                     DATE 7/4/ A5 ON SUNSET
  765.  
  766.                To specify module A5 to turn off on the 4th of every month
  767.                at 6:00 AM
  768.  
  769.                     DATE /4/ A5 OFF TIME 6:00 AM
  770.  
  771.  
  772.                Use DEFINE statements to clarify certain dates (see Section
  773.                4.2.8).
  774.  
  775.                     DEFINE CHRISTMAS_DAY DATE 12/25/
  776.                     A1 ON CHRISTMAS TIME 5:00 AM
  777.  
  778.  
  779.   XA Command Interpreter (Version 1.04)                               Page 15
  780.  
  781.  
  782.           {DATE mm/dd/yyyy THRU mm/dd/yyyy}
  783.                Event occurs between two dates. Use the same conventions as
  784.                described above.
  785.  
  786.                If you will be going on vacation between July 1, 1992 and
  787.                July 17, 1992, and you want the bedroom lights (A3) turned
  788.                on and off in a random fashion during the evenings:
  789.  
  790.                     DATE 7/1/1992 thru 7/17/1992 ON A3 TIME 9:00 PM SECURITY
  791.                     DATE 7/1/1992 thru 7/17/1992 OFF A3 TIME 11:30 PM SECURITY
  792.  
  793.                Use DEFINE statements for clarification, and reduce typing
  794.                for multiple entries (note that both uppercase and lowercase
  795.                is used):
  796.  
  797.                     DEFINE Vacation DATE 7/1/1992 THRU 7/17/1992
  798.                     DEFINE BEDROOM_LIGHTS A3
  799.                     DEFINE ON_EVENING TIME 9:00 PM SECURITY
  800.                     DEFINE OFF_NIGHT TIME 11:30 PM SECURITY
  801.                          :
  802.                     Bedroom_Lights On_Evening Vacation
  803.                     Bedroom_Lights OFF_Evening Vacation
  804.  
  805.  
  806.  
  807.  
  808.      4.2.7 Time tokens:
  809.  
  810.           Use of these tokens indicate a timed event, ie, the complete
  811.           command will be downloaded to the interface and stored there for
  812.           later activation.
  813.  
  814.           {TIME hh:mm AM}
  815.           {TIME hh:mm PM}
  816.                Schedule event at a certain time.
  817.  
  818.                Example: XA "SUNDAY ON TIME 12:30 AM D1"
  819.  
  820.           SUNRISE
  821.           SUNSET
  822.                These tokens will calculate the sunrise or sunset for the
  823.                day token in the command. The use of these tokens also
  824.                requires the LATITUDE, LONGITUDE, and TIMEZONE tokens to be
  825.                included. Therefore, these tokens should be used in the file
  826.                mode.
  827.  
  828.                Example: MONDAY ON SUNSET D1
  829.  
  830.                If multiple day tokens appear in the command line, the
  831.                sunrise or sunset will be calculated for the last day token
  832.                that appears in the command line.
  833.  
  834.                Example: MONDAY TUESDAY WEDNESDAY ON SUNSET D1
  835.  
  836.  
  837.  
  838.   XA Command Interpreter (Version 1.04)                               Page 16
  839.                If more accuracy is needed, then break each daily event into
  840.                its own command.
  841.  
  842.                Example: MONDAY ON SUNSET D1 EVENT 0
  843.                         TUESDAY ON SUNSET D1 EVENT 1
  844.                         WEDNESDAY ON SUNSET D1 EVENT 2
  845.  
  846.  
  847.           {OFFSET +-mm}
  848.                Push or postpone the scheduled event by up to 60 minutes.
  849.                This token is useful if you want to activate lights at dusk
  850.                rather than sunset, or to deactivate lights at dawn rather
  851.                than sunrise. The '+' sign is the default condition, you
  852.                must specify the '-' if needed.
  853.  
  854.  
  855.                Example: Turn on lights 30 minutes after sunset
  856.                     MONDAY ON SUNSET D1 EVENT 0 OFFSET 30
  857.  
  858.                     Turn lights off 45 minutes before sunrise
  859.                     MONDAY OFF SUNRISE D1 EVENT 1 OFFSET -45
  860.  
  861.                See Section 4.2.8 (Miscellaneous Tokens) for another way of
  862.                specifying DUSK or DAWN. This can be accomplished using the
  863.                "DEFINE" token. For example:
  864.  
  865.                     DEFINE DUSK SUNSET OFFSET 30
  866.                     DEFINE DAWN SUNRISE OFFSET -45
  867.                          :
  868.                     MONDAY ON DUSK D1 EVENT 0
  869.                     MONDAY OFF DAWN D1 EVENT 1
  870.  
  871.  
  872.  
  873.   XA Command Interpreter (Version 1.04)                               Page 17
  874.  
  875.           NORMAL
  876.                This token activates the event at the specfied time. It is
  877.                the default mode, therefore it does not need to be
  878.                specified.
  879.  
  880.           SECURITY
  881.           RANDOM
  882.                This token allows the interface to randomly select the
  883.                activation time of the event. This activation occurs within
  884.                the hour of the programmed time. Therefore, if the
  885.                downloaded time was for 7:18 PM, actual activation time
  886.                could range from 7:00 PM through 7:59 PM. This mode provides
  887.                a security feature giving your lighting a more lived-in
  888.                look.
  889.  
  890.                Example: XA "A1 ON TIME 7:30 PM SECURITY EVERYDAY"
  891.                         XA "A1 ON TIME 7:30 PM RANDOM EVERYDAY"
  892.  
  893.  
  894.      4.2.8 Miscellaneous tokens:
  895.  
  896.           {BASECODE x}
  897.                These tokens change the base housecode of the interface
  898.                WITHOUT losing the data stored in the interface. Prior to
  899.                changing the housecode, a complete upload of all events
  900.                stored in the interface is performed. The housecode is
  901.                changed, then all events are downloaded back into the
  902.                interface. Valid housecodes are A...P.
  903.  
  904.                Example: XA "BASECODE D"
  905.  
  906.                During upload, the interface sends all 128 possible events
  907.                that are stored in its memory. If an event actually exists,
  908.                then an up arrow is displayed, otherwise a dot (·) is
  909.                displayed. During download, a down arrow is displayed.
  910.                Downloads will take significantly longer due to the overhead
  911.                involved with sending synch bytes for each event.
  912.  
  913.           {PORT COMx}
  914.                These tokens allow you to specify which comm port the
  915.                interface is attached to. Legal ports are:
  916.  
  917.                   COM1 = I/O address 0x3F8   Interrupt 4
  918.                   COM2 =      "      0x2F8       "     3
  919.                   COM3 =      "      0x3E8       "     4
  920.                   COM4 =      "      0x2E8       "     3
  921.  
  922.                These tokens were intended to be placed in command files.
  923.                They will take precedence over the 'c=x' command line
  924.                argument (see section 3).
  925.  
  926.                Example line in a command file:
  927.                     PORT COM3
  928.  
  929.  
  930.  
  931.   XA Command Interpreter (Version 1.04)                               Page 18
  932.                If your port assignments do not match those in the above
  933.                table, then use the command line parameters [i=x] and
  934.                [o=xxx], or the file mode tokens "IRQ" and "IO" (see below)
  935.                to customize the communication characteristics.
  936.  
  937.           {IRQ=x}
  938.                Use these tokens in your command file only if your
  939.                communications port uses a different IRQ level than what is
  940.                "standard" (see the above table for the default
  941.                assignments). The default IRQ level is 4. If your serial
  942.                port uses IRQ 5, then use the following line in your command
  943.                file:
  944.  
  945.                     IRQ=5
  946.  
  947.                These tokens were intended to be placed in command files.
  948.                They will take precedence over the 'i=x' command line
  949.                argument (see section 3).
  950.  
  951.           {IO=x}
  952.                This option allows you to select a different IO address from
  953.                the default 3F8 hex. If your serial port is setup for 2E8
  954.                hex, then use the following line in your command file:
  955.  
  956.                     IO=2E8
  957.  
  958.                These tokens were intended to be placed in command files.
  959.                They will take precedence over the 'o=x' command line
  960.                argument (see section 3).
  961.  
  962.  
  963.           {DEFINE x z}
  964.                These tokens were designed to be used in command files. They
  965.                allow you to substitute several tokens into a single token
  966.                of your choice. They help to make command files more
  967.                readable. Up to 50 custom tokens are allowed. For example,
  968.                you can assign a token "CHRISTMAS_ON" to an equivalent group
  969.                of tokens "HOUSE A UNIT 4 ON TIME 8:00 PM EVERYDAY" as
  970.                follows:
  971.  
  972.                DEFINE CHRISTMAS_ON HOUSE A UNIT 4 ON TIME 8:00 PM EVERYDAY
  973.                       ============ =======================================
  974.                            x                          z
  975.  
  976.                The 'x' and 'y' strings can be up to 60 characters each.
  977.                Notice that the 'x' portion uses underscore characters (_)
  978.                to separate the words but to keep the string contiguous.
  979.                This is important because the XA interpreter looks for a
  980.                SPACE character to separate the 'x' and 'y' components.
  981.  
  982.                Later in the command file, you can use the following command
  983.                to activate your Christmas lights:
  984.  
  985.                     CHRISTMAS_ON
  986.  
  987.  
  988.   XA Command Interpreter (Version 1.04)                               Page 19
  989.                Internally, XA will convert this string to its equivalent:
  990.                     HOUSE A UNIT 4 ON TIME 8:00 PM EVERYDAY
  991.  
  992.                More Examples:
  993.                          :
  994.                     DEFINE PLANT_GROW_LIGHTS A8
  995.                     DEFINE OUTSIDE_LIGHTS A1
  996.                     DEFINE ALL_ON HOUSE A UNIT ALL ON
  997.                          :
  998.                     PLANT_GROW_LIGHTS ON TIME 6:00 AM EVERYDAY
  999.                     PLANT_GROW_LIGHTS OFF TIME 12:00 AM EVERYDAY
  1000.                          :
  1001.                     OUTSIDE_LIGHTS OFF SUNRISE EVERYDAY
  1002.                          :
  1003.                     ALL_ON SUNDAY TIME 7:30 PM
  1004.  
  1005.                The use of DEFINES is helpful if you want to the XA utilty
  1006.                monitor the CP290 for events as they occur. See Section 6 on
  1007.                Monitoring.
  1008.  
  1009.                **** Important Note ****
  1010.                DEFINEs must be declared before being used. The following
  1011.                would cause an error message because the DEFINE was placed
  1012.                out of order:
  1013.  
  1014.                     OUTSIDE_LIGHTS ON SUNSET EVERYDAY
  1015.                     DEFINE OUTSIDE_LIGHTS A1
  1016.  
  1017.           {EVENT xxx}
  1018.                The CP290 can store up to 128 events in its memory. Each
  1019.                event occupies fixed locations in memory. When you download
  1020.                events to the interface, an event number will be assigned to
  1021.                the command. The first event will have an event number of 0,
  1022.                the second will be 1, etc. Therefore, any event that was
  1023.                previously stored at those locations will be overwritten.
  1024.                The token {EVENT xxx} allows you to override the number
  1025.                assigned to this command.
  1026.  
  1027.                If you normally use one command file then the need to use
  1028.                this token is probably unnecessary. If multiple command
  1029.                files are used, then this token is helpful.
  1030.  
  1031.                Example: MON ON SUNSET D1 EVENT 100
  1032.                         TUE ON SUNSET D1 EVENT 101
  1033.                         WED ON SUNSET D1 EVENT 102
  1034.  
  1035.  
  1036.           {CLEAR EVENT xxx}
  1037.                These tokens delete the specified event from the computer
  1038.                interface. See description for EVENT xxx above. Only 1 event
  1039.                may be cleared per command.
  1040.  
  1041.                Example: XA "CLEAR EVENT 100" "CLEAR EVENT 101"
  1042.  
  1043.  
  1044.   XA Command Interpreter (Version 1.04)                               Page 20
  1045.           ERASE
  1046.                This token erases all events from the CP-290 memory. Use
  1047.                this token when specific dates are present in your command
  1048.                file. This way, once the date has come and gone, it will be
  1049.                deleted from the CP-290 memory automatically.
  1050.  
  1051.           DIAGNOSE
  1052.                This token triggers the X10 diagnostic routine. You will be
  1053.                informed of the results after a few seconds.
  1054.  
  1055.                   ┌────────────────────────────────────────────┐
  1056.                   │             *** WARNING ***:               │
  1057.                   │                                            │
  1058.                   │  The diagnostics on the CP290 will         │
  1059.                   │  destroy all the event information stored  │
  1060.                   │  in its memory. Make sure you have all     │
  1061.                   │  the event information contained in a      │
  1062.                   │  command file so that you can restore      │
  1063.                   │  this data once the diagnostics have       │
  1064.                   │  completed.                                │
  1065.                   └────────────────────────────────────────────┘
  1066.  
  1067.           MONITOR
  1068.                This token informs XA to continuously monitor the
  1069.                communications port for any messages sent by the CP290 when
  1070.                it executes a stored event. See Section 6 - Monitoring and
  1071.                Logging Events for more information.
  1072.  
  1073.           LOG
  1074.                This token appends the monitored information in the file
  1075.                XA.LOG. You must also specify either MONITOR in the command
  1076.                file or +m on the command line for this action to occur. See
  1077.                Section 6 - Monitoring and Logging Events for more
  1078.                information.
  1079.  
  1080.  
  1081. 5)  Command files
  1082.  
  1083.      Since the CP290 is only capable of storing a single weeks worth of
  1084.      events, command files were created to allow easy update of the events
  1085.      that may need to revised due to ever-changing conditions, such as
  1086.      sunrise and sunset times. Also specific date information may be
  1087.      contained within this file. XA has the capability to interpret these
  1088.      dates and update the CP-290 accordingly.
  1089.  
  1090.      Command files should only be created with an editor or word processor
  1091.      that saves files in pure ascii format. Any extraneous characters or
  1092.      control codes will cause the XA interpreter to ignore your commands.
  1093.  
  1094.      You may place comments in your command file. A comment is delineated
  1095.      by the pound sign character '#'. This character must appear in the
  1096.      first column of the line.
  1097.  
  1098.      # This is an example comment.
  1099.  
  1100.  
  1101.   XA Command Interpreter (Version 1.04)                               Page 21
  1102.      Comments are ignored by the interpreter. Therefore, comments can be
  1103.      placed in front of commands you do not want to download to the
  1104.      interface at this time. For example, you can hide your Christmas
  1105.      lighting commands from the interpreter once the holidays are over:
  1106.  
  1107.      #DEFINE XMAS HOUSE A UNIT 2
  1108.      #XMAS ON EVERYDAY SUNSET OFFSET 20
  1109.      #XMAS OFF WEEKDAYS TIME 10:00 PM
  1110.      #XMAS OFF WEEKENDS TIME 12:00 AM
  1111.  
  1112.           Hint: Use the DATE tokens to to ensure that your lighting is only
  1113.           activated at certain times of the year.
  1114.  
  1115.      Blank lines are permitted in the command file.  These allow you to
  1116.      group similar events together.
  1117.  
  1118.      See the sample command file "XA.CMD" (included in this package) I use
  1119.      for automating events in my home.
  1120.  
  1121.      XA defaults to reading a command file if there are no commands in the
  1122.      in the command line. The default command file is called 'XA.CMD'. You
  1123.      may keep a number of command files around. To use a different command
  1124.      file, use the 'f=' parameter when starting XA. For example, if you
  1125.      wanted to execute the commands found in a file called 'MONITOR.CMD',
  1126.      you would start the XA utilty as:
  1127.  
  1128.           XA f=MONITOR.CMD
  1129.  
  1130.      The next section discusses the use of monitoring and logging events,
  1131.      and uses a command file called MONITOR.CMD to show how this is done.
  1132.  
  1133.  
  1134. 6)  Monitoring and Logging events
  1135.  
  1136.      The CP290 sends a message to your computer after it executes an event
  1137.      stored in its memory. Most software packages (including X10.EXE
  1138.      shipped with the CP-290) will ignore these messages. XA allows you to
  1139.      monitor as well as log these events if desired.
  1140.  
  1141.      XA will enter its monitor mode after all other commands have been
  1142.      processed. You can activate the monitor feature in two ways, as a
  1143.      command, or as a command line parameter.
  1144.  
  1145.      Command example:
  1146.           XA "MONITOR"
  1147.  
  1148.      Command line parameter example:
  1149.           XA +m
  1150.  
  1151.      In the first example, XA "MONITOR",  the command MONITOR informs XA to
  1152.      watch for any transmissions from CP290. The second example use command
  1153.      line options and has the same effect, but remember that if no commands
  1154.      were actually present, the XA utility will try to open the command
  1155.      file 'XA.CMD' and process the commands found in there. If you don't
  1156.      want that to happen, use the '-e' option which tells XA not to execute
  1157.      (or download) those commands. See the next example:
  1158.  
  1159.  
  1160.   XA Command Interpreter (Version 1.04)                               Page 22
  1161.  
  1162.           XA +m -e
  1163.  
  1164.  
  1165.      When XA begins to monitor, it displays the following message:
  1166.  
  1167.           Monitor events. Press <ESC> when finished...
  1168.  
  1169.      XA waits for a message from the CP290. You may exit this function by
  1170.      pressing the <ESC> key.
  1171.  
  1172.      When the CP290 executes an event it sends a message to the PC with the
  1173.      following information; the HOUSE code, UNIT code, and the event
  1174.      FUNCTION (ON, OFF, DIM). XA takes this information and adds the time
  1175.      and date information from your PC's clock and prints the following
  1176.      message:
  1177.  
  1178.           Sun Mar 24 07:00:13 1991 HOUSE A UNIT 5 ON
  1179.  
  1180.      This message is semi-useful; it describes what just occurred but if
  1181.      you forgot what was addressed as HOUSE A UNIT 5 then the message is
  1182.      pretty meaningless. You can give this module a more descriptive name
  1183.      by using a command file that includes DEFINE statments for all your
  1184.      modules. Below is sample command file (MONITOR.CMD) that describes
  1185.      what we're talking about:
  1186.  
  1187.           DEFINE Porch/Garage_Lights HOUSE A UNIT 1
  1188.           DEFINE Plant_Grow_Lights HOUSE A UNIT 5
  1189.           DEFINE Family_Room_TV HOUSE A UNIT 6
  1190.           DEFINE Basement_Computer HOUSE A UNIT 7
  1191.  
  1192.      Now when a message is broadcast by the CP290, a scan of all the
  1193.      definitions will be made to see if the HOUSE and UNIT codes match. If
  1194.      so, then the description will be used instead of the codes. Therefore,
  1195.      you would get the following message on your screen.
  1196.  
  1197.           Sun Mar 24 07:00:13 1991 (A6) Plant_Grow_Lights ON
  1198.           Sun Mar 24 08:43:13 1991 (A1) Porch/Garage_Lights ON
  1199.  
  1200.      In the above messages, a combined House and Unit code (A6) is
  1201.      automatically provided - you don't have to include it as part of the
  1202.      DEFINE token.
  1203.  
  1204.      Also, the DEFINE must include BOTH the HOUSE and UNIT tokens when
  1205.      describing an object. You can not use the short cut method, such as:
  1206.  
  1207.           DEFINE Porch/Garage_Lights A 1             <=== will NOT work.
  1208.           DEFINE Porch/Garage_Lights HOUSE A UNIT 1  <=== will work.
  1209.  
  1210.      If different modules are controlled by a single event, the module
  1211.      which has the lowest UNIT code will be displayed. Therefore, if
  1212.      modules C9 and C10 are programmed as a single event, only C9 will be
  1213.      displayed.
  1214.  
  1215.  
  1216.   XA Command Interpreter (Version 1.04)                               Page 23
  1217.      Monitoring is useful when running on a multitasking system. It has
  1218.      been tested as a background task under Windows 3.0 (386 enhanced
  1219.      mode). It should work for Desqview as well.
  1220.  
  1221.  
  1222.      You can also log these events to a file called XA.LOG by specifying
  1223.      either the LOG token in a command file or the [+l] option on the
  1224.      command line. Each event reported by the CP290 will be displayed on
  1225.      the screen, and also be appended to the file XA.LOG. By appending the
  1226.      information, all previous events will be saved.
  1227.  
  1228.      For logging to work, you must have invoked the monitoring feature by
  1229.      specifying either MONITOR in the command file or [+m] on the command
  1230.      line.
  1231.  
  1232.  
  1233.  
  1234.  
  1235. 7)  POWERUP Utility
  1236.  
  1237.      The POWERUP utility is provided in this package to help you perform
  1238.      unattended, and automatic event downloads to the interface if your
  1239.      computer is controlled by an Appliance module. POWERUP should be
  1240.      placed in your AUTOEXEC.BAT file so it will always be executed after
  1241.      your computer boots. This way, it can decide whether or not it's time
  1242.      to perform any updates to your interface, and it prevents you from
  1243.      needlessly sending commands when you don't need to.
  1244.  
  1245.      The POWERUP command has the following form:
  1246.  
  1247.           POWERUP d=day [[d=day]...] s=hh:mm e=hh:mm
  1248.  
  1249.      The command line parameters may appear in order, and they must all be
  1250.      present:
  1251.                d=day     - This is the text string for the day you want to
  1252.                            check for. Legal strings are: MONDAY, TUESDAY,
  1253.                            WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY,
  1254.                            WEEKDAYS, WEEKENDS, and EVERYDAY.
  1255.  
  1256.                s=hh:mm   - This is the "window" start time. Hours must be
  1257.                            entered in 24 hour format only.
  1258.  
  1259.                e=hh:mm   - This is the "window" end time. Again, 24 hour
  1260.                            format is required.
  1261.  
  1262.                Example: POWERUP d=SUNDAY s=2:55 e=3:05
  1263.  
  1264.      If the "day" specified matches the day reported by DOS, and the time
  1265.      reported by DOS falls within the specified "window", then POWERUP will
  1266.      return an ERRORLEVEL of 1, otherwise a 0 is returned. Therefore, by
  1267.      placing the proper batch file commands in AUTOEXEC.BAT, you can now
  1268.      execute a variety of functions at certain times.
  1269.  
  1270.      You may enter multiple 'd=day' parameters. For instance, to have
  1271.      Powerup check for a window begining at NOON and lasting until 1:00pm
  1272.      every MONDAY, WEDNESDAY, and FRIDAY, you would enter:
  1273.  
  1274.  
  1275.   XA Command Interpreter (Version 1.04)                               Page 24
  1276.  
  1277.           POWERUP d=MONDAY d=WEDNESDAY d=FRIDAY s=12:00 e=13:00
  1278.           if errorlevel == 1 echo It's time!
  1279.  
  1280.      If your computer is controlled by an Appliance module, you can now
  1281.      automatically download revised event times. In addition, you can even
  1282.      perform other actvities such as backups, communications, etc. without
  1283.      being at your computer. I perform my backups and event revisons on
  1284.      Sunday mornings at 3:00 AM. This way, I never forget about backing up
  1285.      and now I don't have to sit around and wait for the process to finish.
  1286.      See the sample AUTOEXEC.BAT file included in this package that I use
  1287.      to accomplish this task.
  1288.  
  1289.  
  1290. 8)  License Agreement and Registration
  1291.  
  1292.      You may make copies of this program, manual, and other files and give
  1293.      it to your friends, upload it to bulletin boards, or include it in the
  1294.      library of a non-profit computer club.
  1295.  
  1296.      I expressly forbid any for-profit venture from selling this software
  1297.      and documentation, either separately or as part of a "library"
  1298.      diskette, unless written permission is granted.
  1299.  
  1300.      I disclaim any liability for its use, misuse, or abuse, including any
  1301.      direct or indirect actions. The user accepts full responsibility for
  1302.      his or her use of this program.
  1303.  
  1304.      SUPPORT SHAREWARE!
  1305.      If you find this software has any value for you, please send a
  1306.      contribution. Contributions of $20 or more will entitle you to (2)
  1307.      updates of this program as new enhnacements are added. 
  1308.  
  1309.      Please share this software with others.
  1310.  
  1311.      Your suggestions are always welcome. Send any comments to the address
  1312.      given below, or you may contact me on Prodigy, or America Online.
  1313.  
  1314.           Bruce Christensen
  1315.           6594 Hudson Ave.
  1316.           Mentor, OH. 44060-4545
  1317.  
  1318.           Prodigy ID:  MHNC39A
  1319.           America Online: AuggieBen
  1320.  
  1321.      This software will be uploaded to the PC-OHIO BBS as new updates
  1322.      become available. Their number is: (216) 381-3320.
  1323.  
  1324.  
  1325.  
  1326. X-10 is a registered trademark of X-10 (USA) Inc.
  1327. Desqview is a trademark of Quarterdeck Office Systems.
  1328. Windows is a trademark of Microsoft Corporation.
  1329. Prodigy is a registered service mark and trademark of Prodigy Services Co.
  1330. America Online is a registered service mark of Quantum Computer Services, Inc.
  1331.  
  1332.  
  1333. 
  1334.