m (→Device Configuration) |
(→Zone Emulation) |
||
(83 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
+ | [[Category:FAQ]] | ||
+ | [[Category:Documentation]] | ||
+ | [[Category:Specifications]] | ||
+ | [[Category:Features]] | ||
+ | |||
=Commands= | =Commands= | ||
− | {| | + | {| class="wikitable" border="1" |
! scope="col" | Command | ! scope="col" | Command | ||
! scope="col" | Description | ! scope="col" | Description | ||
Line 15: | Line 20: | ||
| align="center" | L | | align="center" | L | ||
| align="center" | [[#Zone Emulation|Emulate]] virtual zone opens and closes. | | align="center" | [[#Zone Emulation|Emulate]] virtual zone opens and closes. | ||
+ | |- | ||
+ | | align="center" | E | ||
+ | | align="center" | Dump error report and clear error history. [[#Error_message_report|Error report]] | ||
+ | |- | ||
+ | | align="center" | V | ||
+ | | align="center" | Dump the version, serial number and flags used in the firmware. | ||
+ | |- | ||
+ | | align="center" | K | ||
+ | | align="center" | Send message from specific partition or keypad address. [[#Addressed Message|Addressed Message]] | ||
+ | |- | ||
+ | | align="center" | R | ||
+ | | align="center" | <b>Host Ack</b>nowledge the [[#CRC|CRC]] message was valid. | ||
|- | |- | ||
| align="center" | \x01\x01\x01 | | align="center" | \x01\x01\x01 | ||
− | | align="center" | Send [[# | + | | align="center" | Send [[#Special Keys|Special Key]] #1 |
|- | |- | ||
| align="center" | \x02\x02\x02 | | align="center" | \x02\x02\x02 | ||
− | | align="center" | Send [[# | + | | align="center" | Send [[#Special Keys|Special Key]] #2 |
|- | |- | ||
| align="center" | \x03\x03\x03 | | align="center" | \x03\x03\x03 | ||
− | | align="center" | Send [[# | + | | align="center" | Send [[#Special Keys|Special Key]] #3 |
|- | |- | ||
| align="center" | \x04\x04\x04 | | align="center" | \x04\x04\x04 | ||
− | | align="center" | Send [[# | + | | align="center" | Send [[#Special Keys|Special Key]] #4 |
|- | |- | ||
− | | align="center" | 0123456789*# | + | | align="center" | \x05\x05\x05 |
+ | | align="center" | Send [[#Special Keys|Special Key]] #5 | ||
+ | |- | ||
+ | | align="center" | \x06\x06\x06 | ||
+ | | align="center" | Send [[#Special Keys|Special Key]] #6 | ||
+ | |- | ||
+ | | align="center" | \x07\x07\x07 | ||
+ | | align="center" | Send [[#Special Keys|Special Key]] #7 | ||
+ | |- | ||
+ | | align="center" | \x08\x08\x08 | ||
+ | | align="center" | Send [[#Special Keys|Special Key]] #8 | ||
+ | |- | ||
+ | | align="center" | a | ||
+ | | align="center" | DSC ONLY(deprecated use Special Keys): Arm Away | ||
+ | |- | ||
+ | | align="center" | s | ||
+ | | align="center" | DSC ONLY(deprecated use Special Keys): Arm Stay | ||
+ | |- | ||
+ | | align="center" | c | ||
+ | | align="center" | DSC ONLY(deprecated use Special Keys): Toggle Chime | ||
+ | |- | ||
+ | | align="center" | 0123456789*#<> | ||
| align="center" | Send key to panel | | align="center" | Send key to panel | ||
|} | |} | ||
+ | |||
+ | ==Arming== | ||
+ | The standard keypad keys when received by the AD2 will be treated as keypad press commands and sent to the alarm panel from the current address. If using the [[#Addressed Message|K command]] the keys will continue to be sent from the specified address until the AD2 receives a \r or \n at that point the AD2 will revert back to the configured address. | ||
==Reboot== | ==Reboot== | ||
Line 40: | Line 81: | ||
Zone Expander Emulation allows the AlarmDecoder to act in place of a physical expander board and make use of virtual zones with your panel. After enabling it on both the panel and the AlarmDecoder you can begin opening and closing zones, which will be relayed back to the panel. | Zone Expander Emulation allows the AlarmDecoder to act in place of a physical expander board and make use of virtual zones with your panel. After enabling it on both the panel and the AlarmDecoder you can begin opening and closing zones, which will be relayed back to the panel. | ||
− | The <b>L</b> command can be used to open | + | The <b>L</b> command can be used to open, close, or trouble a zones. There are two parameters: the zone and the state. The zone is a zero-padded two-digit number and the state is either 0 = CLOSE, 1 = TROUBLE, 2 = OPEN. |
Example - open zone 12: | Example - open zone 12: | ||
+ | * <b>L122\r</b> | ||
+ | |||
+ | Example - trouble zone 12: | ||
* <b>L121\r</b> | * <b>L121\r</b> | ||
Line 48: | Line 92: | ||
* <b>L120\r</b> | * <b>L120\r</b> | ||
− | == | + | ==Addressed Message== |
− | The | + | * It is possible to send a message from a specific keypad on Ademco/Vista or to a specific partition on DSC. |
+ | The <b>K</b> command can be used to send a message to the panel from a specific keypad address or keypad partition for DSC. There are two parameters: The address or partition a zero padded 2 digit address or partition and the message to send. The AD2* will stay fixed on this new address until a new K message is received or the AD2* is reset or a \r or \n character is received. | ||
− | {| | + | Example - Send keypad string 1234 to DSC partition 01: |
− | |+ | + | * <b>K011234\r</b> |
+ | |||
+ | Example - Send keypad string 12343 from keypad address 19: | ||
+ | * <b>K1912343\r</b> | ||
+ | |||
+ | ==Special Keys== | ||
+ | The specialty keys are identified by ASCII character codes 1 through 8. In order to prevent false positives these must be sent three times in a row. | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |+ Special Key Codes | ||
! scope="col" | Code | ! scope="col" | Code | ||
− | ! scope="col" | Description | + | ! scope="col" | Description |
+ | ! scope="col" | Ademco | ||
+ | ! scope="col" | DSC | ||
|- | |- | ||
| \x01\x01\x01 | | \x01\x01\x01 | ||
− | | | + | | Special Key #1 |
+ | | Fire/Prog. | ||
+ | | Fire | ||
|- | |- | ||
| \x02\x02\x02 | | \x02\x02\x02 | ||
− | | | + | | Special Key #2 |
+ | | Police/Prog. | ||
+ | | Police | ||
|- | |- | ||
| \x03\x03\x03 | | \x03\x03\x03 | ||
− | | | + | | Special Key #3 |
+ | | Medical/AUX/Prog. | ||
+ | | Medical/AUX | ||
|- | |- | ||
| \x04\x04\x04 | | \x04\x04\x04 | ||
− | | | + | | Special Key #4 |
+ | | Programmable | ||
+ | | Stay | ||
+ | |- | ||
+ | | \x05\x05\x05 | ||
+ | | Special Key #5 | ||
+ | | N/A | ||
+ | | Away | ||
+ | |- | ||
+ | | \x06\x06\x06 | ||
+ | | Special Key #6 | ||
+ | | N/A | ||
+ | | Chime | ||
+ | |- | ||
+ | | \x07\x07\x07 | ||
+ | | Special Key #7 | ||
+ | | N/A | ||
+ | | Reset | ||
+ | |- | ||
+ | | \x08\x08\x08 | ||
+ | | Special Key #8 | ||
+ | | N/A | ||
+ | | Exit | ||
|} | |} | ||
+ | |||
+ | ---- | ||
=Device Configuration= | =Device Configuration= | ||
The AlarmDecoder configuration can be viewed or modified in one of two ways: [[#Prompted|prompted]] or [[#Programatic|programmatically]]. | The AlarmDecoder configuration can be viewed or modified in one of two ways: [[#Prompted|prompted]] or [[#Programatic|programmatically]]. | ||
− | {| | + | ==Prompted== |
+ | If you send <b>!</b> followed by a carriage return you will be prompted to configure each field. This prompt also includes a basic description of the setting as well as it's current value. | ||
+ | |||
+ | <b>You may hit enter to keep the current value or provide a new one.</b> | ||
+ | |||
+ | Example: | ||
+ | <pre> | ||
+ | !>Ademco/DSC Mode A/D (A) :> | ||
+ | !>Keypad Address (18) :> | ||
+ | !WARNING. Do not enable a module if the physical module exists on the system. | ||
+ | !Zone Expanders Y/N Max allowed: 02 | ||
+ | !>expander module #01 ZN 09-16 (N) :> | ||
+ | !>expander module #02 ZN 17-24 (N) :> | ||
+ | !>expander module #03 ZN 25-32 (N) :> | ||
+ | !>expander module #04 ZN 33-40 (N) :> | ||
+ | !>expander module #05 ZN 41-48 (Y) :> | ||
+ | !Relay Modules Y/N Max allowed: 04 | ||
+ | !>relay module #01 (Y) :> | ||
+ | !>relay module #02 (N) :> | ||
+ | !>relay module #03 (N) :> | ||
+ | !>relay module #04 (N) :> | ||
+ | !>Emulate Long Range Radio Y/N: (Y) :> | ||
+ | !>Address Filter Mask (ffffffff) :> | ||
+ | !>Deduplicate (N) :> | ||
+ | !>Config Bits (ff04) :> | ||
+ | </pre> | ||
+ | |||
+ | ==Programmatic== | ||
+ | You may retrieve all of the current device settings by sending <b>C</b> to the panel followed by a carriage return (\r). | ||
+ | |||
+ | Retrieving settings: | ||
+ | * Send: <b>C\r</b> | ||
+ | * Response: <b>!CONFIG>ADDRESS=18&CONFIGBITS=ff00&LRR=N&EXP=NNNNN&REL=NNNN&MASK=ffffffff&DEDUPLICATE=N</b> | ||
+ | |||
+ | It can also be used to set values: | ||
+ | * Send: <b>CADDRESS=20\r</b> | ||
+ | * Response: <b>!>ADDRESS=20</b> | ||
+ | |||
+ | The same command may be used to set multiple values: | ||
+ | * Send: <b>CADDRESS=20&DEDUPLICATE=Y\r</b> | ||
+ | * Response: <b>!>ADDRESS=20&DEDUPLICATE=Y</b> | ||
+ | |||
+ | ===Configuration Parameters=== | ||
+ | {| class="wikitable" border="1" | ||
! scope="col" | Name | ! scope="col" | Name | ||
! scope="col" | Default Value | ! scope="col" | Default Value | ||
! scope="col" | Valid Values (Regex) | ! scope="col" | Valid Values (Regex) | ||
! scope="col" | Description | ! scope="col" | Description | ||
+ | |- | ||
+ | | align="left" | MODE | ||
+ | | align="left" | A | ||
+ | | align="left" | [A,D]{1} | ||
+ | | align="left" | Decoder panel mode Ademco or DSC. | ||
|- | |- | ||
| align="left" | ADDRESS | | align="left" | ADDRESS | ||
| align="left" | 18 | | align="left" | 18 | ||
| align="left" | [0-9]{2} | | align="left" | [0-9]{2} | ||
− | | align="left" | Keypad address assigned to the AlarmDecoder. | + | | align="left" | Keypad address assigned to the AlarmDecoder for Ademco and Partition# for DSC. |
|- | |- | ||
| align="left" | CONFIGBITS | | align="left" | CONFIGBITS | ||
− | | align="left" | | + | | align="left" | FF04 |
| align="left" | [0-9a-f]{4} | | align="left" | [0-9a-f]{4} | ||
| align="left" | Special settings for the device. See [[#CONFIGBITS|CONFIGBITS]] for more information. | | align="left" | Special settings for the device. See [[#CONFIGBITS|CONFIGBITS]] for more information. | ||
Line 112: | Line 246: | ||
| align="left" | [YN] | | align="left" | [YN] | ||
| align="left" | If enabled, removes duplicate alphanumeric keypad messages. | | align="left" | If enabled, removes duplicate alphanumeric keypad messages. | ||
+ | |- | ||
+ | | align="left" | RESET | ||
+ | | align="left" | Y | ||
+ | | align="left" | [YN] | ||
+ | | align="left" | Factory reset settings. | ||
|- | |- | ||
|} | |} | ||
− | ==CONFIGBITS== | + | ====CONFIGBITS==== |
CONFIGBITS is a setting that's used to enable special functionality on the AlarmDecoder. You can enable these by masking the correct bits. | CONFIGBITS is a setting that's used to enable special functionality on the AlarmDecoder. You can enable these by masking the correct bits. | ||
− | {| | + | {| class="wikitable" border="1" |
+ | |+ CONFIGBITS Definition | ||
! scope="col" | Mask | ! scope="col" | Mask | ||
! scope="col" | Description | ! scope="col" | Description | ||
Line 132: | Line 272: | ||
|- | |- | ||
| align="left" | 0x0008 | | align="left" | 0x0008 | ||
− | | align="left" | Enable the prefixing of panel messages with ! | + | | align="left" | Enable the prefixing of panel messages with !KPM. |
+ | |- | ||
+ | | align="left" | 0x0010 | ||
+ | | align="left" | Disable DSC locking (experimental). | ||
+ | |- | ||
+ | | align="left" | 0x0080 | ||
+ | | align="left" | enable CRC Delivery confirmation for LRR,EXP,REL etc. | ||
|- | |- | ||
| align="left" | 0x0100 | | align="left" | 0x0100 | ||
Line 138: | Line 284: | ||
|} | |} | ||
− | + | ---- | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
=Message Types= | =Message Types= | ||
There are several types of messages produced by the AlarmDecoder. These include: [[#Keypad|Keypad]], [[#Relay Expander|Relay Expander]], [[#Zone Expander|Zone Expander]], [[#RFX|RFX]], [[#LRR|LRR]], and [[#AUI|AUI]]. | There are several types of messages produced by the AlarmDecoder. These include: [[#Keypad|Keypad]], [[#Relay Expander|Relay Expander]], [[#Zone Expander|Zone Expander]], [[#RFX|RFX]], [[#LRR|LRR]], and [[#AUI|AUI]]. | ||
+ | |||
+ | * All lines starting with <b>!</b> are informational. | ||
+ | * Lines that start with <b>!></b> are prompts. | ||
+ | * All other lines are panel data in the form of a [[#Keypad|Keypad message]]. | ||
==Keypad== | ==Keypad== | ||
Keypad messages are by far the most common message type produced by the AlarmDecoder. These messages also have an optional header that can be enabled in the [[#CONFIGBITS|CONFIGBITS]]. This setting prefixes all keypad messages with <b>!KPM:</b>. | Keypad messages are by far the most common message type produced by the AlarmDecoder. These messages also have an optional header that can be enabled in the [[#CONFIGBITS|CONFIGBITS]]. This setting prefixes all keypad messages with <b>!KPM:</b>. | ||
− | {| | + | ===Format=== |
+ | {| class="wikitable" border="1" | ||
|+ Keypad Format | |+ Keypad Format | ||
− | | colspan="4" align="center" style="background-color: #DEDEDE; font-weight: bold" | <span style="color: #F56464">[ | + | | colspan="4" align="center" style="background-color: #DEDEDE; font-weight: bold" | <span style="color: #F56464">[00110011000000003A--]</span>,<span style="color: #8C8CF5">010</span>,<span style="color: #70BA66">[f70700000010808c18020000000000]</span>,<span style="color: #804580">"ARMED ***STAY** ZONE BYPASSED "</span> |
|- | |- | ||
| colspan="4" | | | colspan="4" | | ||
Line 198: | Line 308: | ||
! scope="col" width="220px" style="color: #804580" | Alphanumeric Keypad Message | ! scope="col" width="220px" style="color: #804580" | Alphanumeric Keypad Message | ||
|- | |- | ||
− | | align="center" | [ | + | | align="center" | [00110011000000003A--] |
| align="center" | 010 | | align="center" | 010 | ||
− | | align="center" | [ | + | | align="center" | [f70700000010808c18020000000000] |
| align="center" | "ARMED ***STAY** ZONE BYPASSED " | | align="center" | "ARMED ***STAY** ZONE BYPASSED " | ||
|- | |- | ||
|} | |} | ||
+ | |||
+ | ====<span style="color: #F56464">Bit field</span>==== | ||
+ | The bit field present on the keypad messages is where you're going to get most of the information on your alarm system's current state. These are all represented by a zero or one aside from the one exception. (beep) | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | ! scope="col" | Position | ||
+ | ! scope="col" | Description | ||
+ | |- | ||
+ | | 1 | ||
+ | | Indicates if the panel is READY | ||
+ | |- | ||
+ | | 2 | ||
+ | | Indicates if the panel is ARMED AWAY | ||
+ | |- | ||
+ | | 3 | ||
+ | | Indicates if the panel is ARMED HOME | ||
+ | |- | ||
+ | | 4 | ||
+ | | Indicates if the keypad backlight is on | ||
+ | |- | ||
+ | | 5 | ||
+ | | Indicates if the keypad is in programming mode | ||
+ | |- | ||
+ | | 6 | ||
+ | | Number (1-7) indicating how many beeps are associated with the message | ||
+ | |- | ||
+ | | 7 | ||
+ | | Indicates that a zone has been bypassed | ||
+ | |- | ||
+ | | 8 | ||
+ | | Indicates if the panel is on AC power | ||
+ | |- | ||
+ | | 9 | ||
+ | | Indicates if the chime is enabled | ||
+ | |- | ||
+ | | 10 | ||
+ | | Indicates that an alarm has occurred. This is sticky and will be cleared after a second disarm. | ||
+ | |- | ||
+ | | 11 | ||
+ | | Indicates that an alarm is currently sounding. This is cleared after the first disarm. | ||
+ | |- | ||
+ | | 12 | ||
+ | | Indicates that the battery is low | ||
+ | |- | ||
+ | | 13 | ||
+ | | Indicates that entry delay is off (ARMED INSTANT/MAX) | ||
+ | |- | ||
+ | | 14 | ||
+ | | Indicates that there is a fire | ||
+ | |- | ||
+ | | 15 | ||
+ | | Indicates a system issue | ||
+ | |- | ||
+ | | 16 | ||
+ | | Indicates that the panel is only watching the perimeter (ARMED STAY/NIGHT) | ||
+ | |- | ||
+ | | 17 | ||
+ | | System specific bits. 4 bits packed into a HEX Nibble [0-9,A-F] | ||
+ | |- | ||
+ | | 18 | ||
+ | | Ademco or DSC Mode A or D | ||
+ | |- | ||
+ | | 19 | ||
+ | | Unused | ||
+ | |- | ||
+ | | 20 | ||
+ | | Unused | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | ====<span style="color: #8C8CF5">Numeric Code</span>==== | ||
+ | This number specifies which zone is affected by the message. For example, if this message is for CHECK ZONE 22 then the numeric code would be <b>022</b>. Most of the time this is zero-padded base10, but there are rare occurrences where this may be base16, such as ECP bus failures. | ||
+ | |||
+ | ====<span style="color: #70BA66">Raw data</span>==== | ||
+ | This is the binary data associated with the message. It includes all of the bit field entries that were separated out for you in the first field, as well as the rest of the message for debugging and exploratory purposes. | ||
+ | |||
+ | There is one important piece of data included only in this field: the keypad address mask. The four bytes starting at position 2 (zero-indexed) indicate which keypads this message is intended for. | ||
+ | |||
+ | Inside this mask each bit represents a specific keypad. Each byte represents a group of eight keypad addresses, which the least-significant-bit being the start of the range. | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | ! scope="col" | Byte | ||
+ | ! scope="col" | Addresses | ||
+ | |- | ||
+ | | 1 | ||
+ | | 0-7 | ||
+ | |- | ||
+ | | 2 | ||
+ | | 8-15 | ||
+ | |- | ||
+ | | 3 | ||
+ | | 16-23 | ||
+ | |- | ||
+ | | 4 | ||
+ | | 24-31 | ||
+ | |} | ||
+ | |||
+ | For example: | ||
+ | * f7<span style="color: #70BA66">07000600</span>10808c08020000 - our keypad address mask is <span style="color: #70BA66">07000600</span>. | ||
+ | |||
+ | Using the above mask example of <span style="color: #70BA66">07000600</span> we find that this message was destined for keypads 0, 1, 2, 17 and 18. | ||
+ | |||
+ | There is one special case: system messages will have no address mask bits set and are intended for common keypads or monitoring multiple zones. | ||
+ | |||
+ | For the most part the address mask details only become really important when you're working with a setup that has multiple partitions since the AlarmDecoder will see all messages by default. | ||
+ | |||
+ | ====<span style="color: #804580">Alphanumeric Keypad Message</span>==== | ||
+ | This section is the data that would be displayed on your keypad's screen. | ||
==Zone Expander== | ==Zone Expander== | ||
− | {| | + | If you have one or more zone expanders connected to the alarm panel you will be able to see messages from the expanders as zones are faulted and restored. On DSC panels all zones are expressed as EXP messages. |
+ | ===Examples=== | ||
+ | Example of zone expander at address 7, channel 1 faulting and then restoring: | ||
+ | <pre> | ||
+ | !EXP:07,01,01 | ||
+ | !EXP:07,01,00 | ||
+ | </pre> | ||
+ | |||
+ | ===Format=== | ||
+ | {| class="wikitable" border="1" | ||
|+ !EXP Format | |+ !EXP Format | ||
| colspan="4" align="center" style="background-color: #DEDEDE; font-weight: bold" | <span style="color: #F56464">!EXP</span>:<span style="color: #8C8CF5">07</span>,<span style="color: #70BA66">01</span>,<span style="color: #804580">01</span> | | colspan="4" align="center" style="background-color: #DEDEDE; font-weight: bold" | <span style="color: #F56464">!EXP</span>:<span style="color: #8C8CF5">07</span>,<span style="color: #70BA66">01</span>,<span style="color: #804580">01</span> | ||
Line 223: | Line 450: | ||
|- | |- | ||
|} | |} | ||
+ | |||
+ | ====<span style="color: #8C8CF5">Zone Expander Address</span>==== | ||
+ | This is the address that the zone expander occupies. | ||
+ | |||
+ | ====<span style="color: #70BA66">Expander Channel</span>==== | ||
+ | This is the channel generating the message. | ||
+ | |||
+ | ====<span style="color: #804580">Data</span>==== | ||
+ | 00 and 01 indicate that the zone is restored and faulted, respectively. | ||
==Relay Expander== | ==Relay Expander== | ||
− | {| | + | If you have one or more relay expanders connected to your alarm panel you will be able to see messages when the relays are opened or closed. |
+ | |||
+ | ===Examples=== | ||
+ | Examples of a relay expander at address 12, relay #1 closing and then opening: | ||
+ | <pre> | ||
+ | !REL:12,01,01 | ||
+ | !REL:12,01,00 | ||
+ | </pre> | ||
+ | |||
+ | ===Format=== | ||
+ | {| class="wikitable" border="1" | ||
|+ !REL Format | |+ !REL Format | ||
| colspan="4" align="center" style="background-color: #DEDEDE; font-weight: bold" | <span style="color: #F56464">!REL</span>:<span style="color: #8C8CF5">12</span>,<span style="color: #70BA66">01</span>,<span style="color: #804580">01</span> | | colspan="4" align="center" style="background-color: #DEDEDE; font-weight: bold" | <span style="color: #F56464">!REL</span>:<span style="color: #8C8CF5">12</span>,<span style="color: #70BA66">01</span>,<span style="color: #804580">01</span> | ||
Line 242: | Line 488: | ||
|- | |- | ||
|} | |} | ||
+ | |||
+ | ====<span style="color: #8C8CF5">Relay Expander Address</span>==== | ||
+ | This is the address that the relay expander occupies. | ||
+ | |||
+ | ====<span style="color: #70BA66">Expander Channel</span>==== | ||
+ | This is the channel generating the message. | ||
+ | |||
+ | ====<span style="color: #804580">Data</span>==== | ||
+ | 00 and 01 indicate that the relay is opened and closed, respectively. | ||
==RFX== | ==RFX== | ||
− | {| | + | If you have an RF receiver attached to your panel you will see messages from any 5800 RF device in range of the receiver, regardless of whether or not the panel was configured to listen to it. |
+ | |||
+ | This also functions when the system is ARMED STAY. Normally you won't see fault messages for interior zones when armed this way so you lose visibility of interior motion sensors. One option is to put the interior sensors on a separate partition so you still see the inside zones and the outside sensors are on their own. The other option is to listen to the !RFX messages directly which could then be used to tell your home automation system that the zones are faulted. | ||
+ | |||
+ | ===Examples=== | ||
+ | Example of a 5800Micra sensor faulting and restoring: | ||
+ | <pre> | ||
+ | !RFX:0180036,80 | ||
+ | !RFX:0180036,00 | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | Example of a 5804 keyfob pressing the loop #2 button and having a low battery: | ||
+ | <pre> | ||
+ | !RFX:0307854,22 | ||
+ | </pre> | ||
+ | |||
+ | ===Format=== | ||
+ | {| class="wikitable" border="1" | ||
|+ !RFX Format | |+ !RFX Format | ||
| colspan="4" align="center" style="background-color: #DEDEDE; font-weight: bold" | <span style="color: #F56464">!RFX</span>:<span style="color: #8C8CF5">0180036</span>,<span style="color: #70BA66">80</span> | | colspan="4" align="center" style="background-color: #DEDEDE; font-weight: bold" | <span style="color: #F56464">!RFX</span>:<span style="color: #8C8CF5">0180036</span>,<span style="color: #70BA66">80</span> | ||
Line 258: | Line 531: | ||
| align="center" | 80 | | align="center" | 80 | ||
|- | |- | ||
+ | |} | ||
+ | |||
+ | ====<span style="color: #8C8CF5">Serial Number</span>==== | ||
+ | This is the 7-digit serial number of the device the message originated from. | ||
+ | |||
+ | ====<span style="color: #70BA66">Data</span>==== | ||
+ | The data is an 8-bit hex message with several indicators. Please refer to the '''5800 SERIES TRANSMITTER INPUT LOOP IDENTIFICATION''' section of your programming manual for what the loops relate to for your specific device. | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |+ RFX Data Format | ||
+ | |- | ||
+ | ! scope="col" | Bit | ||
+ | ! scope="col" | Description | ||
+ | |- | ||
+ | | align="center" | 1 | ||
+ | | Unknown - Seems that the loop indicators should be ignored if set. | ||
+ | |- | ||
+ | | align="center" | 2 | ||
+ | | Low battery indication | ||
+ | |- | ||
+ | | align="center" | 3 | ||
+ | | Supervision required indication | ||
+ | |- | ||
+ | | align="center" | 4 | ||
+ | | Unknown | ||
+ | |- | ||
+ | | align="center" | 5 | ||
+ | | Loop #3 indication | ||
+ | |- | ||
+ | | align="center" | 6 | ||
+ | | Loop #2 indication | ||
+ | |- | ||
+ | | align="center" | 7 | ||
+ | | Loop #4 indication | ||
+ | |- | ||
+ | | align="center" | 8 | ||
+ | | Loop #1 indication | ||
|} | |} | ||
==LRR== | ==LRR== | ||
− | + | If you have a Long Range Radio device attached or have emulation enabled the AlarmDecoder will report LRR messages from the panel to the radio. The format of the data encapsulates the [[:File:SIA-ContactIDCodes_Protocol.pdf|SIA DC-05-1999.09]] standard for Contact ID reporting. | |
+ | |||
+ | ===Examples=== | ||
+ | * ARM STAY USER 002 partition 1 | ||
+ | ** !LRR:002,1,CID_3441,ff | ||
+ | |||
+ | * DAY/NIGHT ALARM ZONE 9 partition 1 | ||
+ | ** !LRR:009,1,CID_1135,ff | ||
+ | |||
+ | * ALARM CANCEL USER 002 partition 1 | ||
+ | ** !LRR:002,1,CID_1406,ff | ||
+ | |||
+ | * ARM STAY OPENING user 002 partition 1 | ||
+ | ** !LRR:002,1,CID_1441,ff | ||
+ | |||
+ | ===Format=== | ||
+ | {| class="wikitable" border="1" | ||
|+ !LRR Format | |+ !LRR Format | ||
− | | colspan="4" align="center" style="background-color: #DEDEDE; font-weight: bold" | <span style="color: #F56464">!LRR</span>:<span style="color: #8C8CF5">012</span>,<span style="color: #70BA66">1</span>,<span style="color: #804580"> | + | | colspan="4" align="center" style="background-color: #DEDEDE; font-weight: bold" | <span style="color: #F56464">!LRR</span>:<span style="color: #8C8CF5">012</span>,<span style="color: #70BA66">1</span>,<span style="color: #804580">CID_1441</span>,<span style="color: #D7DF01">ff</span> |
|- | |- | ||
| colspan="4" | | | colspan="4" | | ||
Line 270: | Line 596: | ||
! scope="col" width="100px" style="color: #8C8CF5" | Event Data | ! scope="col" width="100px" style="color: #8C8CF5" | Event Data | ||
! scope="col" width="80px" style="color: #70BA66" | Partition | ! scope="col" width="80px" style="color: #70BA66" | Partition | ||
− | ! scope="col" width="100px" style="color: #804580" | | + | ! scope="col" width="100px" style="color: #804580" | CID MESSAGE |
+ | ! scope="col" width="100px" style="color: #D7DF01" | Report CODE | ||
|- | |- | ||
| align="center" | !LRR | | align="center" | !LRR | ||
| align="center" | 012 | | align="center" | 012 | ||
| align="center" | 1 | | align="center" | 1 | ||
− | | align="center" | | + | | align="center" | CID_1441 |
+ | | align="center" | ff | ||
|- | |- | ||
|} | |} | ||
+ | |||
+ | ====<span style="color: #8C8CF5">Event Data</span>==== | ||
+ | This is either the user number of the person performing the action or the zone that was bypassed. | ||
+ | |||
+ | ====<span style="color: #70BA66">Partition</span>==== | ||
+ | The panel partition the event applies to. Partition 0 indicates that it's destined for all partitions. | ||
+ | |||
+ | ====<span style="color: #804580">CID Message</span>==== | ||
+ | This is CID message for the event. See below for a description and what (if any) programming fields are required for activation. It is prefixed with "CID_" and then 4 digits that are described in section 5.1.2.2 of the [[:File:SIA-ContactIDCodes_Protocol.pdf|SIA DC-05-1999.09]] standard. | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |+ Report Code Format | ||
+ | | colspan="3" align="center" style="background-color: #DEDEDE; font-weight: bold" | <span style="color: #F56464">CID_</span><span style="color: #8C8CF5">Q</span><span style="color: #70BA66">XYZ</span> | ||
+ | |- | ||
+ | | colspan="3" | | ||
+ | |- | ||
+ | ! scope="col" width="80px" style="color: #F56464" | Header | ||
+ | ! scope="col" width="100px" style="color: #8C8CF5" | Event qualifier | ||
+ | ! scope="col" width="80px" style="color: #70BA66" | Event code | ||
+ | |- | ||
+ | | align="center" | CID_ | ||
+ | | align="center" | 1 | ||
+ | | align="center" | 441 | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | ====<span style="color: #F56464">Header</span>==== | ||
+ | Static string "CID_" | ||
+ | ====<span style="color: #8C8CF5">Event qualifier</span>==== | ||
+ | 1 = New Event or Opening | ||
+ | 3 = New Restore or Closing | ||
+ | 6 = Previously reported condition still present (Status report) | ||
+ | ====<span style="color: #70BA66">Event code</span>==== | ||
+ | (3 Hex digits 0-9,B-F) | ||
+ | Event codes are 3 hex digits and are broken down in classes by the first digit. | ||
+ | 100 Alarms | ||
+ | 200 Supervisory | ||
+ | 300 Troubles | ||
+ | 400 Open/Close REMOTE ACCESS | ||
+ | 500 Bypass/Disables | ||
+ | 600 TEST/MISC | ||
+ | For more detail on specific report codes see the list see '''Appendix C''' in the [[:File:SIA-ContactIDCodes_Protocol.pdf|SIA DC-05-1999.09]] standard. | ||
==AUI== | ==AUI== | ||
− | + | AUI messages are generated for "Advanced User Interface" keypads. These include a lot of extra data than what's destined for regular keypads. | |
+ | |||
+ | ===Format=== | ||
+ | {| class="wikitable" border="1" | ||
+ | |+ !AUI Format | ||
+ | | colspan="4" align="center" style="background-color: #DEDEDE; font-weight: bold" | <span style="color: #F56464">!AUI</span>:<span style="color: #8C8CF5">126600000000656c02456cf5ec01017f0002</span> | ||
+ | |- | ||
+ | | colspan="4" | | ||
+ | |- | ||
+ | ! scope="col" width="80px" style="color: #F56464" | Header | ||
+ | ! scope="col" width="100px" style="color: #8C8CF5" | AUI Data | ||
+ | |- | ||
+ | | align="center" | !AUI | ||
+ | | align="center" | 126600000000656c02456cf5ec01017f0002 | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | ====<span style="color: #8C8CF5">AUI Data</span>==== | ||
+ | This is a large binary blob that's destined for a graphical panel. This data has not been fully decoded. Please see the [[AUI|AUI]] page for information on what has been discovered so far. | ||
==Keypress Events== | ==Keypress Events== | ||
− | + | Keypress events are generated when keys are pressed on a keypad and can be enabled inside [[#CONFIGBITS|CONFIGBITS]]. | |
+ | |||
+ | ===Format=== | ||
+ | {| class="wikitable" border="1" | ||
+ | |+ !KPE Format | ||
+ | | colspan="4" align="center" style="background-color: #DEDEDE; font-weight: bold" | <span style="color: #F56464">!KPE</span>:<span style="color: #8C8CF5">18</span> | ||
+ | |- | ||
+ | | colspan="4" | | ||
+ | |- | ||
+ | ! scope="col" width="80px" style="color: #F56464" | Header | ||
+ | ! scope="col" width="100px" style="color: #8C8CF5" | Keypad Address | ||
+ | |- | ||
+ | | align="center" | !KPE | ||
+ | | align="center" | 18 | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | ==Error message report== | ||
+ | Error message reports will be sent to the host when the command 'E' is sent to the AD2*. The list will contain 0 if no errors are recorded and a list of errors separated by commas if errors are recorded. Once an error is reported it will be cleared from the history. The errors from left to right are in order of occurrence. As many as 10 errors can be stored before the oldest is removed from the list. | ||
+ | |||
+ | ===Format=== | ||
+ | {| class="wikitable" border="1" | ||
+ | |+ !ERR Format | ||
+ | | colspan="4" align="center" style="background-color: #DEDEDE; font-weight: bold" | <span style="color: #F56464">!ERR</span>:<span style="color: #8C8CF5">4,4,4</span> | ||
+ | |- | ||
+ | | colspan="4" | | ||
+ | |- | ||
+ | ! scope="col" width="80px" style="color: #F56464" | Header | ||
+ | ! scope="col" width="100px" style="color: #8C8CF5" | Error list | ||
+ | |- | ||
+ | | align="center" | !ERR | ||
+ | | align="center" | 4,4,4 | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | ===Error Codes=== | ||
+ | {| class="wikitable" border="1" | ||
+ | |+ Error Codes | ||
+ | |- | ||
+ | | colspan="4" | | ||
+ | |- | ||
+ | ! scope="col" width="80px" | Error number | ||
+ | ! scope="col" width="100px" | Description | ||
+ | |- | ||
+ | | align="center" | 0 | ||
+ | | align="center" | No issues to report | ||
+ | |- | ||
+ | | align="center" | 4 | ||
+ | | align="center" | Keypress send failure | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | |||
+ | ==CRC== | ||
+ | The CRC Message container is a wrapper around all of the standard !XXX event messages above with the checksum value at the end. The checksum is a CRC-CCITT-16 with a polynomial of 0x1021 of all of the Event Data bytes. Enable via [[#CONFIGBITS|CONFIGBITS]] | ||
+ | |||
+ | ===Format=== | ||
+ | {| class="wikitable" border="1" | ||
+ | |+ !CRC Format | ||
+ | | colspan="4" align="center" style="background-color: #DEDEDE; font-weight: bold" | <span style="color: #F56464">!CRC</span>:<span style="color: #8C8CF5">!LRR:000,1,CID_1121,ff</span>,<span style="color: #70BA66">282d</span> | ||
+ | |- | ||
+ | | colspan="4" | | ||
+ | |- | ||
+ | ! scope="col" width="80px" style="color: #F56464" | Header | ||
+ | ! scope="col" width="100px" style="color: #8C8CF5" | Event Data | ||
+ | ! scope="col" width="80px" style="color: #70BA66" | CRC | ||
+ | |- | ||
+ | | align="center" | !CRC | ||
+ | | align="center" | !LRR:000,1,CID_1121,ff | ||
+ | | align="center" | 282d | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | ==Version Message== | ||
+ | This message indicates the serial number of the unit, version, and the firmware capabilities. | ||
+ | |||
+ | ===Format=== | ||
+ | {| class="wikitable" border="1" | ||
+ | |+ !VER Format | ||
+ | | colspan="4" align="center" style="background-color: #DEDEDE; font-weight: bold" | <span style="color: #F56464">!VER</span>:<span style="color: #8C8CF5">ffffffff</span>,<span style="color: #70BA66">V2.2a.8.2</span>,<span style="color: #804580">TX;RX;SM;VZ;RF;ZX;RE;AU;3X;CG;DD;MF;LR;KE;MK;CB;DS;ER</span> | ||
+ | |- | ||
+ | | colspan="4" | | ||
+ | |- | ||
+ | ! scope="col" width="80px" style="color: #F56464" | Header | ||
+ | ! scope="col" width="100px" style="color: #8C8CF5" | Serial number | ||
+ | ! scope="col" width="100px" style="color: #70BA66" | Firmware version | ||
+ | ! scope="col" width="100px" style="color: #804580" | Firmware capabilities | ||
+ | |- | ||
+ | | align="center" | !VER | ||
+ | | align="center" | ffffffff | ||
+ | | align="center" | V2.2a.8.2 | ||
+ | | align="center" | TX;RX;SM;VZ;RF;ZX;RE;AU;3X;CG;DD;MF;LR;KE;MK;CB;DS;ER | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | ====<span style="color: #8C8CF5">Serial Number</span>==== | ||
+ | This is the serial number of the device. If unset this defaults to ffffffff. | ||
+ | |||
+ | ====<span style="color: #70BA66">Firmware Version</span>==== | ||
+ | This is the revision of the firmware that is currently loaded on the device. | ||
+ | |||
+ | ====<span style="color: #804580">Firmware Capabilities</span>==== | ||
+ | This field indicates which capabilities are built in to the firmware. See the below table for reference. | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |+ !VER Format | ||
+ | | colspan="4" align="center" style="background-color: #DEDEDE; font-weight: bold" | Firmware Capabilities | ||
+ | |- | ||
+ | | colspan="4" | | ||
+ | |- | ||
+ | ! scope="col" width="80px" | Flag | ||
+ | ! scope="col" width="400px" | Description | ||
+ | |- | ||
+ | | align="center" | TX | ||
+ | | align="left" | Ability to transmit to the panel | ||
+ | |- | ||
+ | |- | ||
+ | | align="center" | RX | ||
+ | | align="left" | Ability to receive from the panel | ||
+ | |- | ||
+ | | align="center" | SM | ||
+ | | align="left" | Supports sending multiple keypresses | ||
+ | |- | ||
+ | | align="center" | VZ | ||
+ | | align="left" | Virtual zone expanders | ||
+ | |- | ||
+ | | align="center" | RF | ||
+ | | align="left" | Supports receiving of RF messages from the 5800 series wireless devices (!RFX) | ||
+ | |- | ||
+ | | align="center" | ZX | ||
+ | | align="left" | Supports receiving of messages from zone expanders (!EXP) | ||
+ | |- | ||
+ | | align="center" | RE | ||
+ | | align="left" | Supports receiving of messages from relay (!REL) | ||
+ | |- | ||
+ | | align="center" | AU | ||
+ | | align="left" | AUI support (!AUI) | ||
+ | |- | ||
+ | | align="center" | 3X | ||
+ | | align="left" | Special Keys (S1-S4) must be sent 3 times to trigger | ||
+ | |- | ||
+ | | align="center" | CG | ||
+ | | align="left" | Serialized configuration string | ||
+ | |- | ||
+ | | align="center" | DD | ||
+ | | align="left" | Message deduplication | ||
+ | |- | ||
+ | | align="center" | MF | ||
+ | | align="left" | Address mask filter | ||
+ | |- | ||
+ | | align="center" | LR | ||
+ | | align="left" | Long range radio messages (!LRR) deprecated see L2 | ||
+ | |- | ||
+ | | align="center" | L2 | ||
+ | | align="left" | Long range radio messages (!LRR) with CID reporting format | ||
+ | |- | ||
+ | | align="center" | KE | ||
+ | | align="left" | Keypad event messages (!KPM) | ||
+ | |- | ||
+ | | align="center" | MK | ||
+ | | align="left" | Multiple keypad emulation (See 'K' command for more information) | ||
+ | |- | ||
+ | | align="center" | CB | ||
+ | | align="left" | Config bits | ||
+ | |- | ||
+ | | align="center" | DS | ||
+ | | align="left" | DSC support | ||
+ | |- | ||
+ | | align="center" | ER | ||
+ | | align="left" | Error tracking | ||
+ | |- | ||
+ | | align="center" | CR | ||
+ | | align="left" | CRC Wrapper around EXP,LRR and other event type messages | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | =Device Feedback LED= | ||
+ | * Boot flash mode | ||
+ | ** During boot the AD2* will rapid flash during the boot loader. | ||
+ | * Operating mode | ||
+ | ** The normal operating mode is a steady of approx 2.5 flashes per second. | ||
+ | ** Sending to panel mode 3 flashes. | ||
+ | * Error mode | ||
+ | ** If an error is recorded the AD2* will flash the error message as steady slow flashes to be counted with a long period of the LED off between flashes. after a few minutes the led will return to normal idle flash mode if no further errors happen. |
Latest revision as of 20:02, 14 June 2022
Contents |
Commands
Command | Description |
---|---|
= | Reboot the device. |
! | Configure the device via prompts. |
C | Sets or retrieves configuration parameters. |
L | Emulate virtual zone opens and closes. |
E | Dump error report and clear error history. Error report |
V | Dump the version, serial number and flags used in the firmware. |
K | Send message from specific partition or keypad address. Addressed Message |
R | Host Acknowledge the CRC message was valid. |
\x01\x01\x01 | Send Special Key #1 |
\x02\x02\x02 | Send Special Key #2 |
\x03\x03\x03 | Send Special Key #3 |
\x04\x04\x04 | Send Special Key #4 |
\x05\x05\x05 | Send Special Key #5 |
\x06\x06\x06 | Send Special Key #6 |
\x07\x07\x07 | Send Special Key #7 |
\x08\x08\x08 | Send Special Key #8 |
a | DSC ONLY(deprecated use Special Keys): Arm Away |
s | DSC ONLY(deprecated use Special Keys): Arm Stay |
c | DSC ONLY(deprecated use Special Keys): Toggle Chime |
0123456789*#<> | Send key to panel |
Arming
The standard keypad keys when received by the AD2 will be treated as keypad press commands and sent to the alarm panel from the current address. If using the K command the keys will continue to be sent from the specified address until the AD2 receives a \r or \n at that point the AD2 will revert back to the configured address.
Reboot
Rebooting the device is as simple as sending = to it.
During the boot process you can trigger a firmware upload by sending a second = to the device after the !boot message is received. At this point you'll receive a !load and can begin uploading.
Zone Emulation
Zone Expander Emulation allows the AlarmDecoder to act in place of a physical expander board and make use of virtual zones with your panel. After enabling it on both the panel and the AlarmDecoder you can begin opening and closing zones, which will be relayed back to the panel.
The L command can be used to open, close, or trouble a zones. There are two parameters: the zone and the state. The zone is a zero-padded two-digit number and the state is either 0 = CLOSE, 1 = TROUBLE, 2 = OPEN.
Example - open zone 12:
- L122\r
Example - trouble zone 12:
- L121\r
Example - close zone 12:
- L120\r
Addressed Message
- It is possible to send a message from a specific keypad on Ademco/Vista or to a specific partition on DSC.
The K command can be used to send a message to the panel from a specific keypad address or keypad partition for DSC. There are two parameters: The address or partition a zero padded 2 digit address or partition and the message to send. The AD2* will stay fixed on this new address until a new K message is received or the AD2* is reset or a \r or \n character is received.
Example - Send keypad string 1234 to DSC partition 01:
- K011234\r
Example - Send keypad string 12343 from keypad address 19:
- K1912343\r
Special Keys
The specialty keys are identified by ASCII character codes 1 through 8. In order to prevent false positives these must be sent three times in a row.
Code | Description | Ademco | DSC |
---|---|---|---|
\x01\x01\x01 | Special Key #1 | Fire/Prog. | Fire |
\x02\x02\x02 | Special Key #2 | Police/Prog. | Police |
\x03\x03\x03 | Special Key #3 | Medical/AUX/Prog. | Medical/AUX |
\x04\x04\x04 | Special Key #4 | Programmable | Stay |
\x05\x05\x05 | Special Key #5 | N/A | Away |
\x06\x06\x06 | Special Key #6 | N/A | Chime |
\x07\x07\x07 | Special Key #7 | N/A | Reset |
\x08\x08\x08 | Special Key #8 | N/A | Exit |
Device Configuration
The AlarmDecoder configuration can be viewed or modified in one of two ways: prompted or programmatically.
Prompted
If you send ! followed by a carriage return you will be prompted to configure each field. This prompt also includes a basic description of the setting as well as it's current value.
You may hit enter to keep the current value or provide a new one.
Example:
!>Ademco/DSC Mode A/D (A) :> !>Keypad Address (18) :> !WARNING. Do not enable a module if the physical module exists on the system. !Zone Expanders Y/N Max allowed: 02 !>expander module #01 ZN 09-16 (N) :> !>expander module #02 ZN 17-24 (N) :> !>expander module #03 ZN 25-32 (N) :> !>expander module #04 ZN 33-40 (N) :> !>expander module #05 ZN 41-48 (Y) :> !Relay Modules Y/N Max allowed: 04 !>relay module #01 (Y) :> !>relay module #02 (N) :> !>relay module #03 (N) :> !>relay module #04 (N) :> !>Emulate Long Range Radio Y/N: (Y) :> !>Address Filter Mask (ffffffff) :> !>Deduplicate (N) :> !>Config Bits (ff04) :>
Programmatic
You may retrieve all of the current device settings by sending C to the panel followed by a carriage return (\r).
Retrieving settings:
- Send: C\r
- Response: !CONFIG>ADDRESS=18&CONFIGBITS=ff00&LRR=N&EXP=NNNNN&REL=NNNN&MASK=ffffffff&DEDUPLICATE=N
It can also be used to set values:
- Send: CADDRESS=20\r
- Response: !>ADDRESS=20
The same command may be used to set multiple values:
- Send: CADDRESS=20&DEDUPLICATE=Y\r
- Response: !>ADDRESS=20&DEDUPLICATE=Y
Configuration Parameters
Name | Default Value | Valid Values (Regex) | Description |
---|---|---|---|
MODE | A | [A,D]{1} | Decoder panel mode Ademco or DSC. |
ADDRESS | 18 | [0-9]{2} | Keypad address assigned to the AlarmDecoder for Ademco and Partition# for DSC. |
CONFIGBITS | FF04 | [0-9a-f]{4} | Special settings for the device. See CONFIGBITS for more information. |
MASK | FFFFFFFF | [0-9a-f]{8} | Address mask used to filter for keypad alphanumeric messages. |
EXP | NNNNN | [YN]{5} | Emulation of zone expanders 1-5 |
REL | NNNN | [YN]{4} | Emulation of relay expanders 1-4 |
LRR | N | [YN] | Emulation of Long Range Radio expander |
DEDUPLICATE | N | [YN] | If enabled, removes duplicate alphanumeric keypad messages. |
RESET | Y | [YN] | Factory reset settings. |
CONFIGBITS
CONFIGBITS is a setting that's used to enable special functionality on the AlarmDecoder. You can enable these by masking the correct bits.
Mask | Description |
---|---|
0x0001 | Enable reporting of AUI messages. |
0x0002 | Enable reporting of keypress events. |
0x0004 | Disable prompts for L and | commands. |
0x0008 | Enable the prefixing of panel messages with !KPM. |
0x0010 | Disable DSC locking (experimental). |
0x0080 | enable CRC Delivery confirmation for LRR,EXP,REL etc. |
0x0100 | Enable reporting of RFX messages. |
Message Types
There are several types of messages produced by the AlarmDecoder. These include: Keypad, Relay Expander, Zone Expander, RFX, LRR, and AUI.
- All lines starting with ! are informational.
- Lines that start with !> are prompts.
- All other lines are panel data in the form of a Keypad message.
Keypad
Keypad messages are by far the most common message type produced by the AlarmDecoder. These messages also have an optional header that can be enabled in the CONFIGBITS. This setting prefixes all keypad messages with !KPM:.
Format
[00110011000000003A--],010,[f70700000010808c18020000000000],"ARMED ***STAY** ZONE BYPASSED " | |||
Bit field | Numeric code | Raw data | Alphanumeric Keypad Message |
---|---|---|---|
[00110011000000003A--] | 010 | [f70700000010808c18020000000000] | "ARMED ***STAY** ZONE BYPASSED " |
Bit field
The bit field present on the keypad messages is where you're going to get most of the information on your alarm system's current state. These are all represented by a zero or one aside from the one exception. (beep)
Position | Description |
---|---|
1 | Indicates if the panel is READY |
2 | Indicates if the panel is ARMED AWAY |
3 | Indicates if the panel is ARMED HOME |
4 | Indicates if the keypad backlight is on |
5 | Indicates if the keypad is in programming mode |
6 | Number (1-7) indicating how many beeps are associated with the message |
7 | Indicates that a zone has been bypassed |
8 | Indicates if the panel is on AC power |
9 | Indicates if the chime is enabled |
10 | Indicates that an alarm has occurred. This is sticky and will be cleared after a second disarm. |
11 | Indicates that an alarm is currently sounding. This is cleared after the first disarm. |
12 | Indicates that the battery is low |
13 | Indicates that entry delay is off (ARMED INSTANT/MAX) |
14 | Indicates that there is a fire |
15 | Indicates a system issue |
16 | Indicates that the panel is only watching the perimeter (ARMED STAY/NIGHT) |
17 | System specific bits. 4 bits packed into a HEX Nibble [0-9,A-F] |
18 | Ademco or DSC Mode A or D |
19 | Unused |
20 | Unused |
Numeric Code
This number specifies which zone is affected by the message. For example, if this message is for CHECK ZONE 22 then the numeric code would be 022. Most of the time this is zero-padded base10, but there are rare occurrences where this may be base16, such as ECP bus failures.
Raw data
This is the binary data associated with the message. It includes all of the bit field entries that were separated out for you in the first field, as well as the rest of the message for debugging and exploratory purposes.
There is one important piece of data included only in this field: the keypad address mask. The four bytes starting at position 2 (zero-indexed) indicate which keypads this message is intended for.
Inside this mask each bit represents a specific keypad. Each byte represents a group of eight keypad addresses, which the least-significant-bit being the start of the range.
Byte | Addresses |
---|---|
1 | 0-7 |
2 | 8-15 |
3 | 16-23 |
4 | 24-31 |
For example:
- f70700060010808c08020000 - our keypad address mask is 07000600.
Using the above mask example of 07000600 we find that this message was destined for keypads 0, 1, 2, 17 and 18.
There is one special case: system messages will have no address mask bits set and are intended for common keypads or monitoring multiple zones.
For the most part the address mask details only become really important when you're working with a setup that has multiple partitions since the AlarmDecoder will see all messages by default.
Alphanumeric Keypad Message
This section is the data that would be displayed on your keypad's screen.
Zone Expander
If you have one or more zone expanders connected to the alarm panel you will be able to see messages from the expanders as zones are faulted and restored. On DSC panels all zones are expressed as EXP messages.
Examples
Example of zone expander at address 7, channel 1 faulting and then restoring:
!EXP:07,01,01 !EXP:07,01,00
Format
!EXP:07,01,01 | |||
Header | Zone Expander Address | Expander Channel | Data |
---|---|---|---|
!EXP | 07 | 01 | 01 |
Zone Expander Address
This is the address that the zone expander occupies.
Expander Channel
This is the channel generating the message.
Data
00 and 01 indicate that the zone is restored and faulted, respectively.
Relay Expander
If you have one or more relay expanders connected to your alarm panel you will be able to see messages when the relays are opened or closed.
Examples
Examples of a relay expander at address 12, relay #1 closing and then opening:
!REL:12,01,01 !REL:12,01,00
Format
!REL:12,01,01 | |||
Header | Relay Expander Address | Expander Channel | Data |
---|---|---|---|
!REL | 12 | 01 | 01 |
Relay Expander Address
This is the address that the relay expander occupies.
Expander Channel
This is the channel generating the message.
Data
00 and 01 indicate that the relay is opened and closed, respectively.
RFX
If you have an RF receiver attached to your panel you will see messages from any 5800 RF device in range of the receiver, regardless of whether or not the panel was configured to listen to it.
This also functions when the system is ARMED STAY. Normally you won't see fault messages for interior zones when armed this way so you lose visibility of interior motion sensors. One option is to put the interior sensors on a separate partition so you still see the inside zones and the outside sensors are on their own. The other option is to listen to the !RFX messages directly which could then be used to tell your home automation system that the zones are faulted.
Examples
Example of a 5800Micra sensor faulting and restoring:
!RFX:0180036,80 !RFX:0180036,00
Example of a 5804 keyfob pressing the loop #2 button and having a low battery:
!RFX:0307854,22
Format
!RFX:0180036,80 | |||
Header | Serial Number | Data | |
---|---|---|---|
!RFX | 0180036 | 80 |
Serial Number
This is the 7-digit serial number of the device the message originated from.
Data
The data is an 8-bit hex message with several indicators. Please refer to the 5800 SERIES TRANSMITTER INPUT LOOP IDENTIFICATION section of your programming manual for what the loops relate to for your specific device.
Bit | Description |
---|---|
1 | Unknown - Seems that the loop indicators should be ignored if set. |
2 | Low battery indication |
3 | Supervision required indication |
4 | Unknown |
5 | Loop #3 indication |
6 | Loop #2 indication |
7 | Loop #4 indication |
8 | Loop #1 indication |
LRR
If you have a Long Range Radio device attached or have emulation enabled the AlarmDecoder will report LRR messages from the panel to the radio. The format of the data encapsulates the SIA DC-05-1999.09 standard for Contact ID reporting.
Examples
- ARM STAY USER 002 partition 1
- !LRR:002,1,CID_3441,ff
- DAY/NIGHT ALARM ZONE 9 partition 1
- !LRR:009,1,CID_1135,ff
- ALARM CANCEL USER 002 partition 1
- !LRR:002,1,CID_1406,ff
- ARM STAY OPENING user 002 partition 1
- !LRR:002,1,CID_1441,ff
Format
!LRR:012,1,CID_1441,ff | ||||
Header | Event Data | Partition | CID MESSAGE | Report CODE |
---|---|---|---|---|
!LRR | 012 | 1 | CID_1441 | ff |
Event Data
This is either the user number of the person performing the action or the zone that was bypassed.
Partition
The panel partition the event applies to. Partition 0 indicates that it's destined for all partitions.
CID Message
This is CID message for the event. See below for a description and what (if any) programming fields are required for activation. It is prefixed with "CID_" and then 4 digits that are described in section 5.1.2.2 of the SIA DC-05-1999.09 standard.
CID_QXYZ | ||
Header | Event qualifier | Event code |
---|---|---|
CID_ | 1 | 441 |
Header
Static string "CID_"
Event qualifier
1 = New Event or Opening 3 = New Restore or Closing 6 = Previously reported condition still present (Status report)
Event code
(3 Hex digits 0-9,B-F) Event codes are 3 hex digits and are broken down in classes by the first digit.
100 Alarms 200 Supervisory 300 Troubles 400 Open/Close REMOTE ACCESS 500 Bypass/Disables 600 TEST/MISC
For more detail on specific report codes see the list see Appendix C in the SIA DC-05-1999.09 standard.
AUI
AUI messages are generated for "Advanced User Interface" keypads. These include a lot of extra data than what's destined for regular keypads.
Format
!AUI:126600000000656c02456cf5ec01017f0002 | |||
Header | AUI Data | ||
---|---|---|---|
!AUI | 126600000000656c02456cf5ec01017f0002 |
AUI Data
This is a large binary blob that's destined for a graphical panel. This data has not been fully decoded. Please see the AUI page for information on what has been discovered so far.
Keypress Events
Keypress events are generated when keys are pressed on a keypad and can be enabled inside CONFIGBITS.
Format
!KPE:18 | |||
Header | Keypad Address | ||
---|---|---|---|
!KPE | 18 |
Error message report
Error message reports will be sent to the host when the command 'E' is sent to the AD2*. The list will contain 0 if no errors are recorded and a list of errors separated by commas if errors are recorded. Once an error is reported it will be cleared from the history. The errors from left to right are in order of occurrence. As many as 10 errors can be stored before the oldest is removed from the list.
Format
!ERR:4,4,4 | |||
Header | Error list | ||
---|---|---|---|
!ERR | 4,4,4 |
Error Codes
Error number | Description | ||
---|---|---|---|
0 | No issues to report | ||
4 | Keypress send failure |
CRC
The CRC Message container is a wrapper around all of the standard !XXX event messages above with the checksum value at the end. The checksum is a CRC-CCITT-16 with a polynomial of 0x1021 of all of the Event Data bytes. Enable via CONFIGBITS
Format
!CRC:!LRR:000,1,CID_1121,ff,282d | |||
Header | Event Data | CRC | |
---|---|---|---|
!CRC | !LRR:000,1,CID_1121,ff | 282d |
Version Message
This message indicates the serial number of the unit, version, and the firmware capabilities.
Format
!VER:ffffffff,V2.2a.8.2,TX;RX;SM;VZ;RF;ZX;RE;AU;3X;CG;DD;MF;LR;KE;MK;CB;DS;ER | |||
Header | Serial number | Firmware version | Firmware capabilities |
---|---|---|---|
!VER | ffffffff | V2.2a.8.2 | TX;RX;SM;VZ;RF;ZX;RE;AU;3X;CG;DD;MF;LR;KE;MK;CB;DS;ER |
Serial Number
This is the serial number of the device. If unset this defaults to ffffffff.
Firmware Version
This is the revision of the firmware that is currently loaded on the device.
Firmware Capabilities
This field indicates which capabilities are built in to the firmware. See the below table for reference.
Firmware Capabilities | |||
Flag | Description | ||
---|---|---|---|
TX | Ability to transmit to the panel | ||
RX | Ability to receive from the panel | ||
SM | Supports sending multiple keypresses | ||
VZ | Virtual zone expanders | ||
RF | Supports receiving of RF messages from the 5800 series wireless devices (!RFX) | ||
ZX | Supports receiving of messages from zone expanders (!EXP) | ||
RE | Supports receiving of messages from relay (!REL) | ||
AU | AUI support (!AUI) | ||
3X | Special Keys (S1-S4) must be sent 3 times to trigger | ||
CG | Serialized configuration string | ||
DD | Message deduplication | ||
MF | Address mask filter | ||
LR | Long range radio messages (!LRR) deprecated see L2 | ||
L2 | Long range radio messages (!LRR) with CID reporting format | ||
KE | Keypad event messages (!KPM) | ||
MK | Multiple keypad emulation (See 'K' command for more information) | ||
CB | Config bits | ||
DS | DSC support | ||
ER | Error tracking | ||
CR | CRC Wrapper around EXP,LRR and other event type messages |
Device Feedback LED
- Boot flash mode
- During boot the AD2* will rapid flash during the boot loader.
- Operating mode
- The normal operating mode is a steady of approx 2.5 flashes per second.
- Sending to panel mode 3 flashes.
- Error mode
- If an error is recorded the AD2* will flash the error message as steady slow flashes to be counted with a long period of the LED off between flashes. after a few minutes the led will return to normal idle flash mode if no further errors happen.