BB-RS232 Command Set / Protocol Specifications ACCESSORY POWER ONLY RECEIVE DATA TRANSMIT DATA ACCESSORY POWER ONLY SIGNAL GROUND ACCESSORY POWER ONLY REQUEST TO SEND CLEAR TO SEND ACCESSORY POWER ONLY PIN NO. ACCESSORY POWER ONLY 1 (NEGATIVE 12VDC RETURN) 2 3 4 5 6 7 8 9 RECEIVE DATA TRANSMIT DATA ACCESSORY POWER ONLY SIGNAL GROUND ACCESSORY POWER ONLY REQUEST TO SEND CLEAR TO SEND ACCESSORY POWER ONLY (POSITIVE 12V) CONNECT ONLY TO BlueBOLT SUPPORTED DEVICES WITH 9-CONDUCTOR STRAIGHT-THROUGH CABLE ! CONNECT ONLY TO BlueBOLT SUPPORTED DEVICES WITH 9-CONDUCTOR STRAIGHT-THROUGH CABLE ! 5 4 3 2 1 6 7 8 9 BB-RS232 ETHERNET STATUS +12VDC IN 400mA POWER PUSH TO RESET ACTIVITY LINK BlueBOLT 10006527 REV. A 5-7-15 NETWORKING CONFIGURATION BB-RS232 provides a built-in HTTP interface (web page server at default port 80) which can be accessed via a typical “web page browser” allowing the user to configure the network settings. • DHCP or static IP address assignment • IP address • Subnet mask • Gateway Address • DNS server Address 1 On start-up, BB-RS232 will use two IP addresses on its Ethernet connection: 1. A random link-local address can be discovered by link-local utilities such as the Bonjour zero-configuration networking utility by Apple. 2. A local network address, either statically assigned, or from DHCP. If the address was assigned by DHCP it can be discovered by inspection of your router’s connected devices table. In addition to providing external access and control via Panamax/Furman’s hosted BlueBOLT platform, BB-RS232 and BlueBOLT enabled devices may also be interfaced to control and automation systems on the local area network. Command, information and event messages are provided in standard XML format over UDP port 57010. MESSAGING AND COMMUNICATION GENERAL All messages to and from BB-RS232 are encapsulated in standard XML format. As per XML standard, It is required that the XML version declaration be included at the start of each message. Messages that do not conform to the standard will be ignored. In addition to the XML version declaration, every message must also specify the type of device (class) and its unique identifier (id) in its root element using the <device> tag. For BB-RS232, the device class is “bb232” and its identifier is the MAC address expressed with no formatting. <?xml version=”1.0” ?><device class=”dev_class” id=”identifier”>…</device> For the devices connected to a BB-RS232, the device class is listed in the table below and the identifier is its Device ID. The Device ID for any Furman Contractor Series device is also its 14-digit serial number. Model Device Class Identifier (id) BB-RS232bb232MAC Address CN-1800 S cn1800 Device ID CN-2400 S cn2400 Device ID CN-3600 SE cn3600 Device ID CN-15MPcnmp15Device ID CN-20MPcnmp20Device ID Table 1 – Device Classes Example to address the BB-RS232 device: <?xml version=”1.0” ?><device class=”bb232” id=”1065a3020000”>…</device> Example to address a CN-1800 S device: <?xml version=”1.0” ?><device class=”cn1800” id=”02846132800288”>…</device> This would be considered the “envelope” for all messages, where the “…” is to be considered the “contents” of the message. There are three types of messages: event messages, information messages and command messages. Event messages are time stamped in UNIX time and sent in response to a change of device status or settings. It should be noted that events are not sent in reply to a query. Command messages are sent to the devices to query information, change settings or initiate an action. Information messages are sent from the devices in response to a query command. 1 Examples of the message format are provided in the table below. Example Event Message Event message for a power on sequence of a chain of SmartLink devices Example Command Message Command to switch outlet bank 2 OFF on a device in the SmartLink chain <?xml version=”1.0” ?> <device class=”bb232” id=”1065a3020000”> <event time=”1403729752”> <sequence>1</sequence> </event> </device> <?xml version=”1.0” ?> <device class=”cn1800” id=”02845133200267”> <command> <outlet id=”2”>0</outlet> </command> </device> Example Information Message Snippet of the response to <sendinfo> query <?xml version=”1.0” ?> <device class=”bb232” id=”1065a3020000”> <info time=”1403729752”> <sernum>12345678</sernum> <fwver>1.0.1</fwver> .. </info> </device The following sections document the possible message content and it should be assumed that the contents are always enclosed by the “envelope” and that the “envelope” text will not be repeated, unless needed for clarity. Action and Queries Command messages are sent to a device to have it perform a task. When the task is to perform a physical action such as initiating a power switching sequence, it is referred to as an action. When the task is to transmit data such as device status it is referred to as a query. Whether the task is an action or query, the message is classified as a command. Not all commands issued to a device will result in a response message. If it is desired to receive an acknowledgement of receiving the command, the optional “xid” attribute may be included in the <command> element. Command messages with the “xid” attribute expressed will return an acknowledgement enclosed in the <ack> element. For example, when the xid=”123” is included within the <command> element, the device will include the <ack xid=”123”/> element in its response. A more detailed example is provided in the General Command Structure section below. General Command Element Structure Command messages are contained within a <command> element. Sample command to initiate a turn-on sequence of all the connected devices, the first example is with no acknowledgement; the second example is with acknowledgement: CommandResponse <command><sequence>1</sequence></command> None <command xid=”123” > <ack xid=”123”/> <sequence>1</sequence></command> General Query Element Structure All query command messages are contained within a <command> element. The device responds to the query with a set of elements enclosed in the <info>, <status> or <settings> element depending on the type of query. Every query contains a timestamp attribute “time” which is expressed as standard UNIX time. UNIX time is the number of elapsed seconds since January 1st, 1970. Section 1 – BB-RS232 Queries 1.1 Send Information Query The Send Information query is used to retrieve the following system-level information from the BB-RS232. Information elements are enclosed in the <info> element. Query:<sendinfo/> Response: <info time=”timestamp” <sernum>serialnumber <fwver>firmwareversion <bootcodever>bootcode <ipaddr>ipaddress Time stamp of the data, provided in UNIX time Serial number Firmware version Boot loader firmware version IP address, provided as a 32-bit (base-10) decimal value 2 QueryResponse <?xml version=”1.0”?><?xml version=”1.0”> <device class=”bb232”<device class=”bb232” id=”1065a3020000”> id=”1065a3020000”> <command xid=”19”><sendinfo/> <info time=”1403729752”> </command><sernum>12345678</sernum> </device><fwver>1.0</fwver> <bootcodever>1.0</bootcodever> <ipaddr>3194548209</ipaddr> </info><ack xid=”19”/> </device> 1.2 Send Status Query The Send Status query is used to retrieve the following status information from the BB-RS232. Status elements are enclosed in the <status> element. Query: <sendstatus/> Response: <status time=”timestamp”… <ntwkdevcnt>count <ntwkinvhash>hash <ntwkpollstate>state <hdlcstate errs=’n’ hdlclink=’link’ <tfilestate> Time stamp of the data, provided in UNIX time Count of SmartLink connected devices Hash code of connected devices. Changes if device chain changes. Indicates polling state of the device chain For Furman Sound use only errs indicates errors in the SmartLink communication. Values other than 0x000 indicate a communication error hdlclink indicates the state of the communication link. 1 = communication link is up; 0 = communication link is down Firmware update file management For Furman Sound use only Example: Query <?xml version=”1.0” ?> <device class=”bb232” id=”1065a3020000”> <command> <sendstatus/> </command></device> Response <?xml version=’1.0’ ?> <device class=’bb232’ id=’1065a3020000’> <status time=’1423680610’> <ntwkdevcnt>2</ntwkdevcnt> <ntwkinvhash>2ce5b92ddd28f8f429e584ad05cc504f9984b3f6</ntwkinvhash> <ntwkpollstate>0</ntwkpollstate> <hdlcstate>0x000</hdlcstate> <tfilestate len=’0’ chk=’4294967295’ mtime=’4294967295’ busy=’0’ lock=’0’ url=’’/></status></device> 1.3 Send Child Query The Send Child query is used to identify an individual device connected to the BB-RS232 and SmartLink chain. To identify all connected devices, the Send Child query must be sent once for each device with the index number “n”, starting at zero. The index number is also referred to as the SmartLink address. For example if the <sendstatus/> query reports a count of 3 devices you can identify the connected devices by issuing 3 <sendchild ..> queries with index numbers of 0, 1 and 2. Query: <sendchild ndx=”n”/> Response: <child class=”ClassName” The device type / model, per Table 1 id=”deviceID”/> SmartLink address the device. Example of <sendchild/> to identify the second device (ndx = 1) in the SmartLink chain. Query <?xml version=”1.0” ?> <device class=”bb232” id=”1065a3020000”> <command> <sendchild ndx=”1”/> </command></device> 3 Response <?xml version=’1.0’ ?> <device class=’bb232’ id=’1065a3020000’> <child class=’cn2400’ id=’02846132800288’/> </device> 1.4 Send Family Query The Send Family query is used to retrieve a complete list of all devices connected to the BB-RS232 and SmartLink chain. Query: <sendfamily/> Response <family> <kids class=”ClassName”> <k>deviceID</k> All devices of the same type are enclosed within <kids> Unique identifier (serial number) for the device. Example of <sendfamily/> for a system with two CN-1800S and one CN-2400S device. Query <?xml version=”1.0” ?> <device class=”bb232” id=”1065a3020000”> <command> <sendfamily/> </command></device> Response <?xml version=’1.0’ ?> <device class=’bb232’ id=’1065a3020000’> <family> <kids class=”cn1800”> <k>02845133200267</k> <k>02845133200299</k> </kids> <kids class=”cn2400”> <k>02846132800288</k></kids> </family> </device> Section 2 – BB-RS232 Commands 2.1 Set Time Command The Set Time command is used to set the time of the internal clock. If BB-RS232 is communicating with the BlueBOLT cloud, it is not necessary to use this command as BlueBOLT automatically manages the time. This command is required when not communicating with BlueBOLT. It is recommended that the time be reset on a regular interval of at least two times per day. The time value is standard UNIX format. Searching on the term “current unix time” in your favorite internet search engine should provide several online resources to determine past, present and future UNIX time. Command: <settime>unix_timestamp</settime> Response: None Example: set BB-RS232 time for January 1st 2015, 12:00:00 AM UTC <settime>1420070400</settime> 2.2 Set Timezone Command The Set Timezone command sets the time zone of where the device is physically located. Since UNIX time is based on the UTC/GMT time zone, it is necessary to provide a time offset between GMT and your local time zone. Like Set Time, this command is required if not connected to the BlueBOLT cloud. Command <setzoneinfo> <timezone>offset</timezone> <dststart>dst_start_time</dststart> <dstshift>3600</dstshift> <dstend>dst_end_time</dstend> </setzoneinfo> Number of seconds offset from UTC UNIX timestamp of when to start daylight savings time Number of seconds to offset from standard time during daylight savings time UNIX timestamp of when to stop daylight savings time Response: None Example: Set BB-RS232 for the Pacific time zone (UTC-8), daylight savings time to start at 2:00:00 AM on 3/8/2015, ending at 2:00:00 AM on 11/1/2015. <setzoneinfo> <timezone> -28800</timezone> <dststart>1425805200</dststart> <dstshift>3600</dstshift> <dstend>1446372000</dstend> </setzoneinfo> PST is 8 hours (28800 seconds) behind UTC 1425805200 is 3/8/2015 2:00AM, PST UNIX time Time shifts by one hour (3600 seconds) during DST 1446372000 is 11/1/2015 2:00AM, PST UNIX time 4 2.3 Enumerate Command The Enumerate command will remove the current device inventory from memory and (re)discover the connected devices by forcing the devices to renumber their SmartLink address and then command BB-RS232 to rebuild its device inventory list. After executing this command, the device list in your application should be rebuilt using the <sendchild> or <sendfamily> queries. Depending on the number of units in the chain, the enumerate process can take several minutes Command <enumerate/> Response: None 2.4 Roll Call Command The Roll Call command will cause the devices to report their SmartLink address back to rebuild its device inventory list. Roll Call differs from Enumerate in that it is nondestructive to the devices and does not re-assign their SmartLink addresses. Command <rollcall/> Response: None 2.5 Reboot Command The Sequence command will start a power turn-on or power turn-off sequence for the entire chain of connected devices Command <reboot/> Response: None 2.6 Sequence Command The Sequence command will start a power turn-on or power turn-off sequence for the entire chain of connected devices. Command <sequence>action</sequence>action 1 = initiate a power turn-on sequence 0 = initiate a power turn-off sequence Response: None Section 3 – SmartSequencer™ Device Queries 3.1 Send Information Query The Send Information query is used to retrieve the following system-level information from a device connected to the BB-RS232. Information elements are enclosed in the <info> element. Query: <sendinfo/> Response: <info time=”timestamp” <sernum>serialnumber <fwver>firmwareversion <hwver>hardware version <sladdr>smartlnk address Time stamp of the data, provided in UNIX time Serial number Firmware version Hardware version of the device SmartLink address / index number (refer <sendchild/> query) Example: Query <?xml version=”1.0” ?> <device class=”cn1800” id=”02845133200267”> <command><sendinfo/></command> </device> 5 Response <?xml version=’1.0’ ?> <device class=’cn1800’ id=’02845133200267’> <info time=’1423700279’> <fwver>2.1.5</fwver> <hwver>1</hwver> <sladdr>1</sladdr> </info></device> 3.2 Send Status Query The Send Status query is used to retrieve the following status information from an individual connected device. Status elements are enclosed in the <status> element. Query: <sendstatus/> Response <status time=”timestamp”… <voltage>voltage <amperage>amps <wattage>watts <pwrva>voltamps <pwrfact>powerfactor <per id=’n’>packeterror <remote>remoteinput <protok>protection <smp>powerrelay <secok>seclink <overvolt>ov <undervolt>uv <pwrok>powerok <seqprog>seqstatus <outlet id=’n’>outletstate Time stamp of the data, provided in UNIX time Measured RMS line voltage, 0.1Vac resolution Measured total load current, 0.01A resolution Measured total power delivered to the load, 1 Watt resolution Measured volt-amperes delivered to the load, 1 VA resolution Measured power factor of the loads, 0.01 resolution Packet error rate, expressed as a percentage, 0.00 to 1.00 id = 1: primary link; id=2: secondary link The logic level of the remote sensing input Surge protection circuit status 1 = Protection circuit is okay 0 = No protection Series Mode Protection power relay state 1 = relay is on, AC power available 0 = relay is off, AC power not available Secondary SmartLink Status 1 = secondary link is communicating 0 = no response on the secondary link Overvoltage Status 1 = Overvoltage condition detected 0 = No overvoltage condition detected Undervoltage Status 1 = Undervoltage condition detected 0 = No undervoltage condition detected Normal Power Condition 1 = Power is normal 0 = Power fault; overvoltage or undervoltage Power Sequence Status 1 = a power on/off sequence is in progress 0 = no power on/off sequence is in progress Outlet Bank Power State 1 = Outlet bank n is ON 0 = Outlet bank n is OFF Example: Query <?xml version=”1.0” ?> <device class=”cn1800” id=”02845133200267”> <command><sendstatus/></command> </device> Response <?xml version=’1.0’ ?> <device class=’cn1800’ id=’02845133200267’> <status time=”1423770400”> <voltage>120.60</voltage> <amperage>2.19</amperage> <wattage>216.57</wattage> <pwrva>264.11</pwrva> <pwrfact>0.82</pwrfact> <per id=’1’>0.00</per> <per id=’2’>0.00</per> <remote>0</remote> <protok>1</protok> <smp>1</smp> <alm>0</alm> <secok>0</secok> <overvolt>0</overvolt> <undervolt>0</undervolt> <pwrok>1</pwrok> <seqprog>0</seqprog> <outlet id=’1’>0</outlet> <outlet id=’2’>0</outlet> <outlet id=’3’>0</outlet> </status></device> 6 3.3 Send Settings Query The Send Settings query is used to retrieve the device settings from a connected device such as outlet bank delays, remote input mode and alarm mode. Setting elements are enclosed in the <settings> element. Query: <sendsettings/> Response <status time=”timestamp”… <adj>percent <delay>seconds <totdelay>seconds <mode>remoteinputmode <seq>sequencemode <alarm>alarmmode <evs>evsmode <override> <evtsena>eventenable Time stamp of the data, provided in UNIX time Delay time adjustment, percentage of time set by the DIP switch Time delay set by the DIP switches Total delay time = <delay> * <adj> Remote Input Operating Mode set by DIP switch 0 = 12V off 1 = 12V on 2 = Ground on 3 = MOM (momentary) Sequence Mode 1 = Primary 0 = Secondary Alarm Input Mode 1 = Normally Open 0 = Normally Closed Extreme Voltage Shutdown Mode CNxxxx Devices: 1 = automatic; 0 - manual MPxxxx Devices: 1 = on; 0 = off Indicates the switch position for overriding remote commands cnmp15/20: bypass (0 = OFF, 1 = ON) cn1800/2400/3600: Key (0 = OFF, 1 = ON, 2 = REMOTE) Events Enabled 1 = Enabled 0 = Disabled Example: Query <?xml version=”1.0” ?> <device class=”cn1800” id=”02845133200267”> <command><sendsettings/> </command></device> 7 Response <?xml version=’1.0’ ?> <device class=’cn1800’ id=’02845133200267’> <settings time=’1423769459’> <adj>0.50</adj> <delay>10</delay> <totdelay>5.00</totdelay> <mode>3</mode> <seq>0</seq> <alarm>1</alarm> <evs>1</evs> <override>2</override> <evtsena>1</evtsena></settings></device> Section 4 – SmartSeqencerTM Device Commands 4.1 Switch Outlet Command The Switch Outlet command is used to control an individual outlet on a connected device in the SmartLink chain. Command <outlet id=”n”>state Switch outlet (bank) n 0 = OFF 1 = ON Response: None 4.2 Cycle Outlet Command The Cycle Outlet command is used to power cycle an individual outlet on an individual device in the SmartLink chain. The outlet will turn off then turn back on five seconds later. With the optional delay attribute, the delay time can be between 1 to 254 seconds. Command <cycleoutlet id=”n” delay=”t”/> Power cycle outlet (bank) n delay for t seconds (optional) Response: None 4.3 Sequence Command The Sequence command is used to initiate a power-on or power-off sequence of all outlets on an individual device in the SmartLink chain. Command <sequence>on_off Initiate a power sequence 0 = turn OFF sequence 1 = turn ON sequence Response: None 4.4 Refresh Info Command The Refresh Info command forces the connected device to send its system information to the BB-RS232. This command is used to ensure that the <sendinfo> query will report up-to-date information. Command <refreshinfo/> Refresh system information Response: None 4.5 Refresh Settings Command The Refresh Settings command forces the connected device to immediately send its settings information to the BB-RS232. This command is used to ensure that the <sendsettings> queries will report up-to-date information. Command <refreshsettings/> Refresh settings information Response: None 8 Section 5 – Event Messaging, General Event messages are sent autonomously from BB-RS232 or connected device when some change occurs within the device – they are not replies to a query. 5.1 Subscribing to Event Messages After start-up, no event messages will be sent. To receive event messages a command to “subscribe” to events must be sent. The event subscription command is enclosed within the XML declaration and <command> element and is as follows: …<eventmgr><subscribe uri=”ctrlsys://IPADDR:PORT”/></eventmgr>… IPADDR is the IP address and PORT is the port number where the event messages should be sent. It may be a different IP address than the control system which sent the request. Devices must be subscribed to individually and only one IP address / port event subscription is allowed per device. For example, to have event messages sent from a BB-RS232 with MAC address 10-65-A3-02-FF-FF to a control system at IP address 192.168.0.127 listening on port 1726: <?xml version=”1.0” ?><device class=”bb232” id=”1065a302ffff”> <command><eventmgr><subscribe uri=”ctrlsys://192.168.0.127:1726”/> </eventmgr></command></device> The unsubscribe command follows the same format …<command><eventmgr><unsubscribe uri=”ctrlsys://IPADDR:PORT”/></eventmgr></command>… 5.2 General Event Element Structure All event messages are contained within an <event> element and will include a timestamp attribute, “time”, an event ID attribute, “evtid” and an event subscriber ID attribute “subsid”. The time attribute is a UNIX timestamp, up to 10 decimal digit characters and represents the number of seconds that have passed since January 1st 1970 GMT. The evtid attribute is the numeric ID value of the event message, starting from 0 after each device start-up. A subscriber ID, “subsid” is assigned to each event subscription. A sample event message for the initiation of a power on sequence: <?xml version=”1.0”><device class=”bb232” id=”1065a302ffff”> <event time=”1234567890” evtid=”123” subsid=”1”> <outlet id=”1”>0</outlet> </event></device> Event messages will be repeated until an acknowledgement message is sent back to the subscribed device, or after a timeout period of approximately 20 minutes. The acknowledgement message syntax is: …<command><eventmgr><ack evtid=”123” subsid=”1”></eventmgr></command></device> There are several event messages that are intended for Furman Sound use only and are not documented in this manual. However, these messages will still be posted. The following table lists the undocumented event messages: BB-RS232 <schedmgr><setevent> <schedmgr><delevent> <schedmgr><clearschedule> <fwupgd> <loadfile> <tfilebusy> <tfilelock> 9 CN/MP- SmartSequencerTM Devices <seqchg> <perchg> <cmdconflict> Section 6 - Event Messages, BB-RS232 6.1 Enumerate Event An Enumerate event is posted when a device enumeration (or “discovery”) has started or ended. Refer to the <enumerate> command in section 2 for details. <enum phase=”phase” err=”error_code”/> Example: <event time=”1234567890”… > <enum phase=”end” err=”no 2,3”/> </event> “start” = enumeration has started “end” = enumeration has ended “timeout “ = enumeration timed out “blocked” = enumeration blocked “no n,m….” = n,m is a list of devices (by SmartLink address) that were expected, but not found Event header Enumeration has ended Devices 2 and 3 did not respond 6.2 Enumerate Required Event An Enumerate Required event message is posted when BB-RS232 detects a non-legitimate SmartLink address. After receiving the Enumerate Required event message, the <enumerate> command should be issued to re-discover the connected devices. <enumreqd sladdr=”n”/> “n” is the non-legitimate SmartLink address Example: <event time=”1234567890”… > <enumreqd sladdr=”254”/> </event> Event header SmartLink address 254 is non-legitimate 6.3 Roll Call Event The BB-RS232 and SmartLink devices perform a “Roll Call” action in which all of the devices report their SmartLink address to confirm that they are communicating. <roll phase=”phase” err=”error_code”/> Example: <event time=”1234567890”… > <roll phase=”end” err=”timeout”/> </event> “start” = enumeration has started “end” = enumeration has ended “timeout “ = enumeration timed out “blocked” = enumeration blocked “dup n,m….” = n,m is a list of SmartLink addresses that were reported by multiple connected devices Event header Roll call has ended Roll call timed out 10 6.4 Object Destroy Event The BB-RS232 posts an Object Destroy event message when a SmartLink device is removed from its internal inventory. <objdestroy class=”device_class” id=”serial_number” sladdr=’address’/> Example: <event time=”1234567890”… > <objdestroy class=”cn1800” id=”02845133200267” sladdr=’2’/> </event> Type of device removed, per Table 1 id= device serial number sladdr = Smart Link address Event header Removing from inventory A CN-1800 S device With device ID 02845133200267 That had SmartLink address 2 6.5 Object Create Event The BB-RS232 posts an Object Create event message when a SmartLink device is added to its internal inventory. <objcreate class=”device_class” id=”serial_number” sladdr=’address’/> Example: <event time=”1234567890”… > <objdestroy class=”cn1800” id=”02845133200267” sladdr=’2’/> </event> Type of device created, per Table 1 id=device serial number sladdr = Smart Link address Event header Adding to inventory A CN-1800 S device With device ID 02845133200267 That had SmartLink address 2 6.6 SmartSequencerTM Count Event The BB-RS232 posts a SmartSequencerTM Count event message indicating the number of devices in the SmartLink chain. <devcnt>n</devcnt> n= Number of devices found on the SmartLink chain Example: <event time=”1234567890”… > <devcnt>4</devcnt> </event Event header Four devices found on the SmartLink chain 6.7 SmartSequencerTM Ready Event The BB-RS232 posts a SmartSequencerTM Ready event message when all required data has been recorded in inventory. <ready class=”device_class” id=”serial_number” sladdr=”n”/> Example: <event time=”1234567890”… > <ready class=”cn1800” id=”02845133200267” sladdr=”1”/> </event> 11 Device type id=device serial number sladdr = SmartLink address Event header A CN-1800 S device is ready With serial number 02845133200267 And SmartLink address 1 6.8 SmartSequencer™ Firmware Upgrade Required Event The BB-RS232 posts a SmartSequencerTM Firmware Upgrade Required event message when firmware updating is necessary. <fwupgdreqd class=”device_class” sladdr=”n”/> Example: <event time=”1234567890”… > <ready fwupgdreqd=”cn1800” sladdr=”1”/> </event> Device type sladdr = SmartLink address Event header CN-1800 S device With SmartLink address 1 requires a firmware upgrade 6.9 HDLC Link Event The BB-RS232 posts an HDLC Link event message to indicate the status of the link-level communication between the SmartLink devices. <hdlclink>status</hdlclink> Example: <event time=”1234567890”… > <hdlclink>1</hdlclink> </event> 1 = HDLC link is up 0 = HDLC link is down Event header HDLC link is up 6.10 Scheduled Action Fired Event A Scheduled Action Fired event is posted when the BB-RS232 performs a scheduled operation. The description of the command that was executed on schedule is contained in <command>..</command> <schedmgr><fire> <fire> <day>daysofweek</day> <min>minuteofday</min> <command> <executed_cmd>..</executed_cmd> </command> </fire> Example: <event time=”1234567890”… > <schedmgr> <fire> <day>115</day> <min>550</min> <command> <sequence>1</sequence> </command> </fire> </schedmgr> Scheduled days. See below. Elapsed minutes since midnight Executed command Event header Scheduled event fired scheduled for Monday-Friday at minute 550 of today (9:10AM) the event was a command for initiate a turn on sequence The <day> element contains the daysofweek value for the days of the week the action is scheduled to fire. This element is a bit tricky in that the scheduled days are encoded in a 7-bit binary bitmap that is provided in decimal format. To process the data it must be converted from decimal to binary where each bit represents a day of the week the action is scheduled. Bit 0 represents Thursday. Scheduled day(s) of the week daysofweek Binary Thursday10000001 Friday20000010 Saturday40000100 Sunday80001000 Monday160010000 Tuesday320100000 Wednesday641000000 Monday-Friday1151110011 Saturday-Sunday120001100 12 Section 7 – Event Messages, SmartSequencerTM Devices 7.1 Sequence Done Event A Sequence Done event message is posted when a power on or power off sequence is initiated or completed <seqdone>state</seqdone> 1 = Sequence is done 0 = Sequence is in process Example: <event time=”1234567890”… > <seqdone>1</seqdone> </event> Event header Power sequence is done 7.2 Outlet State Change Event An Outlet State Change event message is posted when any of the outlet banks turn ON->OFF or OFF->ON. <outlet id=”n”>state</outlet> Outlet n state changed to: 0 = outlet is OFF 1 = outlet is ON Example: <event time=”1234567890”… > <outlet id=”1”>0</outlet> <event> Event header Outlet 1 is OFF 7.3 Under Voltage Event An Under Voltage event message is posted when the device goes in or out of under voltage shutoff mode. <undervolt>state</undervolt> 0 = no undervoltage condition 1 = undervoltage condition Example: <event time=”1234567890”… > <undervolt>1</undervolt> </event> Event header Undervoltage condition present 7.4 Over Voltage Event An Over Voltage event message is posted when the device goes in or out of over voltage shutoff mode. <overvolt>state</overvolt> 0 = no overvoltage condition 1 = overvoltage condition Example: <event time=”1234567890”… > <overvolt>1</overvolt> </event> 13 Event header Over voltage condition present 7.5 Power OK Event A Power OK event message is posted when the operating voltage falls in or out of the safe normal operating range. <powerok>state</powerok> 1 = Normal voltage present 0 = Abnormal voltage present Example: <event time=”1234567890”… > <powerok>1</powerok> </event> Event header Voltage is in normal operating range 7.6 Alarm Event An Alarm event message is posted when the alarm input on the device has changed. The alarm state is latched, and must be explicitly cleared with the key on the primary unit (the first device in the chain). <alarm>state</alarm> state 1 = Alarm input is active 0 = No alarm Example: <event time=”1234567890”… > Event header <alarm>1</alarm>Alarm is active </event> 7.7 Protection OK Event A Protection OK event message indicates the status of the surge protection circuitry. <protectok>state</protectok> state 1 = Surge protection circuit is ok 0 = Surge protection circuit has failed Example: <event time=”1234567890”… > <protectok>0</protectok> </event> Event header Surge protection circuit has failed 7.8 Reset Event A Reset event message is posted when the device is in a reset state. <reset>state</reset> 1 = Reset in progress 0 = Normal operation Example: <event time=”1234567890”… > <reset>1</reset> </event> Event header A device reset is in progress 10006527 REV. A 5-7-15 14