TIMECOMMANDER/TIMECOMMANDER PLUS V2.43 Firmware and WinEVM Software VERSION HISTORY OVERVIEW 2.43 (15 Jan 2000) Incorporated numerous additions and changes, including: - Corrected a problem with the hardware Real-Time-Clock not correctly tracking the Day of Week (DOW). - HVAC IF Conditions: Added support for testing HVAC Modes and Fan states. - X-10 Preset Level ON/OFF: An X-10 device will be considered in the OFF state when Preset Level of 0% is receieved for that device and the ON state for Preset Levels greater than 0%. - X-10 Preset Commands: An X-10 Preset value of 0 % will now set the modules state to OFF, a Preset value greater than 0 % will now set the modules state to ON. - Security Offset: The calculated Security Offset would not properly wrap around as the calculated time approached midnight. This caused times using the security option to occasioundly miss being triggered. ---------------------------------------------------------------- VERSION 2.41 KEY FEATURES: VERSION HISTORY OVERVIEW 2.41b (7 July 1998) Incorporated numerous additions and changes, including: - Retriggerable Delays: Version 2.41a introduced a problem with retriggerable delays never expiring. This has been fixed in version 2.41b. VERSION HISTORY OVERVIEW 2.41a (16 Jun 1998) Incorporated numerous additions and changes, including: - Digital Input latency: The Digitial Inputs under version 2.41 exhibited latency (sluggish response). The sampling frequency has been changed back to pre-2.41 frequencies. - Leviton 6381: Modules set to the 6381 type in the X-10 database have the following new features: 1) Refresh routine sends out pre-set levels instead of ON/OFF 2) MegaController grid shows ON/OFF state (if pre-set to 0%, grid will show as OFF, if pre-set to any value above 0% grid will show as ON. 3) Loading variable with Pre-Set level: If Module is off (actually set off with X-10 OFF command, not pre-set to 0%), the variable is loaded with 0, otherwise it is loaded with 1-32 cooresponding with the preset levels. 4) Setting Pre-Set level with variable: If variable == 0, an X-10 OFF command is sent, otherwise a variable value of 1-32 sends the cooresponding Pre-Set levels. - Message Log: Fixed the problem with the Message log reaching it's capacity and losing some stored messages. VERSION HISTORY OVERVIEW 2.41 (01 Jun 1998) Incorporated numerous additions and changes, including: - 16 HVAC Zones: Increased the number of HVAC Zones supported from 8 to 16. - Fast Events: Events triggered by an IR Command received. These events are executed immediatly when triggered regardless of schedule size. Note that there can only be 1 Fast Event for a given trigger. Fast Events are created by selecting the New Event button from the right toolbar, then selecting 'Fast Event' for the Event type. The Fast Event trigger window allows the selection of the trigger. - MegaController HVAC: The interactive "READ" button now shows the current mode and fan setting along with temperature and setpoint. Clicking on the mode or fan radio buttons will change the HVAC zone settings accordingly. - Define THEN Macro Icon on Button Bar: The THEN Macro Button will display the Define THEN Macro window. VERSION HISTORY OVERVIEW 2.40d (2 Jan 1998) Incorporated numerous changes, including: - Fixed the multiple full screen problem. (If a schedule was set to full screen and you tried to change to another schedule also at full screen, the second window would show up as a blank window.) - Support for the Leviton Repeater with the new extended codes. ***Note that Leviton has made a change to their repeater *** The original #6201 repeater was not repeating the code properly from the source phase to the destination phase(s). Leviton 6381 dimmers on the same phase as the source would operate properly, but the other phases would get an invalid code and not work with the extended codes (pre-sets). If you are going to use the 6381-SAN020 switches with preset support, any repeater purchased before Jan 1998 will not work properly. -Support for RCS "Auto-Send" feature. With Auto-Send is enabled, the RCS thermostat will automatically send a corresponding Preset Dim command anytime there is a change in temperature, set point or mode, even when operated manually at the thermostat display unit. This eliminates the need to poll the thermostat regularly. (Polling frequency can then be set to "0" in the DEFINE -RCS HVAC menu.) To enable the "Auto-Send" feature, open Megacontroller, then right mouse click on Unit code 4 (of the House Code defined for RCS HVAC), select PRESET Level, then click on Preset Level 84%. ***Note: "Auto-Send" feature will be disabled after a power outage. It is recommended that you add an event to your schedule to automatically issue Unit 4 Preset Level 84% when power is restored. *** Example: EVENT: Restore Auto-Send If Power is Restored Then X10: (A-4) PRE-Set Level 84% End VERSION HISTORY OVERVIEW 2.40c (12 Nov 1997) Incorporated numerous changes, including: - Added two new IR Frequency selections for the IRXP2. 20Khz (used with cable boxes) and 85Khz. - Fixed the problem encountered when downloading while the X10 Initial Device update is occuring. After a download with Initial Device selected, the states of any X-10 device that are Enabled and have an Initial state of ON or OFF by sending the appropriate command(s). Previously, if during this update period another download was initiated, the last X-10 command that was being sent (before the 2nd download) could possibly get sent many times. VERSION HISTORY OVERVIEW 2.40b (30 Oct 1997) *** RCS Thermostat Users Note *** Make sure to enable all X10 addresses for housecodes used by RCS Thermostats in the DEFINE - X10 database. For example, if a Thermostat is using housecode P, enable P-1 through P-16 in the X10 database. Incorporated numerous changes, including: - Enhanced the X10 Initial Device download and update of the Controller. MegaController now shows an 'X' for those devices that are not enabled. The right-mouse button menu has a direct enable/disable option. - Removed the Rules Check error for nested Events using X10-Sequences. - Fixed the problem with sending X10 DIM/BRI commands with the send count equal to 1. (This previuosly caused many DIM or BRI commands to be sent.) VERSION HISTORY OVERVIEW 2.40a (1 Oct 1997) - Version 2.40 required a statement in the winevm.ini file to enable the download of Fast Events. This requirement was removed in 2.40a. VERSION HISTORY OVERVIEW 2.40 (22 Sep 1997) Note: Version 2.40 update requires both version 2.40 firmware and 2.40 WinEVM software. New Features - Supports Pre-Set Dim features of the new Leviton Wall switch (6381 SAN 020). Define the X10 device as a 6381 type of switch to enable this feature. - Search Icon on Button Bar: The Search Button will display the Search window. Line numbers are now included as part of the search string. - Temporary Variables: Two temporary variables have been created: user_VAR (8 bit, 0-255 range) and user_16VAR (16 bit, 0-65535 range). These v - Schedule/THEN Macro window: Moved the toolbar from the right side of the main WinEVM window to each Schedule/THEN Macro. - Fast Events: Events triggered by X10 ON/OFF commands and Digital Inputs (TCM PLUS) going ON/OFF. These events are executed immediatly when triggered regardless of schedule size. Note that there can only be 1 Fast Event for a given trigger. Fast Events are created by selecting the New Event button from the right toolbar. - THEN Macros: Increased the number of THEN Macros to 256. - IF Conditions X10 Sequence: Check boxes in the X-10 Sequence menu allow events to be programmed to respond to any X-10 code (or sequence of codes) transmitte X10 Device State: Added the conditions NOT OFF This condition will be true if the specified module (house and unit code) is either ON or IDLE. It will be false if the module is OFF. NOT ON This condition will be true if the specified module (house and unit code) is either OFF or IDLE. It will be false if the module is ON. NOT IDLE This condition will be true if the specified module (house and unit code) is either ON or OFF. It will be false if the module is IDLE. Enabled This condition will be true if the specified module (house and unit code) is ENABLED in the DEFINE-X10 DEVICE database. It will be false if th Disabled This condition will be true if the specified module (house and unit code) is DISABLED in the DEFINE-X10 DEVICE database. It will be false if t DimLevel ==, <=, >= This condition will be true if the specified module's (house and unit code) current level (0 to10) is equal to ## (specified number). It will DimLevel <= This condition will be true if the specified module's (house and unit code) current level (0 to 10) is less than or equal to ## (specified numb DimLevel >= This condition will be true if the specified module's (house and unit code) current level (0 to 10) is greater than or equal to ##. It will be PresetLevel == This condition will be true if the specified module's (house and unit code) Preset level (1 to 31) is equal to ## (specified number). It will PresetLevel <= This condition will be true if the specified module's (house and unit code) Preset level (1 to 31) is less than or equal to ## (specified numbe PresetLevel >= This condition will be true if the specified module's (house and unit code) Preset level (1 to 31) is greater than or equal to ## (specified nu Timer: Added the condition Not Running This condition will be true if the timer is expiring or stopped. It will be false if the timer is running. Flag: Created a new state: IDLE. Added the conditions Is IDLE This condition will be true if the specified flag is IDLE. It will be false if the flag is SET or CLEAR. Not SET This condition will be true if the specified flag is CLEAR or IDLE. It will be false if the flag is SET. Not Clear This condition will be true if the specified flag is SET or IDLE. It will be false if the flag is CLEAR. Not IDLE This condition will be true if the specified flag is SET or CLEAR. It will be false if the flag is IDLE . Variable / Analog In / HVAC: Added the conditions Changes Value This condition will be true if the value changes since the last schedule pass. Increases in Value This condition will be true if the value has increased since the last schedule pass. Decreases in Value This condition will be true if the value has decreased since the last schedule pass. bits 0-7 Set These conditions check to determine if the specified bit is set (has a value of one). Variables/Analog Inputs/HVAC values are stored as 8-bit If the variable = 0(decimal) (00000000b), no bits are set. If the variable = 8(decimal) (00001000b), only bit 3 is set. If the variable = 6(decimal) (00000110b), bits 1, and 2 are set. If the variable = 192(decimal) (11000000b), bits 7 and 6 are set. bits 0-7 Not Set These conditions check to determine if the specified bit is NOT set (has a value of zero). Variables /Analog Inputs/HVAC values are stored as Date: Added the conditions Even Days Condition is true if the current day of the month is an even number (2,4,6, etc.). Odd Days Condition is true if the current day of the month is an odd number (1,3,5, etc.). Season - Spring Condition is true if the current date is between March 20 and June 20. Season - Summer Condition is true if the current date is between June 21 and September 21. Season - Fall Condition is true if the current date is between September 22 and December 20. Season - Winter Condition is true if the current date is between December 21 and March 19. AM Condition is true if current time is between 12:00 AM (midnight) and 11:59 AM. PM Condition is true if current time is between 12:00 PM (noon) and 11:59 PM. Daytime Condition is true if current time is between 6:00 AM and 5:59 PM. Nighttime Condition is true if current time is between 6:00 PM and 5:59 AM. Light Condition is true if current time is after sunrise and before sunset. Dark Condition is true if current time is after sunset and before sunrise. ASCII In: Added the conditions Match 'ssss' starting at character X This condition is used to compare the ASCII Input string or a portion of it to certain characters. The symbol meanings are: - X refers to the location in the ASCII Input string of the first character to compare (i.e., the character number). - ssss are the characters to compare the received data to. See the examples for more information. The condition is true if all characters match exactly, false is any do not match. EXAMPLES: 1) Suppose an alarm system sends ASCII text messages for it's alarm states. Typical messages the alarm would send are: Alarm Violation Alarm Armed Alarm Ready To keep track of Alarm states, ASCII In conditions are used. EVENT: Alarm Status If ASCII-In: Match 'Alarm' starting at character number 1[COM1] Then |-If | ASCII-In: Match 'Armed' starting at character number 7[COM1] |Then | " Armed state == 1 " | (V:Alarm State) ) LOAD with 1 |-End |-If | ASCII-In: Match 'DisArmed' starting at character number 7[COM1] |Then | " Disarmed state == 2 " | (V:Alarm State) ) LOAD with 2 |-End |-If | ASCII-In: Match 'Violated' starting at character number 7[COM1] |Then | " Violated state == 3 " | (V:Alarm State) ) LOAD with 3 |-End End 2) Suppose you have a weather station that reports the current temperature in the following format: Temp = 85 degrees To match the string and convert the value to a variable the following event could be used. EVENT: Convert Temperature If ASCII-In: Match 'Temp = ' starting at character number 1[COM1] Then Put value of received char #8-9 into user_VAR [COM1] (V:Temperature) load with user_VAR End Number of characters == Condition is true if the number of characters received (serial string length) is equal to the value. Number of characters >= Condition is true if the number of characters received (serial string length) is greater than or equal to the value. Number of characters <= Condition is true if the number of characters received (serial string length) is less than or equal to the value. IR Power Sensor: Added the conditions Goes ON Condition is true when the Power Sensor goes from an OFF state to an ON state. Goes OFF Condition is true when the Power Sensor goes from an ON state to an OFF state. Toggles Condition is true when the Power Sensor changes state. - THEN Actions X10 Device: Added the actions: Status Request Sends the Status Request command Status is ON Sends the Status=ON command Status is OFF Sends the Status=OFF command Hail Request Sends the Hail Request command Hail Acknowledge Sends the Hail Acknowledge command Toggle Module State Toggles the Modules State by sending an OFF command if the module is ON, an ON command if the module is OFF. Enable Module This command enables a module that was previously disabled. A module must be enabled before it will respond to any commands or transmit an X-1 Disable Module A disabled module will not respond to any commands except for Enable Module. This command can be used as a quick way to prevent any other part Enable X10 ON Trigger Enables Fast Events based on the X10 ON Trigger. Fast Events Triggers are enabled by default. This command will enable a trigger if it has bee Disable X10 ON Trigger Disables Fast Events based on the X10 ON Trigger. Fast Events Triggers are enabled by default. This command will disable a trigger if it has b Enable X10 OFF Trigger Enables Fast Events based on the X10 OFF Trigger. Fast Events Triggers are enabled by default. This command will enable a trigger if it has be Disable X10 OFF Trigger Disables Fast Events based on the X10 OFF Trigger. Fast Events Triggers are enabled by default. This command will disable a trigger if it has Set State ON This command sets the current state in the state table to ON, Level 11. It does not send any X-10 signal over the power line. Set State OFF This command sets the current state in the state table to OFF, Level 12. It does not send any X-10 signal over the power line. Set State IDLE This command sets the current state in the state table to IDLE. It leaves the level unchanged. It does not send any X-10 signal over the powe Send ON Command This command sends the X10 ON command. Send OFF Command This command sends the X10 OFF command. Send BRI ## times This command sends the X10 BRI command ## number of times. Send DIM ## times This command sends the X10 DIM command ## number of times. Load variable with dim level This command puts the X-10 module's current light setting into the specified variable. If the light is ON, it's level (0 to 10) will be put in This command allows you to store the current level and later set the light back to it. See the following commands for more information on sett Load variable with Preset level Whenever the controller receives a preset dim signal immediately following a house/unit code signal, it stores the preset dim level for that ho This command puts the received preset dim level (1 to 32) into the specified variable. This allows you to receive preset dim signals from devi Set to level in variable This command reads the value of the specified variable and sets the X-10 module to that level. If the variable value is 0 to 10, the light wil Set to Preset level in variable This command transmits a preset dim signal. The preset dim level (1 to 32) is taken from the specified variable. Thus, if the variable contai Flag Added the action Set IDLE This command sets the Flag state to IDLE. Variable Added the actions increment (rollover at 255) Increments (i.e. adds 1 to) variable . If the initial value is 255, it will roll over to zero. decrement (rollunder at 0) Decrements (i.e. subtracts 1 to) variable . If the initial value is 0, it will roll over to 255. load with random number Loads variable with a random number (range 0-255). load with user_VAR Loads variable with user_VAR. load with RCS HVAC Loads variable with RCS HVAC Temperature/Setpoint. Note this command can only work with the TX10B Bi-directional Thermostat. variable = variable + ### Add a value (###) to a variable. variable = variable + var2 Add another variable. variable = variable - ### Subtract a value (###) from a variable. variable = ### - variable Subtract a variable from a value (###), and put it into the variable. variable = variable - var2 Subtract a second variable from the first variable. variable = variable * ### Multiply a variable by a value (###). If the result is more than the variable maximum (255), it will be truncated to an 8-bit value. variable = variable / ### Divides a variable by a value (###). load user_VAR with another variable Load the user_VAR with another variable. load var1 & var2 with user_16VAR Loads two (8 bit) variables with the user_16VAR (16 bit). The Most Significant Byte (MSB) of user_16VAR is loaded into var1, the Least Signifi For example, if user_16VAR contains 25,655 the command: load var1 & var2 with user_16VAR would give these results: var1 = 100 var2 = 55 load user_16VAR with var1 & var2 Loads the user_16VAR(16 bit) with two (8 bit) variables . The Most Significant Byte (MSB) of user_16VAR is loaded by var1, the Least Significa For example, if var1 = 25 and var2 = 243 the command: load user_16VAR with var1 & var2 would give these results: user_16VAR = 6643 (The basic formula is: user_16VAR = (var1 x 256) + var2) load user_16VAR with var1 * var2 Loads the user_16VAR(16 bit) with the product of two (8 bit)variables multiplied together. For example, if var1 = 47 and var2 = 128 the command: load user_16VAR with var1 * var2 would give these results: user_16VAR = 6016 load user_16VAR with var1 + var2 Loads the user_16VAR(16 bit) with the sum of two (8 bit)variables added together. For example, if var1 = 243 and var2 = 198 the command: load user_16VAR with var1 + var2 would give these results: user_16VAR = 441 increment user_16VAR Increments the user_16VAR, if the maximum value(65535) is reached, it will roll over to 0. decrement user_16VAR Decrements the user_16VAR, if the minimum value(0) is reached, it will roll under to 65535. Message Log Added Message Log Wizards to assist adding variables, analog inputs, user_VAR and user_16VAR ASCII Output Added the actions Put value of recieved char # into user_VAR These commands look at the specified character location(s) in a serial data string, converts it to a number, and loads it into the system varia - The first command looks at a single character which must be a number between 0 and 9. - The second command looks at two consecutive characters, both of which must be a number between 0 and 9. - The third command looks at three consecutive characters, all of which must be a number between 0 and 9. EXAMPLES: 1) If the received data string is: 234 The following command sets user_VAR equal to 2: Put value Of received char #1 into user_VAR The following command sets user_VAR equal to 2: Put value Of received char #2 into user_VAR The following command sets user_VAR equal to 23: Put value Of received chars #1-2 into user_VAR The following command sets user_VAR equal to 234: Put value Of received chars #1-3 into user_VAR 2) If the received data string is: Wind Speed is 15 The following command sets user_VAR equal to 15: Put value Of received chars #15-16 into user_VAR Added ASCII Output Wizard to assist adding Time/Date, variables, analog inputs, user_VAR, user_16VAR, binary value and Lutron HomeWorks RCS HVAC Added the action Load SetPoint with user_VAR Loads the selected Thermostat's SetPoint with user_VAR. This command is useful to set the SetPoint via TouchTone input. 2.39a (9 June 1997) Note: Version 2.39a update requires both version 2.39a firmware and 2.39a WinEVM software. Incorporated numerous changes, including: - Fixed the problem when some customers would exit WinEVM, Windows would crash. - Fixed the problem with Timelabels created in prior versions. Some Timelabels would not convert properly causing timelabel editing problems. 2.39 (4 June 1997) Note: Version 2.39 update requires both version 2.39 firmware and 2.39 WinEVM software. Incorporated numerous changes, including: - THEN Macro Changes - Self Test - Miscellaneous dialog changes Refer to the "Version History Details" section for details on these changes. Version 2.39 requires both firmware and software to run. VERSION HISTORY DETAILS VERSION 2.39 CHANGE DETAILS THEN Macros - THEN Macros behave more like schedules with the ability to copy/cut/paste between Macros and Schedules. A THEN Macro window looks and acts like a schedule window. - More than one THEN Macro can be opened at a time. - A schedule download will save all open Macros. - Nested IF's and calls to other THEN Macros are now enabled. Define THEN Macro - This screen has changed to the spreadsheet style. To edit a Macro, select the name or description and press the 'EDIT' button. To create a new Macro, enter a name and description (optional) and press the 'EDIT' button. Note that a new Macro cannot be edited unless it has a name. Editing a THEN Macro - Behaves as before and just like a schedule. Saving a THEN Macro - A Macro can be saved by pressing the 'Save' button on the top button bar (the button with a diskette), or by closing the Macro window. If the Macro has been modified, you will be prompted with whether to save it or not.