# # === CommandPort # --- Set this value to the port which will be used to send X10 commands to the server # --- The default port# is 8182 :CommandPort = 8182 # # === LogHost # --- Set this value to the host:port to send X10 event logging information to. # --- To broadcast X10 event messages, set the address to a valid broadcast address. # --- [Note: When used with the CM17A, only commands/events originating from the X10Server # --- will be forwarded to the log host] # --- The default is to not send X10 event information. #:LogHost = 168.129.100.255:30321 # # --- TimeServer (applicable to TINI installation only) # --- Set this value to the host which will be used for obtaining 'date' information. # --- This uses the 'daytime' service on port 13, which has to be enabled to be effective. # --- This is used by the 'SetClock -t' command and is only applicable for the TINI. # --- The default is to ignore the TimeServer features. #:TimeServer = 168.129.100.161 # # ----------------------------------------------------------------------------------------- # ==== Notes # - If A1/A2 appear to randomly trigger, this may indicate battery failure on an IR sensor. # - A prolonged power-fail may reset some switches to the default A1 setting. # # ----------------------------------------------------------------------------------------- # ==== Example X10 Appliance configuration # A2 - living-room sconce lights # A3 - living-room ceiling lights # A4 - dining-room ceiling lights # A5 - front-port lights # A6 - back porch lights # A7 - back yard lights # A13 - bedroom ceiling light # A14 - night-stand light # A15 - Christmas lights # ==== # B2 - office lights # B3 - shop lights # B4 - garage lights # ==== # C2 - IR front porch motion sensor # C3 - IR front porch dusk/dawn # C4 - IR driveway motion sensor # C5 - IR driveway dusk/dawn # ==== # D* - unused # E* - unused # F* - unused # ==== # - The TINI does not support hardware handshaking. As a result, it is possible to # - confuse the X10 poll bytes 0x5A & 0x5B with house/unit codes G4 & G12. For this # - reason the 'G' house code should not be used (at least not G4 and G12). # - (this is not an issue for platforms which support serial port hardware handshaking) # G* - reserved (closely matches polling characters: 0x5A, 0x5B) # G4 - reserved [matches poll char 0x5A] # G12 - reserved [matches poll char 0x5B] # ==== # H* - unused # I* - unused # J* - unused # K* - unused # L* - unused # M* - unused # N* - unused # O* - unused # P* - unused # ==== # ----------------------------------------------------------------------------------------- # === Abbreviated command syntax BNF: # # - Here is an abbreviated BNF of the command/macro syntax expected by this macro file: # := | | | # # - commants are ignored while parsing this file. # := any stream of characters beginning with a '#' and ending with a newline. # # - separately specified commands are executed as this macro file is loaded # := | ';' # := # 'SetClock' | <-- CM11A only # 'ResetEEPROM' | <-- CM11A only # 'Pause' | # 'Notify' | # 'On' | # 'Off' | # 'Dim:' | # 'Bright:' | # 'PresetDim1' | <-- CM11A only # 'PresetDim2' | <-- CM11A only # 'AllLightsOn' | <-- CM11A only # 'AllLightsOff' | <-- CM11A only # 'AllUnitsOff' <-- CM11A only # := # := value between 'A' and 'P' inclusive # := | # := value between '1' and '16' inclusive # := value between '1' and '210' inclusive # := '-t' | # := a quoted text message # := a number of seconds >= '1' # # - X10Server macros are handled by the X10Server itself. # := | # := '[' ']' # := '[' ']' # # - CM11A macros are are handled by the CM11A EEPROM # - Note: On the CM17A, this type of macro definition is handle by the X10Server # - itself [ie. the same as ]. # := | # := '<' '>' # := '<' '>' # # - Event macros are triggered by incoming (received) X10 events. # - Note: The CM11A does not directly handle Event macros which are only valid during a # - specified time-of-day range. As a result, if a Start/End time range is specified # - for an event-macro to be handled by the CM11A, the X10Server will automatically # - reload the CM11A with the event macros valid for that time period. # := | ',' ',' # := 'On' | 'Off' # := # := # # - Timer macros are triggered at a specific time. # := | ',' # := "smtwtfs" day mask containing '+' or '-' indicating which days # the time is effective. # := # # := ':' # # ----------------------------------------------------------------------------------------- # ==== Command description # # SetClock -t (CM11A only) # Reset the internal date/time in the CM11A from the host specified in 'TimeServer'. # On non-TINI platforms, this will obtain the date/time from the current system time. # (On the TINI, this also resets the system date/time). # # SetClock YYYYMMDDhhmm[ss] (CM11A only) # Reset the internal date/time in the CM11A. # (On the TINI, this also resets the system date/time). # # ResetEEPROM (CM11A only) # reload CM11 EEPROM with defined macros. # # Pause [] # Pause for specified number of seconds (the default is 1 second). # Additional commands may be queued for execution, but they will not be executed # until the specified time has elapsed. # # Notify [] # Send "" to LogHost. # This is only used to send informational messages to the LogHost:port. # # On [ ...] # Turn 'ON' specified House/Unit codes. # Note: On the CM17A, specification of multiple unit codes will cause multiple # separate commands to be generated. ie. Specifying "ON A 1 2 3" will # result is a command that is equivalent to "ON A1; ON A2; ON A3" # # Off [ ...] # Turn 'OFF' specified House/Unit codes. # Note: On the CM17A, specification of multiple unit codes will cause multiple # separate commands to be generated. ie. Specifying "OFF A 1 2 3" will # result is a command that is equivalent to "OFF A1; OFF A2; OFF A3" # # Dim: [ ...] # 'DIM' specified House/Unit codes (with specified dim amount). # # Bright: [ ...] # 'BRIGHT' specified House/Unit codes (with specified bright amount). # # PresetDim1 [ ...] (CM11A only) # Set specified House/Unit codes to their 'PRESET_DIM1' value. # (preset-dim capable modules only) # # PresetDim2 [ ...] (CM11A only) # Set specified House/Unit codes to their 'PRESET_DIM1' value # (preset-dim capable modules only) # # AllLightsOn (CM11A only) # Turn 'ON' all light modules. # # AllLightsOff (CM11A only) # Turn 'OFF' all light modules. # # AllUnitsOff (CM11A only) # Turn 'OFF' all lights and appliance modules. # # ----------------------------------------------------------------------------------------- # ==== Example macros handled by X10Server # - Reset the CM11A date/time at 2:30am (CM11A only) # - ('-t' means to use the specified TimeServer for obtaining the current time.) # - (On non-TINI platforms, the current system date/time is used.) #[02:30] setclock -t; # ----------------------------------------------------------------------------------------- # ==== Example macros handled by the CM11A (or the X10Server, if the CM17A is used) # --- Christmas lights on/off #<17:15> on A15; # --- Christmas lights on #<00:00> off A15; # --- Christmas lights off # --- away lights #<16:50> on A3; # --- LR #<00:45> off A3; #<19:30> on A4; # --- DR #<23:30> off A4; # --- multi command macro # - If a "on D1" event is received, a series of addition commands are invoked # - A3/A4 are turn 'on', A5/A6/A7 are turned 'off' when "on d1" is received # on a 3 4; off a 5 6 7; # --- porch lights on/off # - between 8pm and 5am, if the X10 IR sensor signals, turn on the porch light and inside # - light # on a 5 3; # off a 5; # --- turns off after a set delay from the last 'on c2' #<6:00> off a 5; # --- back yard lights # - on Monday through Friday, turn the back yard lights on at 8pm #<20:00,-+++++-> on A7; # - on Saturday & Sunday, turn the back yard lights on at 9pm #<29:00,+-----+> on A7; # - turn the back yard lights off at 5am #<05:00> off A7; # ----------------------------------------------------------------------------------------- # ==== commands to execute when this file is loaded # --- startup alerts # - The 'clicking' sound of the relay responding to A1 may give audible confirmation at # - startup. on A1; pause; off A1; # # ==== end