
<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://www.alarmdecoder.com/wiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://www.alarmdecoder.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=204.10.16.29</id>
		<title>Alarm Decoder Wiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://www.alarmdecoder.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=204.10.16.29"/>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/Special:Contributions/204.10.16.29"/>
		<updated>2026-09-09T02:55:39Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.21.1</generator>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/Protocol</id>
		<title>Protocol</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/Protocol"/>
				<updated>2017-09-19T20:05:40Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: /* CONFIGBITS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:FAQ]]&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Specifications]]&lt;br /&gt;
[[Category:Features]]&lt;br /&gt;
&lt;br /&gt;
=Commands=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Command&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | =&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[#Reboot|Reboot]] the device.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[#Device Configuration|Configure]] the device via prompts.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | C&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Sets or retrieves [[#Device Configuration|configuration parameters]].&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | L&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[#Zone Emulation|Emulate]] virtual zone opens and closes.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | E&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Dump error report and clear error history. [[#Error_message_report|Error report]]&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | V&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Dump the version, serial number and flags used in the firmware.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | K&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send message from specific partition or keypad address. [[#Addressed Message|Addressed Message]]&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | R&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | &amp;lt;b&amp;gt;Host Ack&amp;lt;/b&amp;gt;nowledge the [[#CRC|CRC]] message was valid.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x01\x01\x01&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Special Keys|Special Key]] #1&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x02\x02\x02&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Special Keys|Special Key]] #2&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x03\x03\x03&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Special Keys|Special Key]] #3&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x04\x04\x04&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Special Keys|Special Key]] #4&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x05\x05\x05&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Special Keys|Special Key]] #5&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x06\x06\x06&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Special Keys|Special Key]] #6&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x07\x07\x07&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Special Keys|Special Key]] #7&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x08\x08\x08&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Special Keys|Special Key]] #8&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | a&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | DSC ONLY(deprecated use Special Keys): Arm Away&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | s&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | DSC ONLY(deprecated use Special Keys): Arm Stay&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | c&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | DSC ONLY(deprecated use Special Keys): Toggle Chime&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0123456789*#&amp;lt;&amp;gt;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send key to panel&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Reboot==&lt;br /&gt;
Rebooting the device is as simple as sending &amp;lt;b&amp;gt;=&amp;lt;/b&amp;gt; to it.&lt;br /&gt;
&lt;br /&gt;
During the boot process you can trigger a firmware upload by sending a second &amp;lt;b&amp;gt;=&amp;lt;/b&amp;gt; to the device after the &amp;lt;i&amp;gt;!boot&amp;lt;/i&amp;gt; message is received.  At this point you'll receive a &amp;lt;i&amp;gt;!load&amp;lt;/i&amp;gt; and can begin uploading.&lt;br /&gt;
&lt;br /&gt;
==Zone Emulation==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;b&amp;gt;L&amp;lt;/b&amp;gt; command can be used to open or close 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 or 1.&lt;br /&gt;
&lt;br /&gt;
Example - open zone 12:&lt;br /&gt;
* &amp;lt;b&amp;gt;L121\r&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example - close zone 12:&lt;br /&gt;
* &amp;lt;b&amp;gt;L120\r&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Addressed Message==&lt;br /&gt;
* It is possible to send a message from a specific keypad on Ademco/Vista or to a specific partition on DSC.&lt;br /&gt;
The &amp;lt;b&amp;gt;K&amp;lt;/b&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
Example - Send keypad string 1234 to DSC partition 01:&lt;br /&gt;
* &amp;lt;b&amp;gt;K011234\r&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example - Send keypad string 12343 from keypad address 19:&lt;br /&gt;
* &amp;lt;b&amp;gt;K1912343\r&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Special Keys==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Special Key Codes&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Code&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Ademco&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | DSC&lt;br /&gt;
|-&lt;br /&gt;
| \x01\x01\x01&lt;br /&gt;
| Special Key #1&lt;br /&gt;
| Fire/Prog.&lt;br /&gt;
| Fire&lt;br /&gt;
|-&lt;br /&gt;
| \x02\x02\x02&lt;br /&gt;
| Special Key #2&lt;br /&gt;
| Police/Prog.&lt;br /&gt;
| Police&lt;br /&gt;
|-&lt;br /&gt;
| \x03\x03\x03&lt;br /&gt;
| Special Key #3&lt;br /&gt;
| Medical/AUX/Prog.&lt;br /&gt;
| Medical/AUX&lt;br /&gt;
|-&lt;br /&gt;
| \x04\x04\x04&lt;br /&gt;
| Special Key #4&lt;br /&gt;
| Programmable&lt;br /&gt;
| Stay&lt;br /&gt;
|-&lt;br /&gt;
| \x05\x05\x05&lt;br /&gt;
| Special Key #5&lt;br /&gt;
| N/A&lt;br /&gt;
| Away&lt;br /&gt;
|-&lt;br /&gt;
| \x06\x06\x06&lt;br /&gt;
| Special Key #6&lt;br /&gt;
| N/A&lt;br /&gt;
| Chime&lt;br /&gt;
|-&lt;br /&gt;
| \x07\x07\x07&lt;br /&gt;
| Special Key #7&lt;br /&gt;
| N/A&lt;br /&gt;
| Reset&lt;br /&gt;
|-&lt;br /&gt;
| \x08\x08\x08&lt;br /&gt;
| Special Key #8&lt;br /&gt;
| N/A&lt;br /&gt;
| Exit&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Device Configuration=&lt;br /&gt;
The AlarmDecoder configuration can be viewed or modified in one of two ways: [[#Prompted|prompted]] or [[#Programatic|programmatically]].&lt;br /&gt;
&lt;br /&gt;
==Prompted==&lt;br /&gt;
If you send &amp;lt;b&amp;gt;!&amp;lt;/b&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;You may hit enter to keep the current value or provide a new one.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!&amp;gt;Ademco/DSC  Mode A/D  (A) :&amp;gt;&lt;br /&gt;
!&amp;gt;Keypad Address       (18) :&amp;gt;&lt;br /&gt;
!WARNING. Do not enable a module if the physical module exists on the system.&lt;br /&gt;
!Zone Expanders Y/N Max allowed: 02&lt;br /&gt;
!&amp;gt;expander module #01 ZN 09-16 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #02 ZN 17-24 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #03 ZN 25-32 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #04 ZN 33-40 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #05 ZN 41-48 (Y) :&amp;gt;&lt;br /&gt;
!Relay Modules Y/N Max allowed: 04&lt;br /&gt;
!&amp;gt;relay module #01 (Y) :&amp;gt;&lt;br /&gt;
!&amp;gt;relay module #02 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;relay module #03 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;relay module #04 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;Emulate Long Range Radio Y/N: (Y) :&amp;gt;&lt;br /&gt;
!&amp;gt;Address Filter Mask  (ffffffff) :&amp;gt;&lt;br /&gt;
!&amp;gt;Deduplicate          (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;Config Bits        (ff04) :&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Programmatic==&lt;br /&gt;
You may retrieve all of the current device settings by sending &amp;lt;b&amp;gt;C&amp;lt;/b&amp;gt; to the panel followed by a carriage return (\r).&lt;br /&gt;
&lt;br /&gt;
Retrieving settings:&lt;br /&gt;
* Send: &amp;lt;b&amp;gt;C\r&amp;lt;/b&amp;gt;&lt;br /&gt;
* Response: &amp;lt;b&amp;gt;!CONFIG&amp;gt;ADDRESS=18&amp;amp;CONFIGBITS=ff00&amp;amp;LRR=N&amp;amp;EXP=NNNNN&amp;amp;REL=NNNN&amp;amp;MASK=ffffffff&amp;amp;DEDUPLICATE=N&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It can also be used to set values:&lt;br /&gt;
* Send: &amp;lt;b&amp;gt;CADDRESS=20\r&amp;lt;/b&amp;gt;&lt;br /&gt;
* Response: &amp;lt;b&amp;gt;!&amp;gt;ADDRESS=20&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The same command may be used to set multiple values:&lt;br /&gt;
* Send: &amp;lt;b&amp;gt;CADDRESS=20&amp;amp;DEDUPLICATE=Y\r&amp;lt;/b&amp;gt;&lt;br /&gt;
* Response: &amp;lt;b&amp;gt;!&amp;gt;ADDRESS=20&amp;amp;DEDUPLICATE=Y&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Configuration Parameters===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Default Value&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Valid Values (Regex)&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ADDRESS&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 18&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [0-9]{2}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Keypad address assigned to the AlarmDecoder.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | CONFIGBITS&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | FF00&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [0-9a-f]{4}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Special settings for the device.  See [[#CONFIGBITS|CONFIGBITS]] for more information.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | MASK&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | FFFFFFFF&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [0-9a-f]{8}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Address mask used to filter for keypad alphanumeric messages.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | EXP&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NNNNN&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]{5}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Emulation of zone expanders 1-5&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | REL&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NNNN&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]{4}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Emulation of relay expanders 1-4&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | LRR&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | N&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Emulation of Long Range Radio expander&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | DEDUPLICATE&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | N&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | If enabled, removes duplicate alphanumeric keypad messages.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====CONFIGBITS====&lt;br /&gt;
CONFIGBITS is a setting that's used to enable special functionality on the AlarmDecoder.  You can enable these by masking the correct bits.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ CONFIGBITS Definition&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Mask&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0001&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable reporting of [[#AUI|AUI]] messages.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0002&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable reporting of [[#Keypress Events|keypress events]].&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0004&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Disable prompts for &amp;lt;b&amp;gt;L&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;|&amp;lt;/b&amp;gt; commands.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0008&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable the prefixing of panel messages with !KMP.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0010&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Disable DSC locking (experimental).&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0080&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | enable CRC Delivery confirmation for LRR,EXP,REL etc.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0100&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable reporting of [[#RFX|RFX]] messages.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Message Types=&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
* All lines starting with &amp;lt;b&amp;gt;!&amp;lt;/b&amp;gt; are informational.&lt;br /&gt;
* Lines that start with &amp;lt;b&amp;gt;!&amp;gt;&amp;lt;/b&amp;gt; are prompts.&lt;br /&gt;
* All other lines are panel data in the form of a [[#Keypad|Keypad message]].&lt;br /&gt;
&lt;br /&gt;
==Keypad==&lt;br /&gt;
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 &amp;lt;b&amp;gt;!KPM:&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Keypad Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;[00110011000000003A--]&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;010&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;[f70700000010808c18020000000000]&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;&amp;quot;ARMED ***STAY** ZONE BYPASSED &amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;160px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Bit field&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Numeric code&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;200px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Raw data&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;220px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Alphanumeric Keypad Message&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [00110011000000003A--]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 010&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [f70700000010808c18020000000000]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | &amp;quot;ARMED ***STAY** ZONE BYPASSED &amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;Bit field&amp;lt;/span&amp;gt;====&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Position&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Indicates if the panel is READY&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Indicates if the panel is ARMED AWAY&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Indicates if the panel is ARMED HOME&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| Indicates if the keypad backlight is on&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Indicates if the keypad is in programming mode&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Number (1-7) indicating how many beeps are associated with the message&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| Indicates that a zone has been bypassed&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| Indicates if the panel is on AC power&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| Indicates if the chime is enabled&lt;br /&gt;
|-&lt;br /&gt;
| 10 &lt;br /&gt;
| Indicates that an alarm has occurred.  This is sticky and will be cleared after a second disarm.&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| Indicates that an alarm is currently sounding.  This is cleared after the first disarm.&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| Indicates that the battery is low&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| Indicates that entry delay is off (ARMED INSTANT/MAX)&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| Indicates that there is a fire&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| Indicates a system issue&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| Indicates that the panel is only watching the perimeter (ARMED STAY/NIGHT)&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| System specific bits. 4 bits packed into a HEX Nibble [0-9,A-F]&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| Ademco or DSC Mode A or D&lt;br /&gt;
|-&lt;br /&gt;
| 19&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
| 20&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Numeric Code&amp;lt;/span&amp;gt;====&lt;br /&gt;
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 &amp;lt;b&amp;gt;022&amp;lt;/b&amp;gt;.  Most of the time this is zero-padded base10, but there are rare occurrences where this may be base16, such as ECP bus failures.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Raw data&amp;lt;/span&amp;gt;====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Byte&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Addresses&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0-7&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 8-15&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 16-23&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 24-31&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
* f7&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;07000600&amp;lt;/span&amp;gt;10808c08020000 - our keypad address mask is &amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;07000600&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Using the above mask example of &amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;07000600&amp;lt;/span&amp;gt; we find that this message was destined for keypads 0, 1, 2, 17 and 18.&lt;br /&gt;
&lt;br /&gt;
There is one special case: system messages will have no address mask bits set and are intended for common keypads or monitoring multiple zones.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Alphanumeric Keypad Message&amp;lt;/span&amp;gt;====&lt;br /&gt;
This section is the data that would be displayed on your keypad's screen.&lt;br /&gt;
&lt;br /&gt;
==Zone Expander==&lt;br /&gt;
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.&lt;br /&gt;
===Examples===&lt;br /&gt;
Example of zone expander at address 7, channel 1 faulting and then restoring:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!EXP:07,01,01&lt;br /&gt;
!EXP:07,01,00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !EXP Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!EXP&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;07&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;160px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Zone Expander Address&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;140px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Expander Channel&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !EXP&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 07&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Zone Expander Address&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the address that the zone expander occupies.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Expander Channel&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the channel generating the message.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
00 and 01 indicate that the zone is restored and faulted, respectively.&lt;br /&gt;
&lt;br /&gt;
==Relay Expander==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
Examples of a relay expander at address 12, relay #1 closing and then opening:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!REL:12,01,01&lt;br /&gt;
!REL:12,01,00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !REL Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!REL&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;12&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;160px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Relay Expander Address&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;140px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Expander Channel&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !REL&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 12&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Relay Expander Address&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the address that the relay expander occupies.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Expander Channel&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the channel generating the message.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
00 and 01 indicate that the relay is opened and closed, respectively.&lt;br /&gt;
&lt;br /&gt;
==RFX==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
Example of a 5800Micra sensor faulting and restoring:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!RFX:0180036,80&lt;br /&gt;
!RFX:0180036,00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example of a 5804 keyfob pressing the loop #2 button and having a low battery:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!RFX:0307854,22&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !RFX Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!RFX&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;0180036&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;80&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Serial Number&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !RFX&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0180036&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 80&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Serial Number&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the 7-digit serial number of the device the message originated from.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ RFX Data Format&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Bit&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| Unknown - Seems that the loop indicators should be ignored if set.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 2&lt;br /&gt;
| Low battery indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 3&lt;br /&gt;
| Supervision required indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 5&lt;br /&gt;
| Loop #3 indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 6&lt;br /&gt;
| Loop #2 indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 7&lt;br /&gt;
| Loop #4 indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 8&lt;br /&gt;
| Loop #1 indication&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==LRR==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
This example shows User 12 arming and disarming the system:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!LRR:012,1,ARM_STAY&lt;br /&gt;
!LRR:012,1,ARM_AWAY&lt;br /&gt;
!LRR:012,1,OPEN&lt;br /&gt;
!LRR:003,1,BYPASS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !LRR Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!LRR&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;012&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;ARM_STAY&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Event Data&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Partition&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Event Type&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !LRR&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 012&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | ARM_STAY&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Event Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is either the user number of the person performing the action or the zone that was bypassed.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Partition&amp;lt;/span&amp;gt;====&lt;br /&gt;
The panel partition the event applies to.  Partition 0 indicates that it's destined for all partitions.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Event Type&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the type of the LRR event.  See below for a description and what (if any) programming fields are required for activation.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ LRR Event Types&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Program Fields&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_EXIT_ERROR&lt;br /&gt;
| *59&lt;br /&gt;
| Indicates an error when a zone is not closed during arming&lt;br /&gt;
|-&lt;br /&gt;
| TROUBLE&lt;br /&gt;
| *60&lt;br /&gt;
| Indicates that a zone is reporting a tamper or failure&lt;br /&gt;
|-&lt;br /&gt;
| BYPASS&lt;br /&gt;
| *61&lt;br /&gt;
| Indicates that a zone has been bypassed&lt;br /&gt;
|-&lt;br /&gt;
| ACLOSS&lt;br /&gt;
| *62&lt;br /&gt;
| Indicates that AC power was lost&lt;br /&gt;
|-&lt;br /&gt;
| LOWBAT&lt;br /&gt;
| *63&lt;br /&gt;
| Low battery indication&lt;br /&gt;
|-&lt;br /&gt;
| TEST_CALL&lt;br /&gt;
| *64&lt;br /&gt;
| Indicates a phone test when in testing mode&lt;br /&gt;
|-&lt;br /&gt;
| OPEN&lt;br /&gt;
| *65, requires *66&lt;br /&gt;
| Indicates that the alarm is disarmed&lt;br /&gt;
|-&lt;br /&gt;
| ARM_AWAY&lt;br /&gt;
| *66&lt;br /&gt;
| Indicates that the system was armed AWAY&lt;br /&gt;
|-&lt;br /&gt;
| ARM_STAY&lt;br /&gt;
| *66&lt;br /&gt;
| Indicates that the system was armed STAY&lt;br /&gt;
|-&lt;br /&gt;
| RFLOWBAT&lt;br /&gt;
| *67&lt;br /&gt;
| Low battery indication for the RF transmitter&lt;br /&gt;
|-&lt;br /&gt;
| CANCEL&lt;br /&gt;
| *68&lt;br /&gt;
| Indicates that the alarm was canceled after second disarm&lt;br /&gt;
|-&lt;br /&gt;
| RESTORE&lt;br /&gt;
| *70&lt;br /&gt;
| Indicates that the alarm was restored&lt;br /&gt;
|-&lt;br /&gt;
| TROUBLE_RESTORE&lt;br /&gt;
| *71&lt;br /&gt;
| Indicates that the trouble event was restored&lt;br /&gt;
|-&lt;br /&gt;
| BYPASS_RESTORE&lt;br /&gt;
| *72&lt;br /&gt;
| Indicates that the bypassed zonew as restored&lt;br /&gt;
|-&lt;br /&gt;
| AC_RESTORE&lt;br /&gt;
| *73&lt;br /&gt;
| Indicates that AC power was restored&lt;br /&gt;
|-&lt;br /&gt;
| LOWBAT_RESTORE&lt;br /&gt;
| *74&lt;br /&gt;
| Indicates that the low battery has been restored&lt;br /&gt;
|-&lt;br /&gt;
| RFLOWBAT_RESTORE&lt;br /&gt;
| *75&lt;br /&gt;
| Indicates that the low battery on the RF transmitter has been restored.&lt;br /&gt;
|-&lt;br /&gt;
| TEST_RESTORE&lt;br /&gt;
| *76&lt;br /&gt;
| Indicates that a zone was restored in testing mode&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_PANIC&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there is a panic&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_FIRE&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there is a fire&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_ENTRY&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there was an entry alarm&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_AUX&lt;br /&gt;
| &lt;br /&gt;
| Indicates that an auxiliary alarm type was triggered&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_AUDIBLE&lt;br /&gt;
| &lt;br /&gt;
| Indicates that an audible alarm is in progress&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_SILENT&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there was a silent alarm&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_PERIMETER&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there was a perimeter alarm&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==AUI==&lt;br /&gt;
AUI messages are generated for &amp;quot;Advanced User Interface&amp;quot; keypads.  These include a lot of extra data than what's destined for regular keypads.&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !AUI Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!AUI&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;126600000000656c02456cf5ec01017f0002&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | AUI Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !AUI&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 126600000000656c02456cf5ec01017f0002&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;AUI Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Keypress Events==&lt;br /&gt;
Keypress events are generated when keys are pressed on a keypad and can be enabled inside [[#CONFIGBITS|CONFIGBITS]].&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !KPE Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!KPE&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;18&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Keypad Address&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !KPE&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 18&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Error message report==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !ERR Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!ERR&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;4,4,4&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Error list&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !ERR&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 4,4,4&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Error Codes===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Error Codes&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; | Error number&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | No issues to report&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 4&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Keypress send failure&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==CRC==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !CRC Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!CRC&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;!LRR:000,1,CID_1121,ff&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;282d&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Event Data&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | CRC&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !CRC&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !LRR:000,1,CID_1121,ff&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 282d&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Version Message==&lt;br /&gt;
This message indicates the serial number of the unit, version, and the firmware capabilities.&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !VER Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!VER&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;ffffffff&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;V2.2a.8.2&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;TX;RX;SM;VZ;RF;ZX;RE;AU;3X;CG;DD;MF;LR;KE;MK;CB;DS;ER&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Serial number&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Firmware version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Firmware capabilities&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !VER&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | ffffffff&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | V2.2a.8.2&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | TX;RX;SM;VZ;RF;ZX;RE;AU;3X;CG;DD;MF;LR;KE;MK;CB;DS;ER&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Serial Number&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the serial number of the device.  If unset this defaults to ffffffff.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Firmware Version&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the revision of the firmware that is currently loaded on the device.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Firmware Capabilities&amp;lt;/span&amp;gt;====&lt;br /&gt;
This field indicates which capabilities are built in to the firmware.  See the below table for reference.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !VER Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | Firmware Capabilities&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; | Flag&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | TX&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Ability to transmit to the panel&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | RX&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Ability to receive from the panel&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | SM&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Supports sending multiple keypresses&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | VZ&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Virtual zone expanders&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | RF&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Supports receiving of RF messages from the 5800 series wireless devices (!RFX)&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | ZX&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Supports receiving of messages from zone expanders (!EXP)&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | RE&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Supports receiving of messages from relay (!REL)&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | AU&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | AUI support (!AUI)&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 3X&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Special Keys (S1-S4) must be sent 3 times to trigger&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | CG&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Serialized configuration string&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | DD&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Message deduplication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | MF&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Address mask filter&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | LR&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Long range radio messages (!LRR) deprecated see L2&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | L2&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Long range radio messages (!LRR) with CID reporting format&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | KE&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Keypad event messages (!KPM)&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | MK&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Multiple keypad emulation (See 'K' command for more information)&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | CB&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Config bits&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | DS&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | DSC support&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | ER&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Error tracking&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | CR&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | CRC Wrapper around EXP,LRR and other event type messages&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Device Feedback LED=&lt;br /&gt;
* Boot flash mode&lt;br /&gt;
** During boot the AD2* will rapid flash during the boot loader.&lt;br /&gt;
* Operating mode&lt;br /&gt;
** The normal operating mode is a steady of approx 2.5 flashes per second.&lt;br /&gt;
** Sending to panel mode 3 flashes.&lt;br /&gt;
* Error mode&lt;br /&gt;
** 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.&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/AlarmDecoder_Modem</id>
		<title>AlarmDecoder Modem</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/AlarmDecoder_Modem"/>
				<updated>2016-02-04T21:14:21Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: /* Is your panel supported? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
&lt;br /&gt;
Programming your alarm system tends to be a tedious endeavour so our goal with the AlarmDecoder Modem is to make it less intimidating and less time consuming by letting the Compass&amp;amp;reg; software do most of the work without having to deal with ancient modems.&lt;br /&gt;
&lt;br /&gt;
Please read through the FAQ to determine if your panel is compatible.&lt;br /&gt;
&lt;br /&gt;
=FAQ=&lt;br /&gt;
&lt;br /&gt;
==Is your panel supported?==&lt;br /&gt;
&lt;br /&gt;
[[File:Panel_model.png|thumb|Vista 20P]]&lt;br /&gt;
[[File:Panel_revision.png|thumb|Revision 7.0]]&lt;br /&gt;
&lt;br /&gt;
The first thing you need to check is the model of the panel.  If you don't know the model off-hand it's usually found on the panel circuit board, either as a sticker or printed directly on the board, and is normally a part of a larger identifier.&lt;br /&gt;
&lt;br /&gt;
Next, you need to confirm that the panel software revision meets the level required to support internet downloading.  You can determine the revision of your panel by again checking the panel circuit board for a chip &amp;amp; socket with a sticker on it.&lt;br /&gt;
&lt;br /&gt;
See the pictures to the right for examples.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Panel Compatibility&lt;br /&gt;
! Manufacturer&lt;br /&gt;
! Model&lt;br /&gt;
! Revision&lt;br /&gt;
|-&lt;br /&gt;
| Vista || 10P || style=&amp;quot;text-align:center;&amp;quot; | 2.0+&lt;br /&gt;
|-&lt;br /&gt;
| Vista || 10PSIA || style=&amp;quot;text-align:center;&amp;quot; | 3.0+&lt;br /&gt;
|-&lt;br /&gt;
| Vista || 15P || style=&amp;quot;text-align:center;&amp;quot; | 5.2+&lt;br /&gt;
|-&lt;br /&gt;
| Vista || 20P / 20PSIA || style=&amp;quot;text-align:center;&amp;quot; | 5.2+&lt;br /&gt;
|-&lt;br /&gt;
| Vista || 21IP || style=&amp;quot;text-align:center;&amp;quot; | -&lt;br /&gt;
|-&lt;br /&gt;
| First Alert || FA130CP || style=&amp;quot;text-align:center;&amp;quot; | 2.0+&lt;br /&gt;
|-&lt;br /&gt;
| First Alert || FA130CPSIA || style=&amp;quot;text-align:center;&amp;quot; | 3.0+&lt;br /&gt;
|-&lt;br /&gt;
| First Alert || FA148CP / FA148CPSIA || style=&amp;quot;text-align:center;&amp;quot; | 5.2+&lt;br /&gt;
|-&lt;br /&gt;
| First Alert || FA168CPS / FA168CPSSIA || style=&amp;quot;text-align:center;&amp;quot; | 5.2+&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Do I need to know my installer code?==&lt;br /&gt;
&lt;br /&gt;
While it's possible you could make things work without knowing the installer code for your panel, there are a number of things that may need to be changed in the panel programming.&lt;br /&gt;
&lt;br /&gt;
If your panel is currently or was previously monitored you'll likely need to either obtain the CSID and Account number for your panel or reset the dialer settings to factory default.  This can typically be done by executing *96 while in programming mode.&lt;br /&gt;
&lt;br /&gt;
==Can I use this while monitored by an alarm company?==&lt;br /&gt;
&lt;br /&gt;
This is technically possible, but you'll need to obtain the proper CSID and Account number for your panel.&lt;br /&gt;
&lt;br /&gt;
Please note that if you reset your dialer settings it will keep your alarm company from monitoring your home.&lt;br /&gt;
&lt;br /&gt;
==Where can I get Compass&amp;amp;reg;?==&lt;br /&gt;
&lt;br /&gt;
Compass&amp;amp;reg; is available on the internet, though we cannot provide any direct links.&lt;br /&gt;
&lt;br /&gt;
=Setup &amp;amp; Configuration=&lt;br /&gt;
&lt;br /&gt;
# Download the AlarmDecoder Modem software using the link provided in your order email or from [[https://www.alarmdecoder.com/modem.php Here]].&lt;br /&gt;
# Run the installer.  This will install the modem and any necessary prerequisites.&lt;br /&gt;
#* Enter your product key when prompted.&lt;br /&gt;
# Make sure that all keypad applications, terminal clients or other software accessing the AlarmDecoder is closed.  One connection is allowed at a time unless you're using the network interface.&lt;br /&gt;
# Configure the AlarmDecoder Modem&lt;br /&gt;
## Run the '''AlarmDecoder Modem Setup''' from your Start Menu.&lt;br /&gt;
### Choose your AlarmDecoder Modem COM port from the first dropdown box.&lt;br /&gt;
###* You should make a note of this for later.&lt;br /&gt;
### Select USB, Serial or Network to indicate the type and location of your AlarmDecoder device.&lt;br /&gt;
###* If USB or Serial: Select the correct AlarmDecoder COM port.&lt;br /&gt;
###* If Network: Fill in the name or IP address of the computer (or AD2PI) that's running the ser2sock service.&lt;br /&gt;
###** Note: This service is preinstalled on our pre-configured Raspbian disk images.&lt;br /&gt;
### Click ''Save''&lt;br /&gt;
# Configure Compass&amp;amp;reg;&lt;br /&gt;
## Create a new modem&lt;br /&gt;
##* Compass&amp;amp;reg; 1.x:&lt;br /&gt;
##*# Select the AlarmDecoder Modem COM port (from the first dropdown) as your COM port.&lt;br /&gt;
##* Compass&amp;amp;reg; 2.x:&lt;br /&gt;
##*# Click Configure COM ports&lt;br /&gt;
##*# Choose your AlarmDecoder Modem COM port from the list and click ''Add''.&lt;br /&gt;
##*# Close the window and select the port in the list.&lt;br /&gt;
## Configure the modem&lt;br /&gt;
##* Compass&amp;amp;reg; 1.x:&lt;br /&gt;
##*# Select ''Ademco'' for the Company&lt;br /&gt;
##*# Select ''Accura 336'' as your modem type.&lt;br /&gt;
##* Compass&amp;amp;reg; 2.x:&lt;br /&gt;
##*# Select ''Ademco/First Alert'' for the Company.&lt;br /&gt;
##*# Select ''Ademco CIA 2400'' as your modem type.&lt;br /&gt;
## Open (or create) a Customer&lt;br /&gt;
## Open the Communications screen&lt;br /&gt;
## Test your modem connection&lt;br /&gt;
### Set the panel phone number to whatever you prefer.  It is required but ignored.&lt;br /&gt;
### Uncheck the ''Answering Machine Defeat'' checkbox.&lt;br /&gt;
### Select the proper CSID setting for your install.&lt;br /&gt;
###* ''First Time Communication'': Select this if your panel has a default CSID.&lt;br /&gt;
###** ''Acct # in Panel'': Select this option if the Account number has been programmed on your panel. The Account number in Compass&amp;amp;reg; much match.&lt;br /&gt;
### Click ''Connect''&lt;br /&gt;
&lt;br /&gt;
=Using The Modem=&lt;br /&gt;
&lt;br /&gt;
Using Compass&amp;amp;reg; is beyond the scope of this document, but one thing that should be noted is the definition of '''UPLOAD''' and '''DOWNLOAD'''.&lt;br /&gt;
&lt;br /&gt;
These are opposite from traditional logic since they are defined as if from Compass&amp;amp;reg;' point of view at a alarm company.  '''UPLOAD''' retrieves the configuration from your panel and puts it into Compass&amp;amp;reg;.  '''DOWNLOAD''' does the opposite and writes the configuration to your panel.&lt;br /&gt;
&lt;br /&gt;
=Troubleshooting=&lt;br /&gt;
&lt;br /&gt;
==Connection to panel failed==&lt;br /&gt;
&lt;br /&gt;
There are a few things that can cause the connection to the panel to fail.  The following issues should be checked in the order they're presented, though the incorrect CSID is probably the most common issue.&lt;br /&gt;
&lt;br /&gt;
===AlarmDecoder Firmware Revision===&lt;br /&gt;
&lt;br /&gt;
This features requires version 2.2a.8.2+ on your AlarmDecoder.  You can download that from [http://www.alarmdecoder.com/wiki/index.php/Firmware here].&lt;br /&gt;
&lt;br /&gt;
===Panel too old===&lt;br /&gt;
&lt;br /&gt;
Check the revision of your panel by following the instructions [[#Is_your_panel_supported?|here]].&lt;br /&gt;
&lt;br /&gt;
It's a fairly simple process to swap the chip on your panel if the revision doesn't meet the minimum requirement.  You can find replacement chips with newer firmware for a reasonable price on Ebay.  After you get the chip it's as simple as popping the old one out and putting the new one in.  No reprogramming should be required.&lt;br /&gt;
&lt;br /&gt;
===Incorrect CSID===&lt;br /&gt;
&lt;br /&gt;
The CSID (Central Station ID) is the identifier that alarm companies use to authenticate with your panel.  There are two different states that this can be in:&lt;br /&gt;
&lt;br /&gt;
Factory state - default CSID:&lt;br /&gt;
&lt;br /&gt;
In a factory state the CSID is uninitialized and the panel can be connected to by using the First Time Communication option with the default CSID.&lt;br /&gt;
&lt;br /&gt;
CSID set:&lt;br /&gt;
&lt;br /&gt;
If your CSID has been changed by an alarm company then Compass&amp;amp;reg; cannot access your panel unless it's been specified correctly inside Compass&amp;amp;reg;.  You'll either need to obtain that ID from them or reset the dialer settings.  The dialer settings may be reset by using *96 in programming mode typically, but please consult your programming manual before doing so.&lt;br /&gt;
&lt;br /&gt;
Warning: If your alarm system is currently monitored you should note that changing your dialer settings (with *96 or otherwise) will potentially keep your alarm company from doing their job.&lt;br /&gt;
&lt;br /&gt;
==No COM port available in the AlarmDecoder Configuration tool==&lt;br /&gt;
&lt;br /&gt;
Please email us at [mailto:alarmdecoder@support.nutech.com alarmdecoder@support.nutech.com] and we'll help you figure out what's going on.&lt;br /&gt;
&lt;br /&gt;
=Getting Help=&lt;br /&gt;
&lt;br /&gt;
If you have issues with the software please feel free to email us at [mailto:alarmdecoder@support.nutech.com alarmdecoder@support.nutech.com] or post in our [http://www.alarmdecoder.com/forums/index.php forums].&lt;br /&gt;
&lt;br /&gt;
Please include the following details with your request:&lt;br /&gt;
* Operating system&lt;br /&gt;
* Panel model&lt;br /&gt;
* Panel revision&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:88%&amp;quot;&amp;gt;&amp;amp;bull; All trademarks are the property of their respective owners.&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/AlarmDecoder_Modem</id>
		<title>AlarmDecoder Modem</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/AlarmDecoder_Modem"/>
				<updated>2016-01-18T20:15:33Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: /* Setup &amp;amp; Configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
&lt;br /&gt;
Programming your alarm system tends to be a tedious endeavour so our goal with the AlarmDecoder Modem is to make it less intimidating and less time consuming by letting the Compass&amp;amp;reg; software do most of the work without having to deal with ancient modems.&lt;br /&gt;
&lt;br /&gt;
Please read through the FAQ to determine if your panel is compatible.&lt;br /&gt;
&lt;br /&gt;
=FAQ=&lt;br /&gt;
&lt;br /&gt;
==Is your panel supported?==&lt;br /&gt;
&lt;br /&gt;
[[File:Panel_model.png|thumb|Vista 20P]]&lt;br /&gt;
[[File:Panel_revision.png|thumb|Revision 7.0]]&lt;br /&gt;
&lt;br /&gt;
The first thing you need to check is the model of the panel.  If you don't know the model off-hand it's usually found on the panel circuit board, either as a sticker or printed directly on the board, and is normally a part of a larger identifier.&lt;br /&gt;
&lt;br /&gt;
Next, you need to confirm that the panel software revision meets the level required to support internet downloading.  You can determine the revision of your panel by again checking the panel circuit board for a chip &amp;amp; socket with a sticker on it.&lt;br /&gt;
&lt;br /&gt;
See the pictures to the right for examples.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Panel Compatibility&lt;br /&gt;
! Manufacturer&lt;br /&gt;
! Model&lt;br /&gt;
! Revision&lt;br /&gt;
|-&lt;br /&gt;
| Vista || 10P || style=&amp;quot;text-align:center;&amp;quot; | 2.0+&lt;br /&gt;
|-&lt;br /&gt;
| Vista || 10PSIA || style=&amp;quot;text-align:center;&amp;quot; | 3.0+&lt;br /&gt;
|-&lt;br /&gt;
| Vista || 15P || style=&amp;quot;text-align:center;&amp;quot; | 5.2+&lt;br /&gt;
|-&lt;br /&gt;
| Vista || 20P / 20PSIA || style=&amp;quot;text-align:center;&amp;quot; | 5.2+&lt;br /&gt;
|-&lt;br /&gt;
| First Alert || FA130CP || style=&amp;quot;text-align:center;&amp;quot; | 2.0+&lt;br /&gt;
|-&lt;br /&gt;
| First Alert || FA130CPSIA || style=&amp;quot;text-align:center;&amp;quot; | 3.0+&lt;br /&gt;
|-&lt;br /&gt;
| First Alert || FA148CP / FA148CPSIA || style=&amp;quot;text-align:center;&amp;quot; | 5.2+&lt;br /&gt;
|-&lt;br /&gt;
| First Alert || FA168CPS / FA168CPSSIA || style=&amp;quot;text-align:center;&amp;quot; | 5.2+&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Do I need to know my installer code?==&lt;br /&gt;
&lt;br /&gt;
While it's possible you could make things work without knowing the installer code for your panel, there are a number of things that may need to be changed in the panel programming.&lt;br /&gt;
&lt;br /&gt;
If your panel is currently or was previously monitored you'll likely need to either obtain the CSID and Account number for your panel or reset the dialer settings to factory default.  This can typically be done by executing *96 while in programming mode.&lt;br /&gt;
&lt;br /&gt;
==Can I use this while monitored by an alarm company?==&lt;br /&gt;
&lt;br /&gt;
This is technically possible, but you'll need to obtain the proper CSID and Account number for your panel.&lt;br /&gt;
&lt;br /&gt;
Please note that if you reset your dialer settings it will keep your alarm company from monitoring your home.&lt;br /&gt;
&lt;br /&gt;
==Where can I get Compass&amp;amp;reg;?==&lt;br /&gt;
&lt;br /&gt;
Compass&amp;amp;reg; is available on the internet, though we cannot provide any direct links.&lt;br /&gt;
&lt;br /&gt;
=Setup &amp;amp; Configuration=&lt;br /&gt;
&lt;br /&gt;
# Download the AlarmDecoder Modem software using the link provided in your order email.&lt;br /&gt;
# Run the installer.  This will install the modem and any necessary prerequisites.&lt;br /&gt;
#* Enter your product key when prompted.&lt;br /&gt;
# Make sure that all keypad applications, terminal clients or other software accessing the AlarmDecoder is closed.  One connection is allowed at a time unless you're using the network interface.&lt;br /&gt;
# Configure the AlarmDecoder Modem&lt;br /&gt;
## Run the '''AlarmDecoder Modem Setup''' from your Start Menu.&lt;br /&gt;
### Choose your AlarmDecoder Modem COM port from the first dropdown box.&lt;br /&gt;
###* You should make a note of this for later.&lt;br /&gt;
### Select USB, Serial or Network to indicate the type and location of your AlarmDecoder device.&lt;br /&gt;
###* If USB or Serial: Select the correct AlarmDecoder COM port.&lt;br /&gt;
###* If Network: Fill in the name or IP address of the computer (or AD2PI) that's running the ser2sock service.&lt;br /&gt;
###** Note: This service is preinstalled on our pre-configured Raspbian disk images.&lt;br /&gt;
### Click ''Save''&lt;br /&gt;
# Configure Compass&amp;amp;reg;&lt;br /&gt;
## Create a new modem&lt;br /&gt;
##* Compass&amp;amp;reg; 1.x:&lt;br /&gt;
##*# Select the AlarmDecoder Modem COM port (from the first dropdown) as your COM port.&lt;br /&gt;
##* Compass&amp;amp;reg; 2.x:&lt;br /&gt;
##*# Click Configure COM ports&lt;br /&gt;
##*# Choose your AlarmDecoder Modem COM port from the list and click ''Add''.&lt;br /&gt;
##*# Close the window and select the port in the list.&lt;br /&gt;
## Configure the modem&lt;br /&gt;
##* Compass&amp;amp;reg; 1.x:&lt;br /&gt;
##*# Select ''Ademco'' for the Company&lt;br /&gt;
##*# Select ''Accura 336'' as your modem type.&lt;br /&gt;
##* Compass&amp;amp;reg; 2.x:&lt;br /&gt;
##*# Select ''Ademco/First Alert'' for the Company.&lt;br /&gt;
##*# Select ''Ademco CIA 2400'' as your modem type.&lt;br /&gt;
## Open (or create) a Customer&lt;br /&gt;
## Open the Communications screen&lt;br /&gt;
## Test your modem connection&lt;br /&gt;
### Set the panel phone number to whatever you prefer.  It is required but ignored.&lt;br /&gt;
### Uncheck the ''Answering Machine Defeat'' checkbox.&lt;br /&gt;
### Select the proper CSID setting for your install.&lt;br /&gt;
###* ''First Time Communication'': Select this if your panel has a default CSID.&lt;br /&gt;
###** ''Acct # in Panel'': Select this option if the Account number has been programmed on your panel. The Account number in Compass&amp;amp;reg; much match.&lt;br /&gt;
### Click ''Connect''&lt;br /&gt;
&lt;br /&gt;
=Using The Modem=&lt;br /&gt;
&lt;br /&gt;
Using Compass&amp;amp;reg; is beyond the scope of this document, but one thing that should be noted is the definition of '''UPLOAD''' and '''DOWNLOAD'''.&lt;br /&gt;
&lt;br /&gt;
These are opposite from traditional logic since they are defined as if from Compass&amp;amp;reg;' point of view at a alarm company.  '''UPLOAD''' retrieves the configuration from your panel and puts it into Compass&amp;amp;reg;.  '''DOWNLOAD''' does the opposite and writes the configuration to your panel.&lt;br /&gt;
&lt;br /&gt;
=Troubleshooting=&lt;br /&gt;
&lt;br /&gt;
==Connection to panel failed==&lt;br /&gt;
&lt;br /&gt;
There are a few things that can cause the connection to the panel to fail.  The following issues should be checked in the order they're presented, though the incorrect CSID is probably the most common issue.&lt;br /&gt;
&lt;br /&gt;
===AlarmDecoder Firmware Revision===&lt;br /&gt;
&lt;br /&gt;
This features requires version 2.2a.8.2+ on your AlarmDecoder.  You can download that from [http://www.alarmdecoder.com/wiki/index.php/Firmware here].&lt;br /&gt;
&lt;br /&gt;
===Panel too old===&lt;br /&gt;
&lt;br /&gt;
Check the revision of your panel by following the instructions [[#Is_your_panel_supported?|here]].&lt;br /&gt;
&lt;br /&gt;
It's a fairly simple process to swap the chip on your panel if the revision doesn't meet the minimum requirement.  You can find replacement chips with newer firmware for a reasonable price on Ebay.  After you get the chip it's as simple as popping the old one out and putting the new one in.  No reprogramming should be required.&lt;br /&gt;
&lt;br /&gt;
===Incorrect CSID===&lt;br /&gt;
&lt;br /&gt;
The CSID (Central Station ID) is the identifier that alarm companies use to authenticate with your panel.  There are two different states that this can be in:&lt;br /&gt;
&lt;br /&gt;
Factory state - default CSID:&lt;br /&gt;
&lt;br /&gt;
In a factory state the CSID is uninitialized and the panel can be connected to by using the First Time Communication option with the default CSID.&lt;br /&gt;
&lt;br /&gt;
CSID set:&lt;br /&gt;
&lt;br /&gt;
If your CSID has been changed by an alarm company then Compass&amp;amp;reg; cannot access your panel unless it's been specified correctly inside Compass&amp;amp;reg;.  You'll either need to obtain that ID from them or reset the dialer settings.  The dialer settings may be reset by using *96 in programming mode typically, but please consult your programming manual before doing so.&lt;br /&gt;
&lt;br /&gt;
Warning: If your alarm system is currently monitored you should note that changing your dialer settings (with *96 or otherwise) will potentially keep your alarm company from doing their job.&lt;br /&gt;
&lt;br /&gt;
==No COM port available in the AlarmDecoder Configuration tool==&lt;br /&gt;
&lt;br /&gt;
Please email us at [mailto:alarmdecoder@support.nutech.com alarmdecoder@support.nutech.com] and we'll help you figure out what's going on.&lt;br /&gt;
&lt;br /&gt;
=Getting Help=&lt;br /&gt;
&lt;br /&gt;
If you have issues with the software please feel free to email us at [mailto:alarmdecoder@support.nutech.com alarmdecoder@support.nutech.com] or post in our [http://www.alarmdecoder.com/forums/index.php forums].&lt;br /&gt;
&lt;br /&gt;
Please include the following details with your request:&lt;br /&gt;
* Operating system&lt;br /&gt;
* Panel model&lt;br /&gt;
* Panel revision&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:88%&amp;quot;&amp;gt;&amp;amp;bull; All trademarks are the property of their respective owners.&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/AlarmDecoder_Modem</id>
		<title>AlarmDecoder Modem</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/AlarmDecoder_Modem"/>
				<updated>2016-01-16T01:21:45Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
&lt;br /&gt;
Programming your alarm system tends to be a tedious endeavour so our goal with the AlarmDecoder Modem is to make it less intimidating and less time consuming by letting the Compass&amp;amp;reg; software do most of the work without having to deal with ancient modems.&lt;br /&gt;
&lt;br /&gt;
Please read through the FAQ to determine if your panel is compatible.&lt;br /&gt;
&lt;br /&gt;
=FAQ=&lt;br /&gt;
&lt;br /&gt;
==Is your panel supported?==&lt;br /&gt;
&lt;br /&gt;
[[File:Panel_model.png|thumb|Vista 20P]]&lt;br /&gt;
[[File:Panel_revision.png|thumb|Revision 7.0]]&lt;br /&gt;
&lt;br /&gt;
The first thing you need to check is the model of the panel.  If you don't know the model off-hand it's usually found on the panel circuit board, either as a sticker or printed directly on the board, and is normally a part of a larger identifier.&lt;br /&gt;
&lt;br /&gt;
Next, you need to confirm that the panel software revision meets the level required to support internet downloading.  You can determine the revision of your panel by again checking the panel circuit board for a chip &amp;amp; socket with a sticker on it.&lt;br /&gt;
&lt;br /&gt;
See the pictures to the right for examples.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Panel Compatibility&lt;br /&gt;
! Manufacturer&lt;br /&gt;
! Model&lt;br /&gt;
! Revision&lt;br /&gt;
|-&lt;br /&gt;
| Vista || 10P || style=&amp;quot;text-align:center;&amp;quot; | 2.0+&lt;br /&gt;
|-&lt;br /&gt;
| Vista || 10PSIA || style=&amp;quot;text-align:center;&amp;quot; | 3.0+&lt;br /&gt;
|-&lt;br /&gt;
| Vista || 15P || style=&amp;quot;text-align:center;&amp;quot; | 5.2+&lt;br /&gt;
|-&lt;br /&gt;
| Vista || 20P / 20PSIA || style=&amp;quot;text-align:center;&amp;quot; | 5.2+&lt;br /&gt;
|-&lt;br /&gt;
| First Alert || FA130CP || style=&amp;quot;text-align:center;&amp;quot; | 2.0+&lt;br /&gt;
|-&lt;br /&gt;
| First Alert || FA130CPSIA || style=&amp;quot;text-align:center;&amp;quot; | 3.0+&lt;br /&gt;
|-&lt;br /&gt;
| First Alert || FA148CP / FA148CPSIA || style=&amp;quot;text-align:center;&amp;quot; | 5.2+&lt;br /&gt;
|-&lt;br /&gt;
| First Alert || FA168CPS / FA168CPSSIA || style=&amp;quot;text-align:center;&amp;quot; | 5.2+&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Do I need to know my installer code?==&lt;br /&gt;
&lt;br /&gt;
While it's possible you could make things work without knowing the installer code for your panel, there are a number of things that may need to be changed in the panel programming.&lt;br /&gt;
&lt;br /&gt;
If your panel is currently or was previously monitored you'll likely need to either obtain the CSID and Account number for your panel or reset the dialer settings to factory default.  This can typically be done by executing *96 while in programming mode.&lt;br /&gt;
&lt;br /&gt;
==Can I use this while monitored by an alarm company?==&lt;br /&gt;
&lt;br /&gt;
This is technically possible, but you'll need to obtain the proper CSID and Account number for your panel.&lt;br /&gt;
&lt;br /&gt;
Please note that if you reset your dialer settings it will keep your alarm company from monitoring your home.&lt;br /&gt;
&lt;br /&gt;
==Where can I get Compass&amp;amp;reg;?==&lt;br /&gt;
&lt;br /&gt;
Compass&amp;amp;reg; is available on the internet, though we cannot provide any direct links.&lt;br /&gt;
&lt;br /&gt;
=Setup &amp;amp; Configuration=&lt;br /&gt;
&lt;br /&gt;
# Download the AlarmDecoder Modem software using the link provided in your order email.&lt;br /&gt;
# Run the installer.  This will install the modem and any necessary prerequisites.&lt;br /&gt;
#* Enter your product key when prompted.&lt;br /&gt;
# Make sure that all keypad applications, terminal clients or other software accessing the AlarmDecoder is closed.  One connection is allowed at a time unless you're using the network interface.&lt;br /&gt;
# Configure the AlarmDecoder Modem&lt;br /&gt;
## Run the '''AlarmDecoder Modem Setup''' from your Start Menu.&lt;br /&gt;
### Choose your AlarmDecoder Modem COM port from the first dropdown box.&lt;br /&gt;
###* You should make a note of this for later.&lt;br /&gt;
### Select USB, Serial or Network to indicate the type and location of your AlarmDecoder device.&lt;br /&gt;
###* If USB or Serial: Select the correct AlarmDecoder COM port.&lt;br /&gt;
###* If Network: Fill in the name or IP address of the computer (or AD2PI) that's running the ser2sock service.&lt;br /&gt;
###** Note: This service is preinstalled on our pre-configured Raspbian disk images.&lt;br /&gt;
### Click ''Save''&lt;br /&gt;
# Configure Compass&amp;amp;reg;&lt;br /&gt;
## Create a new modem&lt;br /&gt;
##* Compass&amp;amp;reg; 1.x:&lt;br /&gt;
##*# Select the AlarmDecoder Modem COM port (from the first dropdown) as your COM port.&lt;br /&gt;
##* Compass&amp;amp;reg; 2.x:&lt;br /&gt;
##*# Click Configure COM ports&lt;br /&gt;
##*# Choose your AlarmDecoder Modem COM port from the list and click ''Add''.&lt;br /&gt;
##*# Close the window and select the port in the list.&lt;br /&gt;
## Configure the modem&lt;br /&gt;
##* Compass&amp;amp;reg; 1.x:&lt;br /&gt;
##*# Select ''Ademco'' for the Company&lt;br /&gt;
##*# Select ''Accura 336'' as your modem type.&lt;br /&gt;
##* Compass&amp;amp;reg; 2.x:&lt;br /&gt;
##*# Select ''Ademco/First Alert'' for the Company.&lt;br /&gt;
##*# Select ''Ademco CIA 2400'' as your modem type.&lt;br /&gt;
## Open (or create) a Customer&lt;br /&gt;
## Open the Communications screen&lt;br /&gt;
## Test your modem connection&lt;br /&gt;
### Set the panel phone number to whatever you prefer.  It is required but ignored.&lt;br /&gt;
### Uncheck the ''Answering Machine Defeat'' checkbox.&lt;br /&gt;
### Select the proper CSID setting for your install.&lt;br /&gt;
###* ''First Time Communication'': Select this if your panel has a default CSID. (Field 36)&lt;br /&gt;
###** ''Acct # in Panel'': Select this option if the Account number has been programmed on your panel. (Field 32) The Account number in Compass&amp;amp;reg; much match.&lt;br /&gt;
### Click ''Connect''&lt;br /&gt;
&lt;br /&gt;
=Using The Modem=&lt;br /&gt;
&lt;br /&gt;
Using Compass&amp;amp;reg; is beyond the scope of this document, but one thing that should be noted is the definition of '''UPLOAD''' and '''DOWNLOAD'''.&lt;br /&gt;
&lt;br /&gt;
These are opposite from traditional logic since they are defined as if from Compass&amp;amp;reg;' point of view at a alarm company.  '''UPLOAD''' retrieves the configuration from your panel and puts it into Compass&amp;amp;reg;.  '''DOWNLOAD''' does the opposite and writes the configuration to your panel.&lt;br /&gt;
&lt;br /&gt;
=Troubleshooting=&lt;br /&gt;
&lt;br /&gt;
==Connection to panel failed==&lt;br /&gt;
&lt;br /&gt;
There are a few things that can cause the connection to the panel to fail.  The following issues should be checked in the order they're presented, though the incorrect CSID is probably the most common issue.&lt;br /&gt;
&lt;br /&gt;
===AlarmDecoder Firmware Revision===&lt;br /&gt;
&lt;br /&gt;
This features requires version 2.2a.8.2+ on your AlarmDecoder.  You can download that from [http://www.alarmdecoder.com/wiki/index.php/Firmware here].&lt;br /&gt;
&lt;br /&gt;
===Panel too old===&lt;br /&gt;
&lt;br /&gt;
Check the revision of your panel by following the instructions [[#Is_your_panel_supported?|here]].&lt;br /&gt;
&lt;br /&gt;
It's a fairly simple process to swap the chip on your panel if the revision doesn't meet the minimum requirement.  You can find replacement chips with newer firmware for a reasonable price on Ebay.  After you get the chip it's as simple as popping the old one out and putting the new one in.  No reprogramming should be required.&lt;br /&gt;
&lt;br /&gt;
===Incorrect CSID===&lt;br /&gt;
&lt;br /&gt;
The CSID (Central Station ID) is the identifier that alarm companies use to authenticate with your panel.  There are two different states that this can be in:&lt;br /&gt;
&lt;br /&gt;
Factory state - default CSID:&lt;br /&gt;
&lt;br /&gt;
In a factory state the CSID is uninitialized and the panel can be connected to by using the First Time Communication option with the default CSID.&lt;br /&gt;
&lt;br /&gt;
CSID set:&lt;br /&gt;
&lt;br /&gt;
If your CSID has been changed by an alarm company then Compass&amp;amp;reg; cannot access your panel unless it's been specified correctly inside Compass&amp;amp;reg;.  You'll either need to obtain that ID from them or reset the dialer settings.  The dialer settings may be reset by using *96 in programming mode typically, but please consult your programming manual before doing so.&lt;br /&gt;
&lt;br /&gt;
Warning: If your alarm system is currently monitored you should note that changing your dialer settings (with *96 or otherwise) will potentially keep your alarm company from doing their job.&lt;br /&gt;
&lt;br /&gt;
==No COM port available in the AlarmDecoder Configuration tool==&lt;br /&gt;
&lt;br /&gt;
Please email us at [mailto:alarmdecoder@support.nutech.com alarmdecoder@support.nutech.com] and we'll help you figure out what's going on.&lt;br /&gt;
&lt;br /&gt;
=Getting Help=&lt;br /&gt;
&lt;br /&gt;
If you have issues with the software please feel free to email us at [mailto:alarmdecoder@support.nutech.com alarmdecoder@support.nutech.com] or post in our [http://www.alarmdecoder.com/forums/index.php forums].&lt;br /&gt;
&lt;br /&gt;
Please include the following details with your request:&lt;br /&gt;
* Operating system&lt;br /&gt;
* Panel model&lt;br /&gt;
* Panel revision&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:88%&amp;quot;&amp;gt;&amp;amp;bull; All trademarks are the property of their respective owners.&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/AlarmDecoder_Modem</id>
		<title>AlarmDecoder Modem</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/AlarmDecoder_Modem"/>
				<updated>2016-01-16T00:41:15Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
&lt;br /&gt;
Programming your alarm system tends to be a tedious endeavour so our goal with the AlarmDecoder Modem is to make it less intimidating and less time consuming by letting the Compass&amp;amp;reg; software do most of the work without having to deal with ancient modems.&lt;br /&gt;
&lt;br /&gt;
Please read through the FAQ to determine if your panel is compatible.&lt;br /&gt;
&lt;br /&gt;
=FAQ=&lt;br /&gt;
&lt;br /&gt;
==Is your panel supported?==&lt;br /&gt;
&lt;br /&gt;
[[File:Panel_model.png|thumb|Vista 20P]]&lt;br /&gt;
[[File:Panel_revision.png|thumb|Revision 7.0]]&lt;br /&gt;
&lt;br /&gt;
The first thing you need to check is the model of the panel.  If you don't know the model off-hand it's usually found on the panel circuit board, either as a sticker or printed directly on the board, and is normally a part of a larger identifier.&lt;br /&gt;
&lt;br /&gt;
Next, you need to confirm that the panel software revision meets the level required to support internet downloading.  You can determine the revision of your panel by again checking the panel circuit board for a chip &amp;amp; socket with a sticker on it.&lt;br /&gt;
&lt;br /&gt;
See the pictures to the right for examples.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Panel Compatibility&lt;br /&gt;
! Manufacturer&lt;br /&gt;
! Model&lt;br /&gt;
! Revision&lt;br /&gt;
|-&lt;br /&gt;
| Vista || 10P || style=&amp;quot;text-align:center;&amp;quot; | 2.0+&lt;br /&gt;
|-&lt;br /&gt;
| Vista || 10PSIA || style=&amp;quot;text-align:center;&amp;quot; | 3.0+&lt;br /&gt;
|-&lt;br /&gt;
| Vista || 15P || style=&amp;quot;text-align:center;&amp;quot; | 5.2+&lt;br /&gt;
|-&lt;br /&gt;
| Vista || 20P / 20PSIA || style=&amp;quot;text-align:center;&amp;quot; | 5.2+&lt;br /&gt;
|-&lt;br /&gt;
| First Alert || FA130CP || style=&amp;quot;text-align:center;&amp;quot; | 2.0+&lt;br /&gt;
|-&lt;br /&gt;
| First Alert || FA130CPSIA || style=&amp;quot;text-align:center;&amp;quot; | 3.0+&lt;br /&gt;
|-&lt;br /&gt;
| First Alert || FA148CP / FA148CPSIA || style=&amp;quot;text-align:center;&amp;quot; | 5.2+&lt;br /&gt;
|-&lt;br /&gt;
| First Alert || FA168CPS / FA168CPSSIA || style=&amp;quot;text-align:center;&amp;quot; | 5.2+&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Do I need to know my installer code?==&lt;br /&gt;
&lt;br /&gt;
While it's possible you could make things work without knowing the installer code for your panel, there are a number of things that may need to be changed in the panel programming.&lt;br /&gt;
&lt;br /&gt;
If your panel is currently or was previously monitored you'll likely need to either obtain the CSID and Account number for your panel or reset the dialer settings to factory default.  This can typically be done by executing *96 while in programming mode.&lt;br /&gt;
&lt;br /&gt;
==Can I use this while monitored by an alarm company?==&lt;br /&gt;
&lt;br /&gt;
This is technically possible, but you'll need to obtain the proper CSID and Account number for your panel.&lt;br /&gt;
&lt;br /&gt;
Please note that if you reset your dialer settings it will keep your alarm company from monitoring your home.&lt;br /&gt;
&lt;br /&gt;
==Where can I get Compass&amp;amp;reg;?==&lt;br /&gt;
&lt;br /&gt;
Compass&amp;amp;reg; is available on the internet, though we cannot provide any direct links.&lt;br /&gt;
&lt;br /&gt;
=Setup &amp;amp; Configuration=&lt;br /&gt;
&lt;br /&gt;
# Download the AlarmDecoder Modem software using the link provided in your order email.&lt;br /&gt;
# Run the installer.  This will install the modem and any necessary prerequisites.&lt;br /&gt;
#* Enter your product key when prompted.&lt;br /&gt;
# Make sure that all keypad applications, terminal clients or other software accessing the AlarmDecoder is closed.  One connection is allowed at a time unless you're using the network interface.&lt;br /&gt;
# Configure the AlarmDecoder Modem&lt;br /&gt;
## Run the '''AlarmDecoder Modem Setup''' from your Start Menu.&lt;br /&gt;
### Choose your AlarmDecoder Modem COM port from the first dropdown box.&lt;br /&gt;
###* You should make a note of this for later.&lt;br /&gt;
### Select USB, Serial or Network to indicate the type and location of your AlarmDecoder device.&lt;br /&gt;
###* If USB or Serial: Select the correct AlarmDecoder COM port.&lt;br /&gt;
###* If Network: Fill in the name or IP address of the computer (or AD2PI) that's running the ser2sock service.&lt;br /&gt;
###** Note: This service is preinstalled on our pre-configured Raspbian disk images.&lt;br /&gt;
### Click ''Save''&lt;br /&gt;
# Configure Compass&amp;amp;reg;&lt;br /&gt;
## Create a new modem&lt;br /&gt;
##* Compass&amp;amp;reg; 1.x:&lt;br /&gt;
##*# Select the AlarmDecoder Modem COM port (from the first dropdown) as your COM port.&lt;br /&gt;
##* Compass&amp;amp;reg; 2.x:&lt;br /&gt;
##*# Click Configure COM ports&lt;br /&gt;
##*# Choose your AlarmDecoder Modem COM port from the list and click ''Add''.&lt;br /&gt;
##*# Close the window and select the port in the list.&lt;br /&gt;
## Configure the modem&lt;br /&gt;
##* Compass&amp;amp;reg; 1.x:&lt;br /&gt;
##*# Select ''Ademco'' for the Company&lt;br /&gt;
##*# Select ''Accura 336'' as your modem type.&lt;br /&gt;
##* Compass&amp;amp;reg; 2.x:&lt;br /&gt;
##*# Select ''Ademco/First Alert'' for the Company.&lt;br /&gt;
##*# Select ''Ademco CIA 2400'' as your modem type.&lt;br /&gt;
## Open (or create) a Customer&lt;br /&gt;
## Open the Communications screen&lt;br /&gt;
## Test your modem connection&lt;br /&gt;
### Set the panel phone number to whatever you prefer.  It is required but ignored.&lt;br /&gt;
### Uncheck the ''Answering Machine Defeat'' checkbox.&lt;br /&gt;
### Select the proper CSID setting for your install.&lt;br /&gt;
###* ''First Time Communication'': Select this if your panel has a default CSID. (Field 36)&lt;br /&gt;
###** ''Acct # in Panel'': Select this option if the Account number has been programmed on your panel. (Field 32) The Account number in Compass&amp;amp;reg; much match.&lt;br /&gt;
### Click ''Connect''&lt;br /&gt;
&lt;br /&gt;
=Using The Modem=&lt;br /&gt;
&lt;br /&gt;
Using Compass&amp;amp;reg; is beyond the scope of this document, but one thing that should be noted is the definition of '''UPLOAD''' and '''DOWNLOAD'''.&lt;br /&gt;
&lt;br /&gt;
These are opposite from traditional logic since they are defined as if from Compass&amp;amp;reg;' point of view at a alarm company.  '''UPLOAD''' retrieves the configuration from your panel and puts it into Compass&amp;amp;reg;.  '''DOWNLOAD''' does the opposite and writes the configuration to your panel.&lt;br /&gt;
&lt;br /&gt;
=Troubleshooting=&lt;br /&gt;
&lt;br /&gt;
==Connection to panel failed==&lt;br /&gt;
&lt;br /&gt;
There are a few things that can cause the connection to the panel to fail.  The following issues should be checked in the order they're presented, though the incorrect CSID is probably the most common issue.&lt;br /&gt;
&lt;br /&gt;
===Panel too old===&lt;br /&gt;
&lt;br /&gt;
Check the revision of your panel by following the instructions [[#Is_your_panel_supported?|here]].&lt;br /&gt;
&lt;br /&gt;
It's a fairly simple process to swap the chip on your panel if the revision doesn't meet the minimum requirement.  You can find replacement chips with newer firmware for a reasonable price on Ebay.  After you get the chip it's as simple as popping the old one out and putting the new one in.  No reprogramming should be required.&lt;br /&gt;
&lt;br /&gt;
===Incorrect CSID===&lt;br /&gt;
&lt;br /&gt;
The CSID (Central Station ID) is the identifier that alarm companies use to authenticate with your panel.  There are two different states that this can be in:&lt;br /&gt;
&lt;br /&gt;
Factory state - default CSID:&lt;br /&gt;
&lt;br /&gt;
In a factory state the CSID is uninitialized and the panel can be connected to by using the First Time Communication option with the default CSID.&lt;br /&gt;
&lt;br /&gt;
CSID set:&lt;br /&gt;
&lt;br /&gt;
If your CSID has been changed by an alarm company then Compass&amp;amp;reg; cannot access your panel unless it's been specified correctly inside Compass&amp;amp;reg;.  You'll either need to obtain that ID from them or reset the dialer settings.  The dialer settings may be reset by using *96 in programming mode typically, but please consult your programming manual before doing so.&lt;br /&gt;
&lt;br /&gt;
Warning: If your alarm system is currently monitored you should note that changing your dialer settings (with *96 or otherwise) will potentially keep your alarm company from doing their job.&lt;br /&gt;
&lt;br /&gt;
==No COM port available in the AlarmDecoder Configuration tool==&lt;br /&gt;
&lt;br /&gt;
Please email us at [mailto:alarmdecoder@support.nutech.com alarmdecoder@support.nutech.com] and we'll help you figure out what's going on.&lt;br /&gt;
&lt;br /&gt;
=Getting Help=&lt;br /&gt;
&lt;br /&gt;
If you have issues with the software please feel free to email us at [mailto:alarmdecoder@support.nutech.com alarmdecoder@support.nutech.com] or post in our [http://www.alarmdecoder.com/forums/index.php forums].&lt;br /&gt;
&lt;br /&gt;
Please include the following details with your request:&lt;br /&gt;
* Operating system&lt;br /&gt;
* Panel model&lt;br /&gt;
* Panel revision&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:88%&amp;quot;&amp;gt;&amp;amp;bull; All trademarks are the property of their respective owners.&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/AlarmDecoder_Modem</id>
		<title>AlarmDecoder Modem</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/AlarmDecoder_Modem"/>
				<updated>2016-01-15T23:29:27Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
&lt;br /&gt;
Programming your alarm system tends to be a tedious endeavour so our goal with the AlarmDecoder Modem is to make it less intimidating and less time consuming by letting the Compass&amp;amp;reg; software do most of the work without having to deal with ancient modems.&lt;br /&gt;
&lt;br /&gt;
Please read through the FAQ to determine if your panel is compatible.&lt;br /&gt;
&lt;br /&gt;
=FAQ=&lt;br /&gt;
&lt;br /&gt;
==Is your panel supported?==&lt;br /&gt;
&lt;br /&gt;
===Confirming your panel model and revision===&lt;br /&gt;
&lt;br /&gt;
[[File:Panel_model.png|thumb|Vista 20P]]&lt;br /&gt;
[[File:Panel_revision.png|thumb|Revision 7.0]]&lt;br /&gt;
&lt;br /&gt;
The first thing you need to check is the model of the panel.  If you don't know the model off-hand it's usually found on the panel circuit board, either as a sticker or printed directly on the board, and is normally a part of a larger identifier.&lt;br /&gt;
&lt;br /&gt;
Next, you need to confirm that the panel software revision meets the level required to support internet downloading.  You can determine the revision of your panel by again checking the panel circuit board for a chip &amp;amp; socket with a sticker on it.&lt;br /&gt;
&lt;br /&gt;
===List of supported panels===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Panel Compatibility&lt;br /&gt;
! Manufacturer&lt;br /&gt;
! Model&lt;br /&gt;
! Revision&lt;br /&gt;
|-&lt;br /&gt;
| Vista || 10P || style=&amp;quot;text-align:center;&amp;quot; | 2.0+&lt;br /&gt;
|-&lt;br /&gt;
| Vista || 10PSIA || style=&amp;quot;text-align:center;&amp;quot; | 3.0+&lt;br /&gt;
|-&lt;br /&gt;
| Vista || 15P || style=&amp;quot;text-align:center;&amp;quot; | 5.2+&lt;br /&gt;
|-&lt;br /&gt;
| Vista || 20P / 20PSIA || style=&amp;quot;text-align:center;&amp;quot; | 5.2+&lt;br /&gt;
|-&lt;br /&gt;
| First Alert || FA130CP || style=&amp;quot;text-align:center;&amp;quot; | 2.0+&lt;br /&gt;
|-&lt;br /&gt;
| First Alert || FA130CPSIA || style=&amp;quot;text-align:center;&amp;quot; | 3.0+&lt;br /&gt;
|-&lt;br /&gt;
| First Alert || FA148CP / FA148CPSIA || style=&amp;quot;text-align:center;&amp;quot; | 5.2+&lt;br /&gt;
|-&lt;br /&gt;
| First Alert || FA168CPS / FA168CPSSIA || style=&amp;quot;text-align:center;&amp;quot; | 5.2+&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Do I need to know my installer code?==&lt;br /&gt;
&lt;br /&gt;
While it's technically possible you could make things work without knowing the installer code for your panel, there are a number of things that may need to be changed in the panel programming.&lt;br /&gt;
&lt;br /&gt;
If your panel is currently or was previously monitored you'll likely need to either obtain the CSID and Account # from your alarm company or reset the dialer settings to factory default.  This can typically be done by executing *96 while in programming mode.&lt;br /&gt;
&lt;br /&gt;
==Can I use this while monitored by an alarm company?==&lt;br /&gt;
&lt;br /&gt;
Again, this is technically possible, but you'd need to convince your alarm company to provide you with the CSID and Account # on your panel.&lt;br /&gt;
&lt;br /&gt;
Please note that if you reset your dialer settings it will keep your alarm company from monitoring your home.&lt;br /&gt;
&lt;br /&gt;
==Does this support ADT branded panels?==&lt;br /&gt;
&lt;br /&gt;
Unfortunately ADT utilizes a custom default CSID so it can't be used without knowing what this is.  To our knowledge this is undocumented.  In theory you may be able to swap the PROM, but this is untested.&lt;br /&gt;
&lt;br /&gt;
==Where can I get Compass&amp;amp;reg;?==&lt;br /&gt;
&lt;br /&gt;
Compass is available for download on the internet, though we cannot provide any direct links.&lt;br /&gt;
&lt;br /&gt;
=Setup &amp;amp; Configuration=&lt;br /&gt;
&lt;br /&gt;
# Download the AlarmDecoder Modem software using the link provided in your order email.&lt;br /&gt;
# Run the installer.  This will install the modem and any necessary prerequisites.&lt;br /&gt;
#* Enter your product key when prompted.&lt;br /&gt;
# Make sure that all keypad applications, terminal clients or other software accessing the AlarmDecoder is closed.  One connection is allowed at a time.&lt;br /&gt;
# Configure the AlarmDecoder Modem&lt;br /&gt;
## Run the '''AlarmDecoder Modem Setup''' from your Start Menu.&lt;br /&gt;
### Choose your AlarmDecoder Modem COM port from the first dropdown box.&lt;br /&gt;
###* You should make a note of this for later.&lt;br /&gt;
### Select USB, Serial or Network to indicate the type and location of your AlarmDecoder device.&lt;br /&gt;
###* If USB or Serial: Select the correct AlarmDecoder COM port.&lt;br /&gt;
###* If Network: Fill in the name or IP address of the computer (or AD2PI) that's running the ser2sock service.&lt;br /&gt;
###** Note: This service is preinstalled on our pre-configured Raspbian disk images.&lt;br /&gt;
### Click ''Save''&lt;br /&gt;
# Configure Compass&amp;amp;reg;&lt;br /&gt;
## Create a new modem&lt;br /&gt;
##* Compass&amp;amp;reg; 1.x:&lt;br /&gt;
##*# Select the AlarmDecoder Modem Comm port (from the first dropdown) as your COM port.&lt;br /&gt;
##* Compass&amp;amp;reg; 2.x:&lt;br /&gt;
##*# Click Configure COM ports&lt;br /&gt;
##*# Choose your AlarmDecoder Modem COM port from the list and click ''Add''.&lt;br /&gt;
##*# Close the window and select the port in the list.&lt;br /&gt;
## Configure the modem&lt;br /&gt;
##* Compass&amp;amp;reg; 1.x:&lt;br /&gt;
##*# Select ''Ademco'' for the Company&lt;br /&gt;
##*# Select ''Accura 336'' as your modem type.&lt;br /&gt;
##* Compass&amp;amp;reg; 2.x:&lt;br /&gt;
##*# Select ''Ademco/First Alert'' for the Company.&lt;br /&gt;
##*# Select ''Ademco CIA 2400'' as your modem type.&lt;br /&gt;
## Open (or create) a Customer&lt;br /&gt;
## Open the Communications screen&lt;br /&gt;
## Test your modem connection&lt;br /&gt;
### Set the panel phone number to whatever you prefer.  It is required but ignored.&lt;br /&gt;
### Uncheck the ''Answering Machine Defeat'' checkbox.&lt;br /&gt;
### Select the proper CSID setting for your install.&lt;br /&gt;
###* ''First Time Communication'': Select this if your panel has a default CSID. (Field 36)&lt;br /&gt;
###** ''Acct # in Panel'': Select this option if the Acct # has been programmed on your panel. (Field 32) The Account number in Compass&amp;amp;reg; much match.&lt;br /&gt;
### Click ''Connect''&lt;br /&gt;
&lt;br /&gt;
=Using The Modem=&lt;br /&gt;
&lt;br /&gt;
Using Compass&amp;amp;reg; is beyond the scope of this document, but one thing that should be noted is the definition of UPLOAD and DOWNLOAD.&lt;br /&gt;
&lt;br /&gt;
These are opposite from traditional logic since they are defined as if from Compass&amp;amp;reg;' point of view at a alarm company.  UPLOAD retrieves the configuration from your panel and puts it into Compass&amp;amp;reg;.  DOWNLOAD does the opposite and writes the configuration to your panel.&lt;br /&gt;
&lt;br /&gt;
=Troubleshooting=&lt;br /&gt;
&lt;br /&gt;
==Connection to panel failed==&lt;br /&gt;
&lt;br /&gt;
There are a few things that can cause the connection to the panel to fail.  The following issues should be checked in the order they're presented, though the incorrect CSID is probably the most common issue.&lt;br /&gt;
&lt;br /&gt;
==Panel too old==&lt;br /&gt;
&lt;br /&gt;
Check the revision of your panel by following the instructions &amp;lt;here&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
It's a fairly simple process to swap the chip on your panel if the revision doesn't meet the minimum requirement.  You can find replacement chips with newer firmware for a reasonable price on Ebay.  After you get the chip it's as simple as popping the old one out and putting the new one in.  No reprogramming should be required.&lt;br /&gt;
&lt;br /&gt;
==Incorrect CSID==&lt;br /&gt;
&lt;br /&gt;
The CSID (Central Station ID) is the identifier that alarm companies use to authenticate with your panel.  There are two different states that this can be in:&lt;br /&gt;
&lt;br /&gt;
Factory state - default CSID:&lt;br /&gt;
&lt;br /&gt;
In a factory state the CSID is uninitialized and the panel can be connected to by using the First Time Communication option with the default CSID.&lt;br /&gt;
&lt;br /&gt;
CSID set:&lt;br /&gt;
&lt;br /&gt;
If your CSID has been changed by an alarm company then Compass&amp;amp;reg; cannot access your panel unless it's been specified correctly inside Compass&amp;amp;reg;.  You'll either need to obtain that ID from them or reset the dialer settings.  The dialer settings may be reset by using *96 in programming mode typically, but please consult your programming manual before doing so.&lt;br /&gt;
&lt;br /&gt;
Warning: If your alarm system is currently monitored you should note that changing your dialer settings (with *96 or otherwise) will potentially keep your alarm company from doing their job.&lt;br /&gt;
&lt;br /&gt;
==No COM port available in the AlarmDecoder Configuration tool==&lt;br /&gt;
&lt;br /&gt;
Please contact support at alarmdecoder@support.nutech.com and we'll help you figure out what's going on.&lt;br /&gt;
&lt;br /&gt;
=Getting Help=&lt;br /&gt;
&lt;br /&gt;
If you have issues with the software please feel free to contact us at alarmdecoder@support.nutech.com or post in our forums.&lt;br /&gt;
&lt;br /&gt;
Please include the following details with your request:&lt;br /&gt;
* Operating system&lt;br /&gt;
* Panel model&lt;br /&gt;
* Panel revision&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:88%&amp;quot;&amp;gt;&amp;amp;bull; All trademarks are the property of their respective owners.&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/AlarmDecoder_Modem</id>
		<title>AlarmDecoder Modem</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/AlarmDecoder_Modem"/>
				<updated>2016-01-15T23:18:26Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
&lt;br /&gt;
Programming your alarm system tends to be a tedious endeavour so our goal with the AlarmDecoder Modem is to make it less intimidating and less time consuming by letting the Compass&amp;amp;reg; software do most of the work without having to deal with ancient modems.&lt;br /&gt;
&lt;br /&gt;
Please read through the FAQ to determine if your panel is compatible.&lt;br /&gt;
&lt;br /&gt;
=FAQ=&lt;br /&gt;
&lt;br /&gt;
==Is your panel supported?==&lt;br /&gt;
&lt;br /&gt;
===Confirming your panel model and revision===&lt;br /&gt;
&lt;br /&gt;
[[File:Panel_model.png|thumb|Vista 20P]]&lt;br /&gt;
[[File:Panel_revision.png|thumb|Revision 7.0]]&lt;br /&gt;
&lt;br /&gt;
The first thing you need to check is the model of the panel.  If you don't know the model off-hand it's usually found on the panel circuit board, either as a sticker or printed directly on the board, and is normally a part of a larger identifier.&lt;br /&gt;
&lt;br /&gt;
Next, you need to confirm that the panel software revision meets the level required to support internet downloading.  You can determine the revision of your panel by again checking the panel circuit board for a chip &amp;amp; socket with a sticker on it.&lt;br /&gt;
&lt;br /&gt;
===List of supported panels===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Panel Compatibility&lt;br /&gt;
! Manufacturer&lt;br /&gt;
! Model&lt;br /&gt;
! Revision&lt;br /&gt;
|-&lt;br /&gt;
| Vista || 10P || style=&amp;quot;text-align:center;&amp;quot; | 2.0+&lt;br /&gt;
|-&lt;br /&gt;
| Vista || 10PSIA || style=&amp;quot;text-align:center;&amp;quot; | 3.0+&lt;br /&gt;
|-&lt;br /&gt;
| Vista || 15P || style=&amp;quot;text-align:center;&amp;quot; | 5.2+&lt;br /&gt;
|-&lt;br /&gt;
| Vista || 20P / 20PSIA || style=&amp;quot;text-align:center;&amp;quot; | 5.2+&lt;br /&gt;
|-&lt;br /&gt;
| First Alert || FA130CP || style=&amp;quot;text-align:center;&amp;quot; | 2.0+&lt;br /&gt;
|-&lt;br /&gt;
| First Alert || FA130CPSIA || style=&amp;quot;text-align:center;&amp;quot; | 3.0+&lt;br /&gt;
|-&lt;br /&gt;
| First Alert || FA148CP / FA148CPSIA || style=&amp;quot;text-align:center;&amp;quot; | 5.2+&lt;br /&gt;
|-&lt;br /&gt;
| First Alert || FA168CPS / FA168CPSSIA || style=&amp;quot;text-align:center;&amp;quot; | 5.2+&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Do I need to know my installer code?==&lt;br /&gt;
&lt;br /&gt;
While it's technically possible you could make things work without knowing the installer code for your panel, there are a number of things that may need to be changed in the panel programming.&lt;br /&gt;
&lt;br /&gt;
If your panel is currently or was previously monitored you'll likely need to either obtain the CSID and Account # from your alarm company or reset the dialer settings to factory default.  This can typically be done by executing *96 while in programming mode.&lt;br /&gt;
&lt;br /&gt;
==Can I use this while monitored by an alarm company?==&lt;br /&gt;
&lt;br /&gt;
Again, this is technically possible, but you'd need to convince your alarm company to provide you with the CSID and Account # on your panel.&lt;br /&gt;
&lt;br /&gt;
Please note that if you reset your dialer settings it will keep your alarm company from monitoring your home.&lt;br /&gt;
&lt;br /&gt;
==Does this support ADT branded panels?==&lt;br /&gt;
&lt;br /&gt;
Unfortunately ADT utilizes a custom default CSID so it can't be used without knowing what this is.  To our knowledge this is undocumented.  In theory you may be able to swap the PROM, but this is untested.&lt;br /&gt;
&lt;br /&gt;
==Where can I get Compass&amp;amp;reg;?==&lt;br /&gt;
&lt;br /&gt;
Compass is available for download on the internet, though we cannot provide any direct links.&lt;br /&gt;
&lt;br /&gt;
=Setup &amp;amp; Configuration=&lt;br /&gt;
&lt;br /&gt;
# Download the AlarmDecoder Modem software using the link provided in your order email.&lt;br /&gt;
# Run the installer.  This will install the modem and any necessary prerequisites.&lt;br /&gt;
#* Enter your product key when prompted.&lt;br /&gt;
# Make sure that all keypad applications, terminal clients or other software accessing the AlarmDecoder is closed.  One connection is allowed at a time.&lt;br /&gt;
# Configure the AlarmDecoder Modem&lt;br /&gt;
## Run the AlarmDecoder Modem Setup from your Start Menu.&lt;br /&gt;
### Choose your AlarmDecoder Modem COM port from the first dropdown box.&lt;br /&gt;
###* You should make a note of this for later.&lt;br /&gt;
### Select USB, Serial or Network to indicate the type and location of your AlarmDecoder device.&lt;br /&gt;
###* If USB or Serial: Select the correct AlarmDecoder COM port.&lt;br /&gt;
###* If Network: Fill in the name or IP address of the computer (or AD2PI) that's running the ser2sock service.&lt;br /&gt;
###** Note: This service is preinstalled on our pre-configured Raspbian disk images.&lt;br /&gt;
### Click Save&lt;br /&gt;
# Configure Compass&amp;amp;reg;&lt;br /&gt;
## Create a new modem&lt;br /&gt;
##* Compass&amp;amp;reg; 1.x:&lt;br /&gt;
##*# Select the AlarmDecoder Modem Comm port (from the first dropdown) as your COM port.&lt;br /&gt;
##* Compass&amp;amp;reg; 2.x:&lt;br /&gt;
##*# Click Configure COM ports&lt;br /&gt;
##*# Choose your AlarmDecoder Modem COM port from the list and click Add.&lt;br /&gt;
##*# Close the window and select the port in the list.&lt;br /&gt;
## Configure the modem&lt;br /&gt;
##* Compass&amp;amp;reg; 1.x:&lt;br /&gt;
##*# Select Ademco for the Company&lt;br /&gt;
##*# Select Accura 336 as your modem type.&lt;br /&gt;
##* Compass&amp;amp;reg; 2.x:&lt;br /&gt;
##*# Select Ademco/First Alert for the Company.&lt;br /&gt;
##*# Select Ademco CIA 2400 as your modem type.&lt;br /&gt;
## Open (or create) as Customer&lt;br /&gt;
## Open the Communications screen&lt;br /&gt;
## Test your modem connection&lt;br /&gt;
### Set the panel phone number to whatever you prefer.  It is required but ignored.&lt;br /&gt;
### Uncheck the Answering Machine Defeat checkbox.&lt;br /&gt;
### Select the proper CSID setting for your install.&lt;br /&gt;
###* First Time Communication: Select this if your panel has a default CSID. (Field 36)&lt;br /&gt;
###** Acct # in Panel: Select this option if the Acct # has been programmed on your panel. (Field 32) The Account number in Compass&amp;amp;reg; much match.&lt;br /&gt;
### Click Connect&lt;br /&gt;
&lt;br /&gt;
=Using The Modem=&lt;br /&gt;
&lt;br /&gt;
Using Compass&amp;amp;reg; is beyond the scope of this document, but one thing that should be noted is the definition of UPLOAD and DOWNLOAD.&lt;br /&gt;
&lt;br /&gt;
These are opposite from traditional logic since they are defined as if from Compass&amp;amp;reg;' point of view at a alarm company.  UPLOAD retrieves the configuration from your panel and puts it into Compass&amp;amp;reg;.  DOWNLOAD does the opposite and writes the configuration to your panel.&lt;br /&gt;
&lt;br /&gt;
=Troubleshooting=&lt;br /&gt;
&lt;br /&gt;
==Connection to panel failed==&lt;br /&gt;
&lt;br /&gt;
There are a few things that can cause the connection to the panel to fail.  The following issues should be checked in the order they're presented, though the incorrect CSID is probably the most common issue.&lt;br /&gt;
&lt;br /&gt;
==Panel too old==&lt;br /&gt;
&lt;br /&gt;
Check the revision of your panel by following the instructions &amp;lt;here&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
It's a fairly simple process to swap the chip on your panel if the revision doesn't meet the minimum requirement.  You can find replacement chips with newer firmware for a reasonable price on Ebay.  After you get the chip it's as simple as popping the old one out and putting the new one in.  No reprogramming should be required.&lt;br /&gt;
&lt;br /&gt;
==Incorrect CSID==&lt;br /&gt;
&lt;br /&gt;
The CSID (Central Station ID) is the identifier that alarm companies use to authenticate with your panel.  There are two different states that this can be in:&lt;br /&gt;
&lt;br /&gt;
Factory state - default CSID:&lt;br /&gt;
&lt;br /&gt;
In a factory state the CSID is uninitialized and the panel can be connected to by using the First Time Communication option with the default CSID.&lt;br /&gt;
&lt;br /&gt;
CSID set:&lt;br /&gt;
&lt;br /&gt;
If your CSID has been changed by an alarm company then Compass&amp;amp;reg; cannot access your panel unless it's been specified correctly inside Compass&amp;amp;reg;.  You'll either need to obtain that ID from them or reset the dialer settings.  The dialer settings may be reset by using *96 in programming mode typically, but please consult your programming manual before doing so.&lt;br /&gt;
&lt;br /&gt;
Warning: If your alarm system is currently monitored you should note that changing your dialer settings (with *96 or otherwise) will potentially keep your alarm company from doing their job.&lt;br /&gt;
&lt;br /&gt;
==No COM port available in the AlarmDecoder Configuration tool==&lt;br /&gt;
&lt;br /&gt;
Please contact support at alarmdecoder@support.nutech.com and we'll help you figure out what's going on.&lt;br /&gt;
&lt;br /&gt;
=Getting Help=&lt;br /&gt;
&lt;br /&gt;
If you have issues with the software please feel free to contact us at alarmdecoder@support.nutech.com or post in our forums.&lt;br /&gt;
&lt;br /&gt;
Please include the following details with your request:&lt;br /&gt;
* Operating system&lt;br /&gt;
* Panel model&lt;br /&gt;
* Panel revision&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:88%&amp;quot;&amp;gt;&amp;amp;bull; All trademarks are the property of their respective owners.&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/AlarmDecoder_Modem</id>
		<title>AlarmDecoder Modem</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/AlarmDecoder_Modem"/>
				<updated>2016-01-15T23:09:00Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: Blanked the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/AlarmDecoder_Modem</id>
		<title>AlarmDecoder Modem</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/AlarmDecoder_Modem"/>
				<updated>2016-01-15T23:08:48Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: Created page with &amp;quot;=Introduction=  Programming your alarm system tends to be a tedious endeavour so our goal with the AlarmDecoder Modem is to make it less intimidating and less time consuming b...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
&lt;br /&gt;
Programming your alarm system tends to be a tedious endeavour so our goal with the AlarmDecoder Modem is to make it less intimidating and less time consuming by letting the Compass&amp;amp;reg; software do most of the work without having to deal with ancient modems.&lt;br /&gt;
&lt;br /&gt;
Please read through the FAQ to determine if your panel is compatible.&lt;br /&gt;
&lt;br /&gt;
=FAQ=&lt;br /&gt;
&lt;br /&gt;
==Is your panel supported?==&lt;br /&gt;
&lt;br /&gt;
===Confirming your panel model and revision===&lt;br /&gt;
&lt;br /&gt;
[[File:Panel_model.png|thumb|Vista 20P]]&lt;br /&gt;
[[File:Panel_revision.png|thumb|Revision 7.0]]&lt;br /&gt;
&lt;br /&gt;
The first thing you need to check is the model of the panel.  If you don't know the model off-hand it's usually found on the panel circuit board, either as a sticker or printed directly on the board, and is normally a part of a larger identifier.&lt;br /&gt;
&lt;br /&gt;
Next, you need to confirm that the panel software revision meets the level required to support internet downloading.  You can determine the revision of your panel by again checking the panel circuit board for a chip &amp;amp; socket with a sticker on it.&lt;br /&gt;
&lt;br /&gt;
===List of supported panels===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Panel Compatibility&lt;br /&gt;
! Manufacturer&lt;br /&gt;
! Model&lt;br /&gt;
! Revision&lt;br /&gt;
|-&lt;br /&gt;
| Vista || 10P || style=&amp;quot;text-align:center;&amp;quot; | 2.0+&lt;br /&gt;
|-&lt;br /&gt;
| Vista || 10PSIA || style=&amp;quot;text-align:center;&amp;quot; | 3.0+&lt;br /&gt;
|-&lt;br /&gt;
| Vista || 15P || style=&amp;quot;text-align:center;&amp;quot; | 5.2+&lt;br /&gt;
|-&lt;br /&gt;
| Vista || 20P / 20PSIA || style=&amp;quot;text-align:center;&amp;quot; | 5.2+&lt;br /&gt;
|-&lt;br /&gt;
| First Alert || FA130CP || style=&amp;quot;text-align:center;&amp;quot; | 2.0+&lt;br /&gt;
|-&lt;br /&gt;
| First Alert || FA130CPSIA || style=&amp;quot;text-align:center;&amp;quot; | 3.0+&lt;br /&gt;
|-&lt;br /&gt;
| First Alert || FA148CP / FA148CPSIA || style=&amp;quot;text-align:center;&amp;quot; | 5.2+&lt;br /&gt;
|-&lt;br /&gt;
| First Alert || FA168CPS / FA168CPSSIA || style=&amp;quot;text-align:center;&amp;quot; | 5.2+&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Do I need to know my installer code?==&lt;br /&gt;
&lt;br /&gt;
While it's technically possible you could make things work without knowing the installer code for your panel, there are a number of things that may need to be changed in the panel programming.&lt;br /&gt;
&lt;br /&gt;
If your panel is currently or was previously monitored you'll likely need to either obtain the CSID and Account # from your alarm company or reset the dialer settings to factory default.  This can typically be done by executing *96 while in programming mode.&lt;br /&gt;
&lt;br /&gt;
==Can I use this while monitored by an alarm company?==&lt;br /&gt;
&lt;br /&gt;
Again, this is technically possible, but you'd need to convince your alarm company to provide you with the CSID and Account # on your panel.&lt;br /&gt;
&lt;br /&gt;
Please note that if you reset your dialer settings it will keep your alarm company from monitoring your home.&lt;br /&gt;
&lt;br /&gt;
==Does this support ADT branded panels?==&lt;br /&gt;
&lt;br /&gt;
Unfortunately ADT utilizes a custom default CSID so it can't be used without knowing what this is.  To our knowledge this is undocumented.  In theory you may be able to swap the PROM, but this is untested.&lt;br /&gt;
&lt;br /&gt;
==Where can I get Compass&amp;amp;reg;?==&lt;br /&gt;
&lt;br /&gt;
Compass is available for download on the internet, though we cannot provide any direct links.&lt;br /&gt;
&lt;br /&gt;
=Setup &amp;amp; Configuration=&lt;br /&gt;
&lt;br /&gt;
# Download the AlarmDecoder Modem software using the link provided in your order email.&lt;br /&gt;
# Run the installer.  This will install the modem and any necessary prerequisites.&lt;br /&gt;
#* Enter your product key when prompted.&lt;br /&gt;
# Make sure that all keypad applications, terminal clients or other software accessing the AlarmDecoder is closed.  One connection is allowed at a time.&lt;br /&gt;
# Configure the AlarmDecoder Modem&lt;br /&gt;
## Run the AlarmDecoder Modem Setup from your Start Menu.&lt;br /&gt;
### Choose your AlarmDecoder Modem COM port from the first dropdown box.&lt;br /&gt;
###* You should make a note of this for later.&lt;br /&gt;
### Select USB, Serial or Network to indicate the type and location of your AlarmDecoder device.&lt;br /&gt;
###* If USB or Serial: Select the correct AlarmDecoder COM port.&lt;br /&gt;
###* If Network: Fill in the name or IP address of the computer (or AD2PI) that's running the ser2sock service.&lt;br /&gt;
###** Note: This service is preinstalled on our pre-configured Raspbian disk images.&lt;br /&gt;
### Click Save&lt;br /&gt;
# Configure Compass&amp;amp;reg;&lt;br /&gt;
## Create a new modem&lt;br /&gt;
##* Compass&amp;amp;reg; 1.x:&lt;br /&gt;
##*# Select the AlarmDecoder Modem Comm port (from the first dropdown) as your COM port.&lt;br /&gt;
##* Compass&amp;amp;reg; 2.x:&lt;br /&gt;
##*# Click Configure COM ports&lt;br /&gt;
##*# Choose your AlarmDecoder Modem COM port from the list and click Add.&lt;br /&gt;
##*# Close the window and select the port in the list.&lt;br /&gt;
## Configure the modem&lt;br /&gt;
##* Compass&amp;amp;reg; 1.x:&lt;br /&gt;
##*# Select Ademco for the Company&lt;br /&gt;
##*# Select Accura 336 as your modem type.&lt;br /&gt;
##* Compass&amp;amp;reg; 2.x:&lt;br /&gt;
##*# Select Ademco/First Alert for the Company.&lt;br /&gt;
##*# Select Ademco CIA 2400 as your modem type.&lt;br /&gt;
## Open (or create) as Customer&lt;br /&gt;
## Open the Communications screen&lt;br /&gt;
## Test your modem connection&lt;br /&gt;
### Set the panel phone number to whatever you prefer.  It is required but ignored.&lt;br /&gt;
### Uncheck the Answering Machine Defeat checkbox.&lt;br /&gt;
### Select the proper CSID setting for your install.&lt;br /&gt;
###* First Time Communication: Select this if your panel has a default CSID. (Field 36)&lt;br /&gt;
###** Acct # in Panel: Select this option if the Acct # has been programmed on your panel. (Field 32) The Account number in Compass&amp;amp;reg; much match.&lt;br /&gt;
### Click Connect&lt;br /&gt;
&lt;br /&gt;
=Using The Modem=&lt;br /&gt;
&lt;br /&gt;
Using Compass&amp;amp;reg; is beyond the scope of this document, but one thing that should be noted is the definition of UPLOAD and DOWNLOAD.&lt;br /&gt;
&lt;br /&gt;
These are opposite from traditional logic since they are defined as if from Compass&amp;amp;reg;' point of view at a alarm company.  UPLOAD retrieves the configuration from your panel and puts it into Compass&amp;amp;reg;.  DOWNLOAD does the opposite and writes the configuration to your panel.&lt;br /&gt;
&lt;br /&gt;
=Troubleshooting=&lt;br /&gt;
&lt;br /&gt;
==Connection to panel failed==&lt;br /&gt;
&lt;br /&gt;
There are a few things that can cause the connection to the panel to fail.  The following issues should be checked in the order they're presented, though the incorrect CSID is probably the most common issue.&lt;br /&gt;
&lt;br /&gt;
==Panel too old==&lt;br /&gt;
&lt;br /&gt;
Check the revision of your panel by following the instructions &amp;lt;here&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
It's a fairly simple process to swap the chip on your panel if the revision doesn't meet the minimum requirement.  You can find replacement chips with newer firmware for a reasonable price on Ebay.  After you get the chip it's as simple as popping the old one out and putting the new one in.  No reprogramming should be required.&lt;br /&gt;
&lt;br /&gt;
==Incorrect CSID==&lt;br /&gt;
&lt;br /&gt;
The CSID (Central Station ID) is the identifier that alarm companies use to authenticate with your panel.  There are two different states that this can be in:&lt;br /&gt;
&lt;br /&gt;
Factory state - default CSID:&lt;br /&gt;
&lt;br /&gt;
In a factory state the CSID is uninitialized and the panel can be connected to by using the First Time Communication option with the default CSID.&lt;br /&gt;
&lt;br /&gt;
CSID set:&lt;br /&gt;
&lt;br /&gt;
If your CSID has been changed by an alarm company then Compass&amp;amp;reg; cannot access your panel unless it's been specified correctly inside Compass&amp;amp;reg;.  You'll either need to obtain that ID from them or reset the dialer settings.  The dialer settings may be reset by using *96 in programming mode typically, but please consult your programming manual before doing so.&lt;br /&gt;
&lt;br /&gt;
Warning: If your alarm system is currently monitored you should note that changing your dialer settings (with *96 or otherwise) will potentially keep your alarm company from doing their job.&lt;br /&gt;
&lt;br /&gt;
==No COM port available in the AlarmDecoder Configuration tool==&lt;br /&gt;
&lt;br /&gt;
Please contact support at alarmdecoder@support.nutech.com and we'll help you figure out what's going on.&lt;br /&gt;
&lt;br /&gt;
=Getting Help=&lt;br /&gt;
&lt;br /&gt;
If you have issues with the software please feel free to contact us at alarmdecoder@support.nutech.com or post in our forums.&lt;br /&gt;
&lt;br /&gt;
Please include the following details with your request:&lt;br /&gt;
* Operating system&lt;br /&gt;
* Panel model&lt;br /&gt;
* Panel revision&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:88%&amp;quot;&amp;gt;&amp;amp;bull; All trademarks are the property of their respective owners.&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/File:Panel_revision.png</id>
		<title>File:Panel revision.png</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/File:Panel_revision.png"/>
				<updated>2016-01-15T21:33:43Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/File:Panel_model.png</id>
		<title>File:Panel model.png</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/File:Panel_model.png"/>
				<updated>2016-01-15T21:33:12Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/Supported_Home_Automation_Systems</id>
		<title>Supported Home Automation Systems</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/Supported_Home_Automation_Systems"/>
				<updated>2016-01-11T23:20:39Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ &lt;br /&gt;
[[Category:FAQ]]&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Specifications]]&lt;br /&gt;
[[Category:Features]]&lt;br /&gt;
When Sean Mathews first started putting solder and code into the first prototypes back in 2007 one of the primary design goals of the '''AlarmDecoder'''  was to make sure it would be easy to integrate with his own home automation system&lt;br /&gt;
To further his goals we have consistently provided support to anyone wanting to add support for an existing system. If you don't see your favorite product here then talk to the developers of that product and let them know about the AlarmDecoder and encourage them to add support.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;'''Here is a list of some of the systems that have support for the AlarmDecoder'''&amp;lt;/center&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| align=&amp;quot;center&amp;quot; class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;180px&amp;quot; | Product Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; | Driver License&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;300px&amp;quot; | Product URL&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;300px&amp;quot; | Solution Details&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#F5FFF5&amp;quot; align=&amp;quot;center&amp;quot; | Control4 &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | commercial &lt;br /&gt;
| http://www.houselogix.com&lt;br /&gt;
| [http://www.houselogix.com/ Phone &amp;amp; Email]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#F5FFF5&amp;quot; align=&amp;quot;center&amp;quot; | HomeSeer &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | commercial &lt;br /&gt;
| http://www.homeseer.com&lt;br /&gt;
| [http://board.homeseer.com/forumdisplay.php?f=992 Forum Thread]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#F5FFF5&amp;quot; align=&amp;quot;center&amp;quot; | mControl v2 &amp;amp; v3	 &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | commercial &lt;br /&gt;
| http://www.embeddedautomation.com&lt;br /&gt;
| [http://www.embeddedautomation.com/downloads/mcontrol/mControl%20v3%20-%20Feature%20Summary%20Document.pdf Page 24]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#F5FFF5&amp;quot; align=&amp;quot;center&amp;quot; | Vera2 &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | open source&lt;br /&gt;
| http://www.micasaverde.com&lt;br /&gt;
| [http://wiki.micasaverde.com/index.php/Supported_Hardware Wiki]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#F5FFF5&amp;quot; align=&amp;quot;center&amp;quot; | Misterhouse &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | open source &lt;br /&gt;
| http://misterhouse.sourceforge.net&lt;br /&gt;
| [https://sourceforge.net/mailarchive/message.php?msg_id=31468020 Email Thread]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#F5FFF5&amp;quot; align=&amp;quot;center&amp;quot; | Girder 5 &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | open source &lt;br /&gt;
| http://www.promixis.com&lt;br /&gt;
| [http://www.promixis.com/forums/showthread.php?21535-Nutech-AD2USB-Alarm-Panel-Integration/page2 Forum Thread]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#F5FFF5&amp;quot; align=&amp;quot;center&amp;quot; | Indigo &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | open source &lt;br /&gt;
| http://www.perceptiveautomation.com&lt;br /&gt;
| [http://www.perceptiveautomation.com/userforum/viewtopic.php?f=22&amp;amp;t=7584&amp;amp;start=0 Forum Thread]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#F5FFF5&amp;quot; align=&amp;quot;center&amp;quot; | Premise Home Control &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | open source &lt;br /&gt;
| [http://cocoontech.com/forums/page/home-automation-software/_/premise-r3 Info Page]&lt;br /&gt;
| [http://cocoontech.com/forums/topic/25698-ad2usb-for-vista-security-panels/ Forum Thread]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#F5FFF5&amp;quot; align=&amp;quot;center&amp;quot; | ISY-99&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | open source &lt;br /&gt;
| [https://www.universal-devices.com/residential/isy994i-series/ Info Page]&lt;br /&gt;
| [http://forum.universal-devices.com/topic/7648-ad2usb-nslu2-isy-99/#p61925 Forum Thread]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#F5FFF5&amp;quot; align=&amp;quot;center&amp;quot; | openHAB&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | open source&lt;br /&gt;
| [http://www.openhab.org/ http://www.openhab.org]&lt;br /&gt;
| [https://github.com/openhab/openhab/wiki/AlarmDecoder-binding openhab official], [https://github.com/N5QM/ad2openhab ad2openhab]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#F5FFF5&amp;quot; align=&amp;quot;center&amp;quot; | MACHomeAutomation XTension&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | commercial&lt;br /&gt;
| [http://machomeautomation.com/ http://machomeautomation.com/]&lt;br /&gt;
| [http://machomeautomation.com/doku.php/supported_hardware/ad2usb  MACHomeAutomation XTension]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#F5FFF5&amp;quot; align=&amp;quot;center&amp;quot; | SmartThings&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | open source&lt;br /&gt;
| [http://www.smartthings.com/ http://www.smartthings.com/]&lt;br /&gt;
| [http://community.smartthings.com/t/vista-alarm-integration-using-nutech-ad2usb-and-mac/7039 HowTo]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#F5FFF5&amp;quot; align=&amp;quot;center&amp;quot; | OpenRemote&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | open source&lt;br /&gt;
| [http://www.openremote.org/ http://www.openremote.org/]&lt;br /&gt;
| [http://www.openremote.org/display/forums/Support+for+communicating+with+Ademco+Security+Panel Info]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#F5FFF5&amp;quot; align=&amp;quot;center&amp;quot; | Write your own!&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| [[Developers|Developer Wiki]]&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
:As with all open source projects they by their very nature are in constant need for more contributors. Please contact us at [mailto:ad2usb@support.nutech.com ad2usb@support.nutech.com] if you are interested in supporting these or others and we will do our best to support your efforts.&lt;br /&gt;
&lt;br /&gt;
:* MisterHouse&lt;br /&gt;
:* LinuxMCE&lt;br /&gt;
:* Don't see your project here? &amp;lt;br&amp;gt;Drop us an email at [mailto:ad2usb@support.nutech.com ad2usb@support.nutech.com] and tell us about your project.&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/FirmwareRevisionHistory</id>
		<title>FirmwareRevisionHistory</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/FirmwareRevisionHistory"/>
				<updated>2015-10-13T22:58:01Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: /* 2.2a.8.3b */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=&amp;lt;span style=&amp;quot;color:#F56464&amp;quot;&amp;gt;Beta Releases&amp;lt;/span&amp;gt;=&lt;br /&gt;
&lt;br /&gt;
==2.2a.8.3b==&lt;br /&gt;
* Initial VPLEX support&lt;br /&gt;
** Connect V+ to 12V V- to GND and V+ to DI and make sure config mode is Ademco.&lt;br /&gt;
*** NOTE: only possible to connect to one BUS at a time for now so an additional AD2* is needed to monitor the VPLEX bus.&lt;br /&gt;
* improved re-transmit handling with Ademco/Vista&lt;br /&gt;
&lt;br /&gt;
=&amp;lt;span style=&amp;quot;color:#70BA66&amp;quot;&amp;gt;Stable Releases&amp;lt;/span&amp;gt;=&lt;br /&gt;
&lt;br /&gt;
==2.2a.8.2==&lt;br /&gt;
* Bugfixes&lt;br /&gt;
** Settings allocation bug&lt;br /&gt;
* Notes&lt;br /&gt;
** Shipping in all units built after October 2015&lt;br /&gt;
&lt;br /&gt;
==2.2a.8.1==&lt;br /&gt;
* New Features&lt;br /&gt;
** Missing DSC message&lt;br /&gt;
** First dotted quad revision&lt;br /&gt;
&lt;br /&gt;
==2.2a.8==&lt;br /&gt;
* New Features&lt;br /&gt;
** DSC panel support&lt;br /&gt;
** Compass download/upload support&lt;br /&gt;
** Blinking LED now displays error codes.&lt;br /&gt;
** New message type '!ERR' which can be retrieved by sending an 'e' to the AlarmDecoder&lt;br /&gt;
&lt;br /&gt;
==2.2a.6==&lt;br /&gt;
&lt;br /&gt;
==2.2a.4==&lt;br /&gt;
* New Features&lt;br /&gt;
** Keypad Address Mask&lt;br /&gt;
** Long Range Radio (LRR) Emulation&lt;br /&gt;
** Message deduplication&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/FirmwareRevisionHistory</id>
		<title>FirmwareRevisionHistory</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/FirmwareRevisionHistory"/>
				<updated>2015-10-13T20:23:55Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: /* 2.2a.8.3b */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=&amp;lt;span style=&amp;quot;color:#F56464&amp;quot;&amp;gt;Beta Releases&amp;lt;/span&amp;gt;=&lt;br /&gt;
&lt;br /&gt;
==2.2a.8.3b==&lt;br /&gt;
* Initial VPLEX support&lt;br /&gt;
** Connect V+ to 12V V- to GND and V+ to DI and enable VPLEX support in config.&lt;br /&gt;
*** NOTE: only possible to connect to one BUS at a time for now so an additional AD2* is needed to monitor the VPLEX bus.&lt;br /&gt;
* improved re-transmit handling with Ademco/Vista&lt;br /&gt;
&lt;br /&gt;
=&amp;lt;span style=&amp;quot;color:#70BA66&amp;quot;&amp;gt;Stable Releases&amp;lt;/span&amp;gt;=&lt;br /&gt;
&lt;br /&gt;
==2.2a.8.2==&lt;br /&gt;
* Bugfixes&lt;br /&gt;
** Settings allocation bug&lt;br /&gt;
* Notes&lt;br /&gt;
** Shipping in all units built after October 2015&lt;br /&gt;
&lt;br /&gt;
==2.2a.8.1==&lt;br /&gt;
* New Features&lt;br /&gt;
** Missing DSC message&lt;br /&gt;
** First dotted quad revision&lt;br /&gt;
&lt;br /&gt;
==2.2a.8==&lt;br /&gt;
* New Features&lt;br /&gt;
** DSC panel support&lt;br /&gt;
** Compass download/upload support&lt;br /&gt;
** Blinking LED now displays error codes.&lt;br /&gt;
** New message type '!ERR' which can be retrieved by sending an 'e' to the AlarmDecoder&lt;br /&gt;
&lt;br /&gt;
==2.2a.6==&lt;br /&gt;
&lt;br /&gt;
==2.2a.4==&lt;br /&gt;
* New Features&lt;br /&gt;
** Keypad Address Mask&lt;br /&gt;
** Long Range Radio (LRR) Emulation&lt;br /&gt;
** Message deduplication&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/FirmwareRevisionHistory</id>
		<title>FirmwareRevisionHistory</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/FirmwareRevisionHistory"/>
				<updated>2015-10-13T20:23:00Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: /* 2.2a.8.3b */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=&amp;lt;span style=&amp;quot;color:#F56464&amp;quot;&amp;gt;Beta Releases&amp;lt;/span&amp;gt;=&lt;br /&gt;
&lt;br /&gt;
==2.2a.8.3b==&lt;br /&gt;
* Initial VPLEX support&lt;br /&gt;
** Connect V+ to 12V V- to GND and V+ to DI and enable VPlex support in config&lt;br /&gt;
* improved re-transmit handling with Ademco/Vista&lt;br /&gt;
&lt;br /&gt;
=&amp;lt;span style=&amp;quot;color:#70BA66&amp;quot;&amp;gt;Stable Releases&amp;lt;/span&amp;gt;=&lt;br /&gt;
&lt;br /&gt;
==2.2a.8.2==&lt;br /&gt;
* Bugfixes&lt;br /&gt;
** Settings allocation bug&lt;br /&gt;
* Notes&lt;br /&gt;
** Shipping in all units built after October 2015&lt;br /&gt;
&lt;br /&gt;
==2.2a.8.1==&lt;br /&gt;
* New Features&lt;br /&gt;
** Missing DSC message&lt;br /&gt;
** First dotted quad revision&lt;br /&gt;
&lt;br /&gt;
==2.2a.8==&lt;br /&gt;
* New Features&lt;br /&gt;
** DSC panel support&lt;br /&gt;
** Compass download/upload support&lt;br /&gt;
** Blinking LED now displays error codes.&lt;br /&gt;
** New message type '!ERR' which can be retrieved by sending an 'e' to the AlarmDecoder&lt;br /&gt;
&lt;br /&gt;
==2.2a.6==&lt;br /&gt;
&lt;br /&gt;
==2.2a.4==&lt;br /&gt;
* New Features&lt;br /&gt;
** Keypad Address Mask&lt;br /&gt;
** Long Range Radio (LRR) Emulation&lt;br /&gt;
** Message deduplication&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/Firmware</id>
		<title>Firmware</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/Firmware"/>
				<updated>2015-10-13T20:13:45Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: /* Download */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.alarmdecoder.com/downloads/firmware/2.2/ademcoemu_V2_2a_8_3b.zip 2.2a.8.3b]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Downloads]]&lt;br /&gt;
{{PageHeading|&lt;br /&gt;
The current stable firmware is '''V2.2a.8'''. It is not possible to brick the AlarmDecoder but it can get into some states that make firmware updates difficult so be patient when updating the firmware in your AlarmDecoder.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Identifying your Board Revision==&lt;br /&gt;
Use the images below to identify what revision of AlarmDecoder you have.&lt;br /&gt;
&lt;br /&gt;
{| summary=&amp;quot;AlarmDecoder Devices and Revisions&amp;quot;&lt;br /&gt;
|[[File:2_2_board.jpg|thumb|2.2 (AD2USB)]]&lt;br /&gt;
|[[File:2_2_serial.jpg|thumb|2.2 (AD2SERIAL)]]&lt;br /&gt;
|[[File:Ad2pi.png|thumb|2.2 (AD2PI)]]&lt;br /&gt;
|[[File:2_0_board.jpg|thumb|2.0 (AD2USB)]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Checking your Firmware Version==&lt;br /&gt;
You can retrieve the version information by connecting to your device with a terminal program (PuTTY, screen, etc.) and sending the &amp;lt;b&amp;gt;V&amp;lt;/b&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
A response will be returned with your current version information:&lt;br /&gt;
  !VER:ffffffff,'''V2.2a.8a8''',TX;RX;SM;VZ;RF;ZX;RE;AU;3X;CG;DD;MF;LR;KE;MK;CB;DS&lt;br /&gt;
&lt;br /&gt;
==Download==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;120px&amp;quot; | Board Revision&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;140px&amp;quot; | Firmware Version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;60px&amp;quot; | Revision History&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #70BA66; font-weight: bold&amp;quot; | Stable&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-weight: bold&amp;quot; | 2.2+&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.2/ademcoemu_V2_2a_8_2.zip 2.2a.8.2] &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[FirmwareRevisionHistory#2.2a.8.2|link]]&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-weight: bold&amp;quot; | 2.2+&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.2/ademcoemu_V2_2a_6.zip 2.2a.6] &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[FirmwareRevisionHistory#2.2a.6|link]]&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 2.0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.0/ademcoemu_V2_1f_10.zip 2.1f.10] &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | -&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #F56464; font-weight: bold&amp;quot; | Beta&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-weight: bold&amp;quot; | 2.2+&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.2/ademcoemu_V2_2a_8_3b.zip 2.2a.8.3b]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[FirmwareRevisionHistory#2.2a.8.3b|link]]&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #FAFA70; font-weight: bold&amp;quot; | Legacy&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-weight: bold&amp;quot; | 2.2+&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.2/ademcoemu_V2_2a_3_beta.zip 2.2a.3] &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | -&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-weight: bold&amp;quot; | 2.2+&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.2/ademcoemu_V2_2a_2.zip 2.2a.2] &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | -&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 2.0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.0/ademcoemu_V2_1f_0e.zip 2.1f.0e] &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | -&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 2.0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.0/ademcoemu_V2_1f_0d.zip 2.1f.0d] &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | -&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 2.0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.0/ademcoemu_V1_0f_26.zip 1.0f.26] &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Instructions==&lt;br /&gt;
; There are a few different ways to go about flashing your device.&lt;br /&gt;
&lt;br /&gt;
# Make sure that you have completed the installation and can communicate with your device through a terminal program. (PuTTY, screen, etc.)&lt;br /&gt;
# Download one of the available programs.&lt;br /&gt;
#* [[AlarmDecoder_Keypad|AlarmDecoder Keypad]] - .NET/Mono and Gtk#&lt;br /&gt;
#* [http://www.alarmdecoder.com/downloads/firmwareupload.zip Console firmware uploader] - .NET/Mono&lt;br /&gt;
#* [http://github.com/nutechsoftware/alarmdecoder ad2-firmwareupload] - from the official Python library&lt;br /&gt;
# Download your desired firmware from the choices above.&lt;br /&gt;
# Flash the firmware&lt;br /&gt;
#* AlarmDecoder Keypad&lt;br /&gt;
#*# Navigate to &amp;lt;tt&amp;gt;System -&amp;gt; Firmware Upload&amp;lt;/tt&amp;gt;&lt;br /&gt;
#*# Select the firmware file to upload.&lt;br /&gt;
#*# The program will start uploading automatically.&lt;br /&gt;
#* Console firmware uploader&lt;br /&gt;
#*# &amp;lt;tt&amp;gt;firmwareupload COM6 115200 firmware.hex&amp;lt;/tt&amp;gt;&lt;br /&gt;
#* ad2-firmwareupload&lt;br /&gt;
#*# &amp;lt;tt&amp;gt;ad2-firmwareupload firmware.hex /dev/ttyUSB0 115200&amp;lt;/tt&amp;gt;&lt;br /&gt;
# Confirm communication with your device.&lt;br /&gt;
# Reset your device's configuration by sending &amp;lt;b&amp;gt;!&amp;lt;/b&amp;gt; and going through the prompts.&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/Firmware</id>
		<title>Firmware</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/Firmware"/>
				<updated>2015-10-13T20:11:09Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: /* Download */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.alarmdecoder.com/downloads/firmware/2.2/ademcoemu_V2_2a_8_3b.zip 2.2a.8.3b]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Downloads]]&lt;br /&gt;
{{PageHeading|&lt;br /&gt;
The current stable firmware is '''V2.2a.8'''. It is not possible to brick the AlarmDecoder but it can get into some states that make firmware updates difficult so be patient when updating the firmware in your AlarmDecoder.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Identifying your Board Revision==&lt;br /&gt;
Use the images below to identify what revision of AlarmDecoder you have.&lt;br /&gt;
&lt;br /&gt;
{| summary=&amp;quot;AlarmDecoder Devices and Revisions&amp;quot;&lt;br /&gt;
|[[File:2_2_board.jpg|thumb|2.2 (AD2USB)]]&lt;br /&gt;
|[[File:2_2_serial.jpg|thumb|2.2 (AD2SERIAL)]]&lt;br /&gt;
|[[File:Ad2pi.png|thumb|2.2 (AD2PI)]]&lt;br /&gt;
|[[File:2_0_board.jpg|thumb|2.0 (AD2USB)]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Checking your Firmware Version==&lt;br /&gt;
You can retrieve the version information by connecting to your device with a terminal program (PuTTY, screen, etc.) and sending the &amp;lt;b&amp;gt;V&amp;lt;/b&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
A response will be returned with your current version information:&lt;br /&gt;
  !VER:ffffffff,'''V2.2a.8a8''',TX;RX;SM;VZ;RF;ZX;RE;AU;3X;CG;DD;MF;LR;KE;MK;CB;DS&lt;br /&gt;
&lt;br /&gt;
==Download==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;120px&amp;quot; | Board Revision&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;140px&amp;quot; | Firmware Version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;60px&amp;quot; | Revision History&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #70BA66; font-weight: bold&amp;quot; | Stable&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-weight: bold&amp;quot; | 2.2+&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.2/ademcoemu_V2_2a_8.zip 2.2a.8.2] &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[FirmwareRevisionHistory#2.2a.8.2|link]]&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-weight: bold&amp;quot; | 2.2+&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.2/ademcoemu_V2_2a_6.zip 2.2a.6] &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[FirmwareRevisionHistory#2.2a.6|link]]&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 2.0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.0/ademcoemu_V2_1f_10.zip 2.1f.10] &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | -&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #F56464; font-weight: bold&amp;quot; | Beta&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-weight: bold&amp;quot; | 2.2+&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.2/ademcoemu_V2_2a_8_3b.zip 2.2a.8.3b]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[FirmwareRevisionHistory#2.2a.8.3b|link]]&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #FAFA70; font-weight: bold&amp;quot; | Legacy&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-weight: bold&amp;quot; | 2.2+&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.2/ademcoemu_V2_2a_3_beta.zip 2.2a.3] &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | -&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-weight: bold&amp;quot; | 2.2+&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.2/ademcoemu_V2_2a_2.zip 2.2a.2] &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | -&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 2.0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.0/ademcoemu_V2_1f_0e.zip 2.1f.0e] &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | -&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 2.0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.0/ademcoemu_V2_1f_0d.zip 2.1f.0d] &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | -&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 2.0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.0/ademcoemu_V1_0f_26.zip 1.0f.26] &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Instructions==&lt;br /&gt;
; There are a few different ways to go about flashing your device.&lt;br /&gt;
&lt;br /&gt;
# Make sure that you have completed the installation and can communicate with your device through a terminal program. (PuTTY, screen, etc.)&lt;br /&gt;
# Download one of the available programs.&lt;br /&gt;
#* [[AlarmDecoder_Keypad|AlarmDecoder Keypad]] - .NET/Mono and Gtk#&lt;br /&gt;
#* [http://www.alarmdecoder.com/downloads/firmwareupload.zip Console firmware uploader] - .NET/Mono&lt;br /&gt;
#* [http://github.com/nutechsoftware/alarmdecoder ad2-firmwareupload] - from the official Python library&lt;br /&gt;
# Download your desired firmware from the choices above.&lt;br /&gt;
# Flash the firmware&lt;br /&gt;
#* AlarmDecoder Keypad&lt;br /&gt;
#*# Navigate to &amp;lt;tt&amp;gt;System -&amp;gt; Firmware Upload&amp;lt;/tt&amp;gt;&lt;br /&gt;
#*# Select the firmware file to upload.&lt;br /&gt;
#*# The program will start uploading automatically.&lt;br /&gt;
#* Console firmware uploader&lt;br /&gt;
#*# &amp;lt;tt&amp;gt;firmwareupload COM6 115200 firmware.hex&amp;lt;/tt&amp;gt;&lt;br /&gt;
#* ad2-firmwareupload&lt;br /&gt;
#*# &amp;lt;tt&amp;gt;ad2-firmwareupload firmware.hex /dev/ttyUSB0 115200&amp;lt;/tt&amp;gt;&lt;br /&gt;
# Confirm communication with your device.&lt;br /&gt;
# Reset your device's configuration by sending &amp;lt;b&amp;gt;!&amp;lt;/b&amp;gt; and going through the prompts.&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/FirmwareRevisionHistory</id>
		<title>FirmwareRevisionHistory</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/FirmwareRevisionHistory"/>
				<updated>2015-10-13T20:10:43Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: /* Beta Releases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=&amp;lt;span style=&amp;quot;color:#F56464&amp;quot;&amp;gt;Beta Releases&amp;lt;/span&amp;gt;=&lt;br /&gt;
&lt;br /&gt;
==2.2a.8.3b==&lt;br /&gt;
* Something&lt;br /&gt;
* Something else&lt;br /&gt;
* Something else else&lt;br /&gt;
&lt;br /&gt;
=&amp;lt;span style=&amp;quot;color:#70BA66&amp;quot;&amp;gt;Stable Releases&amp;lt;/span&amp;gt;=&lt;br /&gt;
&lt;br /&gt;
==2.2a.8.2==&lt;br /&gt;
* Bugfixes&lt;br /&gt;
** Settings allocation bug&lt;br /&gt;
* Notes&lt;br /&gt;
** Shipping in all units built after October 2015&lt;br /&gt;
&lt;br /&gt;
==2.2a.8.1==&lt;br /&gt;
* New Features&lt;br /&gt;
** Missing DSC message&lt;br /&gt;
** First dotted quad revision&lt;br /&gt;
&lt;br /&gt;
==2.2a.8==&lt;br /&gt;
* New Features&lt;br /&gt;
** DSC panel support&lt;br /&gt;
** Compass download/upload support&lt;br /&gt;
** Blinking LED now displays error codes.&lt;br /&gt;
** New message type '!ERR' which can be retrieved by sending an 'e' to the AlarmDecoder&lt;br /&gt;
&lt;br /&gt;
==2.2a.6==&lt;br /&gt;
&lt;br /&gt;
==2.2a.4==&lt;br /&gt;
* New Features&lt;br /&gt;
** Keypad Address Mask&lt;br /&gt;
** Long Range Radio (LRR) Emulation&lt;br /&gt;
** Message deduplication&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/Firmware</id>
		<title>Firmware</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/Firmware"/>
				<updated>2015-10-13T20:10:22Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: /* Download */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.alarmdecoder.com/downloads/firmware/2.2/ademcoemu_V2_2a_8_3b.zip 2.2a.8.3b]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Downloads]]&lt;br /&gt;
{{PageHeading|&lt;br /&gt;
The current stable firmware is '''V2.2a.8'''. It is not possible to brick the AlarmDecoder but it can get into some states that make firmware updates difficult so be patient when updating the firmware in your AlarmDecoder.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Identifying your Board Revision==&lt;br /&gt;
Use the images below to identify what revision of AlarmDecoder you have.&lt;br /&gt;
&lt;br /&gt;
{| summary=&amp;quot;AlarmDecoder Devices and Revisions&amp;quot;&lt;br /&gt;
|[[File:2_2_board.jpg|thumb|2.2 (AD2USB)]]&lt;br /&gt;
|[[File:2_2_serial.jpg|thumb|2.2 (AD2SERIAL)]]&lt;br /&gt;
|[[File:Ad2pi.png|thumb|2.2 (AD2PI)]]&lt;br /&gt;
|[[File:2_0_board.jpg|thumb|2.0 (AD2USB)]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Checking your Firmware Version==&lt;br /&gt;
You can retrieve the version information by connecting to your device with a terminal program (PuTTY, screen, etc.) and sending the &amp;lt;b&amp;gt;V&amp;lt;/b&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
A response will be returned with your current version information:&lt;br /&gt;
  !VER:ffffffff,'''V2.2a.8a8''',TX;RX;SM;VZ;RF;ZX;RE;AU;3X;CG;DD;MF;LR;KE;MK;CB;DS&lt;br /&gt;
&lt;br /&gt;
==Download==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;120px&amp;quot; | Board Revision&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;140px&amp;quot; | Firmware Version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;60px&amp;quot; | Revision History&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #70BA66; font-weight: bold&amp;quot; | Stable&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-weight: bold&amp;quot; | 2.2+&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.2/ademcoemu_V2_2a_8.zip 2.2a.8] &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[FirmwareRevisionHistory#2.2a.8.2|link]]&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-weight: bold&amp;quot; | 2.2+&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.2/ademcoemu_V2_2a_6.zip 2.2a.6] &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[FirmwareRevisionHistory#2.2a.6|link]]&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 2.0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.0/ademcoemu_V2_1f_10.zip 2.1f.10] &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | -&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #F56464; font-weight: bold&amp;quot; | Beta&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-weight: bold&amp;quot; | 2.2+&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.2/ademcoemu_V2_2a_8_3b.zip 2.2a.8.3b]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[FirmwareRevisionHistory#2.2a.8.3b|link]]&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #FAFA70; font-weight: bold&amp;quot; | Legacy&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-weight: bold&amp;quot; | 2.2+&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.2/ademcoemu_V2_2a_3_beta.zip 2.2a.3] &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | -&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-weight: bold&amp;quot; | 2.2+&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.2/ademcoemu_V2_2a_2.zip 2.2a.2] &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | -&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 2.0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.0/ademcoemu_V2_1f_0e.zip 2.1f.0e] &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | -&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 2.0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.0/ademcoemu_V2_1f_0d.zip 2.1f.0d] &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | -&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 2.0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.0/ademcoemu_V1_0f_26.zip 1.0f.26] &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Instructions==&lt;br /&gt;
; There are a few different ways to go about flashing your device.&lt;br /&gt;
&lt;br /&gt;
# Make sure that you have completed the installation and can communicate with your device through a terminal program. (PuTTY, screen, etc.)&lt;br /&gt;
# Download one of the available programs.&lt;br /&gt;
#* [[AlarmDecoder_Keypad|AlarmDecoder Keypad]] - .NET/Mono and Gtk#&lt;br /&gt;
#* [http://www.alarmdecoder.com/downloads/firmwareupload.zip Console firmware uploader] - .NET/Mono&lt;br /&gt;
#* [http://github.com/nutechsoftware/alarmdecoder ad2-firmwareupload] - from the official Python library&lt;br /&gt;
# Download your desired firmware from the choices above.&lt;br /&gt;
# Flash the firmware&lt;br /&gt;
#* AlarmDecoder Keypad&lt;br /&gt;
#*# Navigate to &amp;lt;tt&amp;gt;System -&amp;gt; Firmware Upload&amp;lt;/tt&amp;gt;&lt;br /&gt;
#*# Select the firmware file to upload.&lt;br /&gt;
#*# The program will start uploading automatically.&lt;br /&gt;
#* Console firmware uploader&lt;br /&gt;
#*# &amp;lt;tt&amp;gt;firmwareupload COM6 115200 firmware.hex&amp;lt;/tt&amp;gt;&lt;br /&gt;
#* ad2-firmwareupload&lt;br /&gt;
#*# &amp;lt;tt&amp;gt;ad2-firmwareupload firmware.hex /dev/ttyUSB0 115200&amp;lt;/tt&amp;gt;&lt;br /&gt;
# Confirm communication with your device.&lt;br /&gt;
# Reset your device's configuration by sending &amp;lt;b&amp;gt;!&amp;lt;/b&amp;gt; and going through the prompts.&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/FirmwareRevisionHistory</id>
		<title>FirmwareRevisionHistory</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/FirmwareRevisionHistory"/>
				<updated>2015-10-13T20:06:24Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: /* Stable Releases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=&amp;lt;span style=&amp;quot;color:#F56464&amp;quot;&amp;gt;Beta Releases&amp;lt;/span&amp;gt;=&lt;br /&gt;
&lt;br /&gt;
==2.2a.8.3a==&lt;br /&gt;
* Something&lt;br /&gt;
* Something else&lt;br /&gt;
* Something else else&lt;br /&gt;
&lt;br /&gt;
=&amp;lt;span style=&amp;quot;color:#70BA66&amp;quot;&amp;gt;Stable Releases&amp;lt;/span&amp;gt;=&lt;br /&gt;
&lt;br /&gt;
==2.2a.8.2==&lt;br /&gt;
* Bugfixes&lt;br /&gt;
** Settings allocation bug&lt;br /&gt;
* Notes&lt;br /&gt;
** Shipping in all units built after October 2015&lt;br /&gt;
&lt;br /&gt;
==2.2a.8.1==&lt;br /&gt;
* New Features&lt;br /&gt;
** Missing DSC message&lt;br /&gt;
** First dotted quad revision&lt;br /&gt;
&lt;br /&gt;
==2.2a.8==&lt;br /&gt;
* New Features&lt;br /&gt;
** DSC panel support&lt;br /&gt;
** Compass download/upload support&lt;br /&gt;
** Blinking LED now displays error codes.&lt;br /&gt;
** New message type '!ERR' which can be retrieved by sending an 'e' to the AlarmDecoder&lt;br /&gt;
&lt;br /&gt;
==2.2a.6==&lt;br /&gt;
&lt;br /&gt;
==2.2a.4==&lt;br /&gt;
* New Features&lt;br /&gt;
** Keypad Address Mask&lt;br /&gt;
** Long Range Radio (LRR) Emulation&lt;br /&gt;
** Message deduplication&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/Firmware</id>
		<title>Firmware</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/Firmware"/>
				<updated>2015-10-13T20:05:18Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: /* Download */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Downloads]]&lt;br /&gt;
{{PageHeading|&lt;br /&gt;
The current stable firmware is '''V2.2a.8'''. It is not possible to brick the AlarmDecoder but it can get into some states that make firmware updates difficult so be patient when updating the firmware in your AlarmDecoder.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Identifying your Board Revision==&lt;br /&gt;
Use the images below to identify what revision of AlarmDecoder you have.&lt;br /&gt;
&lt;br /&gt;
{| summary=&amp;quot;AlarmDecoder Devices and Revisions&amp;quot;&lt;br /&gt;
|[[File:2_2_board.jpg|thumb|2.2 (AD2USB)]]&lt;br /&gt;
|[[File:2_2_serial.jpg|thumb|2.2 (AD2SERIAL)]]&lt;br /&gt;
|[[File:Ad2pi.png|thumb|2.2 (AD2PI)]]&lt;br /&gt;
|[[File:2_0_board.jpg|thumb|2.0 (AD2USB)]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Checking your Firmware Version==&lt;br /&gt;
You can retrieve the version information by connecting to your device with a terminal program (PuTTY, screen, etc.) and sending the &amp;lt;b&amp;gt;V&amp;lt;/b&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
A response will be returned with your current version information:&lt;br /&gt;
  !VER:ffffffff,'''V2.2a.8a8''',TX;RX;SM;VZ;RF;ZX;RE;AU;3X;CG;DD;MF;LR;KE;MK;CB;DS&lt;br /&gt;
&lt;br /&gt;
==Download==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;120px&amp;quot; | Board Revision&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; with=&amp;quot;140px&amp;quot; | Firmware Version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; with=&amp;quot;140px&amp;quot; | Revision Details&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #70BA66; font-weight: bold&amp;quot; | Stable&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-weight: bold&amp;quot; | 2.2+&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.2/ademcoemu_V2_2a_8.zip 2.2a.8.2]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-weight: bold&amp;quot; | 2.2+&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.2/ademcoemu_V2_2a_6.zip 2.2a.6]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 2.0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.0/ademcoemu_V2_1f_10.zip 2.1f.10]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #F56464; font-weight: bold&amp;quot; | Beta&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-weight: bold&amp;quot; | 2.2+&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | &lt;br /&gt;
[http://www.alarmdecoder.com/downloads/firmware/2.2/ademcoemu_V2_2a_8_3b.zip 2.2a.8.3b]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #FAFA70; font-weight: bold&amp;quot; | Legacy&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-weight: bold&amp;quot; | 2.2+&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.2/ademcoemu_V2_2a_3_beta.zip 2.2a.3]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-weight: bold&amp;quot; | 2.2+&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.2/ademcoemu_V2_2a_2.zip 2.2a.2]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 2.0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.0/ademcoemu_V2_1f_0e.zip 2.1f.0e]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 2.0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.0/ademcoemu_V2_1f_0d.zip 2.1f.0d]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 2.0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.0/ademcoemu_V1_0f_26.zip 1.0f.26]&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Instructions==&lt;br /&gt;
; There are a few different ways to go about flashing your device.&lt;br /&gt;
&lt;br /&gt;
# Make sure that you have completed the installation and can communicate with your device through a terminal program. (PuTTY, screen, etc.)&lt;br /&gt;
# Download one of the available programs.&lt;br /&gt;
#* [[AlarmDecoder_Keypad|AlarmDecoder Keypad]] - .NET/Mono and Gtk#&lt;br /&gt;
#* [http://www.alarmdecoder.com/downloads/firmwareupload.zip Console firmware uploader] - .NET/Mono&lt;br /&gt;
#* [http://github.com/nutechsoftware/alarmdecoder ad2-firmwareupload] - from the official Python library&lt;br /&gt;
# Download your desired firmware from the choices above.&lt;br /&gt;
# Flash the firmware&lt;br /&gt;
#* AlarmDecoder Keypad&lt;br /&gt;
#*# Navigate to &amp;lt;tt&amp;gt;System -&amp;gt; Firmware Upload&amp;lt;/tt&amp;gt;&lt;br /&gt;
#*# Select the firmware file to upload.&lt;br /&gt;
#*# The program will start uploading automatically.&lt;br /&gt;
#* Console firmware uploader&lt;br /&gt;
#*# &amp;lt;tt&amp;gt;firmwareupload COM6 115200 firmware.hex&amp;lt;/tt&amp;gt;&lt;br /&gt;
#* ad2-firmwareupload&lt;br /&gt;
#*# &amp;lt;tt&amp;gt;ad2-firmwareupload firmware.hex /dev/ttyUSB0 115200&amp;lt;/tt&amp;gt;&lt;br /&gt;
# Confirm communication with your device.&lt;br /&gt;
# Reset your device's configuration by sending &amp;lt;b&amp;gt;!&amp;lt;/b&amp;gt; and going through the prompts.&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/Firmware</id>
		<title>Firmware</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/Firmware"/>
				<updated>2015-10-13T19:59:36Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: /* Download */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Downloads]]&lt;br /&gt;
{{PageHeading|&lt;br /&gt;
The current stable firmware is '''V2.2a.8'''. It is not possible to brick the AlarmDecoder but it can get into some states that make firmware updates difficult so be patient when updating the firmware in your AlarmDecoder.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Identifying your Board Revision==&lt;br /&gt;
Use the images below to identify what revision of AlarmDecoder you have.&lt;br /&gt;
&lt;br /&gt;
{| summary=&amp;quot;AlarmDecoder Devices and Revisions&amp;quot;&lt;br /&gt;
|[[File:2_2_board.jpg|thumb|2.2 (AD2USB)]]&lt;br /&gt;
|[[File:2_2_serial.jpg|thumb|2.2 (AD2SERIAL)]]&lt;br /&gt;
|[[File:Ad2pi.png|thumb|2.2 (AD2PI)]]&lt;br /&gt;
|[[File:2_0_board.jpg|thumb|2.0 (AD2USB)]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Checking your Firmware Version==&lt;br /&gt;
You can retrieve the version information by connecting to your device with a terminal program (PuTTY, screen, etc.) and sending the &amp;lt;b&amp;gt;V&amp;lt;/b&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
A response will be returned with your current version information:&lt;br /&gt;
  !VER:ffffffff,'''V2.2a.8a8''',TX;RX;SM;VZ;RF;ZX;RE;AU;3X;CG;DD;MF;LR;KE;MK;CB;DS&lt;br /&gt;
&lt;br /&gt;
==Download==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;120px&amp;quot; | Board Revision&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; with=&amp;quot;140px&amp;quot; | Firmware Version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; with=&amp;quot;140px&amp;quot; | Revision Details&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #70BA66; font-weight: bold&amp;quot; | Stable&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-weight: bold&amp;quot; | 2.2+&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.2/ademcoemu_V2_2a_8.zip 2.2a.8.2]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-weight: bold&amp;quot; | 2.2+&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.2/ademcoemu_V2_2a_6.zip 2.2a.6]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 2.0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.0/ademcoemu_V2_1f_10.zip 2.1f.10]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #F56464; font-weight: bold&amp;quot; | Beta&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-weight: bold&amp;quot; | 2.2+&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | &lt;br /&gt;
[http://www.alarmdecoder.com/downloads/firmware/2.2/ademcoemu_V2_2a_8_3b.zip 2.2a.8.3b]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #FAFA70; font-weight: bold&amp;quot; | Legacy&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-weight: bold&amp;quot; | 2.2+&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.2/ademcoemu_V2_2a_8_3_beta.zip 2.2a.8.3]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-weight: bold&amp;quot; | 2.2+&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.2/ademcoemu_V2_2a_2.zip 2.2a.2]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 2.0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.0/ademcoemu_V2_1f_0e.zip 2.1f.0e]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 2.0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.0/ademcoemu_V2_1f_0d.zip 2.1f.0d]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 2.0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.0/ademcoemu_V1_0f_26.zip 1.0f.26]&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Instructions==&lt;br /&gt;
; There are a few different ways to go about flashing your device.&lt;br /&gt;
&lt;br /&gt;
# Make sure that you have completed the installation and can communicate with your device through a terminal program. (PuTTY, screen, etc.)&lt;br /&gt;
# Download one of the available programs.&lt;br /&gt;
#* [[AlarmDecoder_Keypad|AlarmDecoder Keypad]] - .NET/Mono and Gtk#&lt;br /&gt;
#* [http://www.alarmdecoder.com/downloads/firmwareupload.zip Console firmware uploader] - .NET/Mono&lt;br /&gt;
#* [http://github.com/nutechsoftware/alarmdecoder ad2-firmwareupload] - from the official Python library&lt;br /&gt;
# Download your desired firmware from the choices above.&lt;br /&gt;
# Flash the firmware&lt;br /&gt;
#* AlarmDecoder Keypad&lt;br /&gt;
#*# Navigate to &amp;lt;tt&amp;gt;System -&amp;gt; Firmware Upload&amp;lt;/tt&amp;gt;&lt;br /&gt;
#*# Select the firmware file to upload.&lt;br /&gt;
#*# The program will start uploading automatically.&lt;br /&gt;
#* Console firmware uploader&lt;br /&gt;
#*# &amp;lt;tt&amp;gt;firmwareupload COM6 115200 firmware.hex&amp;lt;/tt&amp;gt;&lt;br /&gt;
#* ad2-firmwareupload&lt;br /&gt;
#*# &amp;lt;tt&amp;gt;ad2-firmwareupload firmware.hex /dev/ttyUSB0 115200&amp;lt;/tt&amp;gt;&lt;br /&gt;
# Confirm communication with your device.&lt;br /&gt;
# Reset your device's configuration by sending &amp;lt;b&amp;gt;!&amp;lt;/b&amp;gt; and going through the prompts.&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/Firmware</id>
		<title>Firmware</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/Firmware"/>
				<updated>2015-10-13T19:58:24Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: /* Download */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Downloads]]&lt;br /&gt;
{{PageHeading|&lt;br /&gt;
The current stable firmware is '''V2.2a.8'''. It is not possible to brick the AlarmDecoder but it can get into some states that make firmware updates difficult so be patient when updating the firmware in your AlarmDecoder.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Identifying your Board Revision==&lt;br /&gt;
Use the images below to identify what revision of AlarmDecoder you have.&lt;br /&gt;
&lt;br /&gt;
{| summary=&amp;quot;AlarmDecoder Devices and Revisions&amp;quot;&lt;br /&gt;
|[[File:2_2_board.jpg|thumb|2.2 (AD2USB)]]&lt;br /&gt;
|[[File:2_2_serial.jpg|thumb|2.2 (AD2SERIAL)]]&lt;br /&gt;
|[[File:Ad2pi.png|thumb|2.2 (AD2PI)]]&lt;br /&gt;
|[[File:2_0_board.jpg|thumb|2.0 (AD2USB)]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Checking your Firmware Version==&lt;br /&gt;
You can retrieve the version information by connecting to your device with a terminal program (PuTTY, screen, etc.) and sending the &amp;lt;b&amp;gt;V&amp;lt;/b&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
A response will be returned with your current version information:&lt;br /&gt;
  !VER:ffffffff,'''V2.2a.8a8''',TX;RX;SM;VZ;RF;ZX;RE;AU;3X;CG;DD;MF;LR;KE;MK;CB;DS&lt;br /&gt;
&lt;br /&gt;
==Download==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;120px&amp;quot; | Board Revision&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; with=&amp;quot;140px&amp;quot; | Firmware Version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; with=&amp;quot;140px&amp;quot; | Revision Details&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #70BA66; font-weight: bold&amp;quot; | Stable&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-weight: bold&amp;quot; | 2.2+&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.2/ademcoemu_V2_2a_8.zip 2.2a.8.2]&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-weight: bold&amp;quot; | 2.2+&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.2/ademcoemu_V2_2a_6.zip 2.2a.6]&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 2.0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.0/ademcoemu_V2_1f_10.zip 2.1f.10]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #F56464; font-weight: bold&amp;quot; | Beta&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-weight: bold&amp;quot; | 2.2+&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | &lt;br /&gt;
[http://www.alarmdecoder.com/downloads/firmware/2.2/ademcoemu_V2_2a_8_3b.zip 2.2a.8.3b]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #FAFA70; font-weight: bold&amp;quot; | Legacy&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-weight: bold&amp;quot; | 2.2+&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.2/ademcoemu_V2_2a_8_3_beta.zip 2.2a.8.3]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-weight: bold&amp;quot; | 2.2+&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.2/ademcoemu_V2_2a_2.zip 2.2a.2]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 2.0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.0/ademcoemu_V2_1f_0e.zip 2.1f.0e]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 2.0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.0/ademcoemu_V2_1f_0d.zip 2.1f.0d]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 2.0&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/firmware/2.0/ademcoemu_V1_0f_26.zip 1.0f.26]&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Instructions==&lt;br /&gt;
; There are a few different ways to go about flashing your device.&lt;br /&gt;
&lt;br /&gt;
# Make sure that you have completed the installation and can communicate with your device through a terminal program. (PuTTY, screen, etc.)&lt;br /&gt;
# Download one of the available programs.&lt;br /&gt;
#* [[AlarmDecoder_Keypad|AlarmDecoder Keypad]] - .NET/Mono and Gtk#&lt;br /&gt;
#* [http://www.alarmdecoder.com/downloads/firmwareupload.zip Console firmware uploader] - .NET/Mono&lt;br /&gt;
#* [http://github.com/nutechsoftware/alarmdecoder ad2-firmwareupload] - from the official Python library&lt;br /&gt;
# Download your desired firmware from the choices above.&lt;br /&gt;
# Flash the firmware&lt;br /&gt;
#* AlarmDecoder Keypad&lt;br /&gt;
#*# Navigate to &amp;lt;tt&amp;gt;System -&amp;gt; Firmware Upload&amp;lt;/tt&amp;gt;&lt;br /&gt;
#*# Select the firmware file to upload.&lt;br /&gt;
#*# The program will start uploading automatically.&lt;br /&gt;
#* Console firmware uploader&lt;br /&gt;
#*# &amp;lt;tt&amp;gt;firmwareupload COM6 115200 firmware.hex&amp;lt;/tt&amp;gt;&lt;br /&gt;
#* ad2-firmwareupload&lt;br /&gt;
#*# &amp;lt;tt&amp;gt;ad2-firmwareupload firmware.hex /dev/ttyUSB0 115200&amp;lt;/tt&amp;gt;&lt;br /&gt;
# Confirm communication with your device.&lt;br /&gt;
# Reset your device's configuration by sending &amp;lt;b&amp;gt;!&amp;lt;/b&amp;gt; and going through the prompts.&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/FirmwareRevisionHistory</id>
		<title>FirmwareRevisionHistory</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/FirmwareRevisionHistory"/>
				<updated>2015-10-13T19:57:38Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: Created page with &amp;quot;=&amp;lt;span style=&amp;quot;color:#F56464&amp;quot;&amp;gt;Beta Releases&amp;lt;/span&amp;gt;=  ==2.2a.8.3a== * Something * Something else * Something else else  =&amp;lt;span style=&amp;quot;color:#70BA66&amp;quot;&amp;gt;Stable Releases&amp;lt;/span&amp;gt;=  ==2...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=&amp;lt;span style=&amp;quot;color:#F56464&amp;quot;&amp;gt;Beta Releases&amp;lt;/span&amp;gt;=&lt;br /&gt;
&lt;br /&gt;
==2.2a.8.3a==&lt;br /&gt;
* Something&lt;br /&gt;
* Something else&lt;br /&gt;
* Something else else&lt;br /&gt;
&lt;br /&gt;
=&amp;lt;span style=&amp;quot;color:#70BA66&amp;quot;&amp;gt;Stable Releases&amp;lt;/span&amp;gt;=&lt;br /&gt;
&lt;br /&gt;
==2.2a.8.2==&lt;br /&gt;
* Bugfixes&lt;br /&gt;
** Settings allocation bug&lt;br /&gt;
* Notes&lt;br /&gt;
** Shipping in all units built after October 2015&lt;br /&gt;
&lt;br /&gt;
==2.2a.8.1==&lt;br /&gt;
* New Features&lt;br /&gt;
** Missing DSC message&lt;br /&gt;
** First dotted quad revision&lt;br /&gt;
&lt;br /&gt;
==2.2a.8==&lt;br /&gt;
* New Features&lt;br /&gt;
** DSC panel support&lt;br /&gt;
** Compass download/upload support&lt;br /&gt;
** Blinking LED now displays error codes.&lt;br /&gt;
** New message type '!ERR' which can be retrieved by sending an 'e' to the AlarmDecoder&lt;br /&gt;
&lt;br /&gt;
==2.2a.4==&lt;br /&gt;
* New Features&lt;br /&gt;
** Keypad Address Mask&lt;br /&gt;
** Long Range Radio (LRR) Emulation&lt;br /&gt;
** Message deduplication&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/Raspberry_Pi</id>
		<title>Raspberry Pi</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/Raspberry_Pi"/>
				<updated>2015-09-24T21:59:49Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: /* Download */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ &lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Downloads]]&lt;br /&gt;
[[Category:Advanced_Topics]]&lt;br /&gt;
&lt;br /&gt;
[[File:Ad2pi.png|thumb|AD2PI]]&lt;br /&gt;
&lt;br /&gt;
There are several ways to start using your AlarmDecoder with the Raspberry Pi.  While you can use all of the AlarmDecoder products with the Raspberry Pi, the AD2PI was specifically designed to interface with it directly.  If you're attempting to connect an AD2USB or an AD2SERIAL please follow the standard Linux instructions [[Getting_Started|here]].&lt;br /&gt;
&lt;br /&gt;
There are a couple of steps involved with getting your AD2PI and Raspberry Pi talking to each other.  We've done all the initial footwork and highly recommend downloading the modified Raspbian image below and flashing it as described [http://www.elinux.org/Rpi_easy_sd_card_setup here].  If you intend to go with another distribution, or just want to do it yourself, then follow the instructions [[#Manual Configuration|here]] to start using your device.&lt;br /&gt;
&lt;br /&gt;
[[File:pibplus.png|thumb|AD2PI Bundle]]&lt;br /&gt;
==Official Raspbian Image==&lt;br /&gt;
===Changes from Raspbian===&lt;br /&gt;
* Disabled serial console so that the device can use it.&lt;br /&gt;
* Installed [http://github.com/nutechsoftware/ser2sock ser2sock] to expose the AlarmDecoder on your network.&lt;br /&gt;
* Installed the [http://github.com/nutechsoftware/alarmdecoder AlarmDecoder Python library].&lt;br /&gt;
* Installed and configured the [http://github.com/nutechsoftware/alarmdecoder-webapp AlarmDecoder Webapp] [[AlarmDecoder_WebApp|Instructions]].&lt;br /&gt;
&lt;br /&gt;
===Download===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;50px&amp;quot; | Status&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; | Link&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;120px&amp;quot; | Version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;220px&amp;quot; | MD5&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;250px&amp;quot; | Includes&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #70BA66;&amp;quot; | Stable&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [http://www.alarmdecoder.com/downloads/pi/alarmdecoder-raspbian-2015-09-24.zip Download]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 2015-09-24&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 2526bc85a7d2dc0842f5fae6801daeec&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Pre-configured with webapp.  Supports the Raspberry Pi Model B, B+ and B2.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Manual Configuration==&lt;br /&gt;
# Flash the SD card with your choice of OS as described [http://www.elinux.org/Rpi_easy_sd_card_setup here].&lt;br /&gt;
# Boot up the Raspberry Pi.&lt;br /&gt;
# Remove the following entries from &amp;lt;tt&amp;gt;/boot/cmdline.txt&amp;lt;/tt&amp;gt;:&lt;br /&gt;
#* &amp;lt;tt&amp;gt;console=ttyAMA0,115200&amp;lt;/tt&amp;gt;&lt;br /&gt;
#* &amp;lt;tt&amp;gt;kgdboc=ttyAMA0,115200&amp;lt;/tt&amp;gt;&lt;br /&gt;
# Remove the following line from &amp;lt;tt&amp;gt;/etc/inittab&amp;lt;/tt&amp;gt;:&lt;br /&gt;
#* &amp;lt;tt&amp;gt;T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100&amp;lt;/tt&amp;gt;&lt;br /&gt;
# Sync and halt your Raspberry Pi.&lt;br /&gt;
# Attach the AD2PI.&lt;br /&gt;
# Boot it up again.&lt;br /&gt;
#* At this point you should be able to communicate with the device at &amp;lt;tt&amp;gt;/dev/ttyAMA0&amp;lt;/tt&amp;gt;.&lt;br /&gt;
# Install any optional software ([http://github.com/nutechsoftware/ser2sock ser2sock], [http://github.com/nutechsoftware/alarmdecoder Python library], etc.)&lt;br /&gt;
#* Add dev package needed for compiling ser2sock&lt;br /&gt;
#** sudo apt-get install openssl-dev&lt;br /&gt;
#* The AlarmDecoder WEB App install instructions are here&lt;br /&gt;
#** https://github.com/nutechsoftware/alarmdecoder-webapp&lt;br /&gt;
&lt;br /&gt;
==Default Passwords==&lt;br /&gt;
;Passwords should be changed once you get your device!&lt;br /&gt;
===SSH/Shell===&lt;br /&gt;
;Login: pi&lt;br /&gt;
;Password: raspberry&lt;br /&gt;
===AlarmDecoder WebApp===&lt;br /&gt;
;Login: admin&lt;br /&gt;
;Password: alarmdecoder&lt;br /&gt;
==AD2PI case assembly==&lt;br /&gt;
;[[File:case assembly doc.pdf|Case assembly]]&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/Supported_Home_Automation_Systems</id>
		<title>Supported Home Automation Systems</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/Supported_Home_Automation_Systems"/>
				<updated>2015-09-15T18:23:37Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ &lt;br /&gt;
[[Category:FAQ]]&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Specifications]]&lt;br /&gt;
[[Category:Features]]&lt;br /&gt;
When Sean Mathews first started putting solder and code into the first prototypes back in 2007 one of the primary design goals of the '''AlarmDecoder'''  was to make sure it would be easy to integrate with his own home automation system&lt;br /&gt;
To further his goals we have consistently provided support to anyone wanting to add support for an existing system. If you don't see your favorite product here then talk to the developers of that product and let them know about the AlarmDecoder and encourage them to add support.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;'''Here is a list of some of the systems that have support for the AlarmDecoder'''&amp;lt;/center&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| align=&amp;quot;center&amp;quot; class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;180px&amp;quot; | Product Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; | Driver License&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;300px&amp;quot; | Product URL&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;300px&amp;quot; | Solution Details&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#F5FFF5&amp;quot; align=&amp;quot;center&amp;quot; | Control4 &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | commercial &lt;br /&gt;
| http://www.houselogix.com&lt;br /&gt;
| [http://www.houselogix.com/ Phone &amp;amp; Email]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#F5FFF5&amp;quot; align=&amp;quot;center&amp;quot; | HomeSeer &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | commercial &lt;br /&gt;
| http://www.homeseer.com&lt;br /&gt;
| [http://board.homeseer.com/forumdisplay.php?f=992 Forum Thread]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#F5FFF5&amp;quot; align=&amp;quot;center&amp;quot; | mControl v2 &amp;amp; v3	 &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | commercial &lt;br /&gt;
| http://www.embeddedautomation.com&lt;br /&gt;
| [http://www.embeddedautomation.com/downloads/mcontrol/mControl%20v3%20-%20Feature%20Summary%20Document.pdf Page 24]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#F5FFF5&amp;quot; align=&amp;quot;center&amp;quot; | Vera2 &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | open source&lt;br /&gt;
| http://www.micasaverde.com&lt;br /&gt;
| [http://wiki.micasaverde.com/index.php/Supported_Hardware Wiki]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#F5FFF5&amp;quot; align=&amp;quot;center&amp;quot; | Misterhouse &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | open source &lt;br /&gt;
| http://misterhouse.sourceforge.net&lt;br /&gt;
| [https://sourceforge.net/mailarchive/message.php?msg_id=31468020 Email Thread]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#F5FFF5&amp;quot; align=&amp;quot;center&amp;quot; | Girder 5 &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | open source &lt;br /&gt;
| http://www.promixis.com&lt;br /&gt;
| [http://www.promixis.com/forums/showthread.php?21535-Nutech-AD2USB-Alarm-Panel-Integration/page2 Forum Thread]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#F5FFF5&amp;quot; align=&amp;quot;center&amp;quot; | Indigo &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | open source &lt;br /&gt;
| http://www.perceptiveautomation.com&lt;br /&gt;
| [http://www.perceptiveautomation.com/userforum/viewtopic.php?f=22&amp;amp;t=7584&amp;amp;start=0 Forum Thread]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#F5FFF5&amp;quot; align=&amp;quot;center&amp;quot; | Premise Home Control &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | open source &lt;br /&gt;
| [http://cocoontech.com/forums/page/home-automation-software/_/premise-r3 Info Page]&lt;br /&gt;
| [http://cocoontech.com/forums/topic/25698-ad2usb-for-vista-security-panels/ Forum Thread]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#F5FFF5&amp;quot; align=&amp;quot;center&amp;quot; | ISY-99&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | open source &lt;br /&gt;
| [https://www.universal-devices.com/residential/isy994i-series/ Info Page]&lt;br /&gt;
| [http://forum.universal-devices.com/viewtopic.php?f=27&amp;amp;t=8133&amp;amp;sid=46a015b366f0d6a7d96a76b9f061bcb4&amp;amp;start=15#p61925 Forum Thread]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#F5FFF5&amp;quot; align=&amp;quot;center&amp;quot; | openHAB&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | open source&lt;br /&gt;
| [http://www.openhab.org/ http://www.openhab.org]&lt;br /&gt;
| [https://github.com/openhab/openhab/wiki/AlarmDecoder-binding openhab official], [https://github.com/N5QM/ad2openhab ad2openhab]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#F5FFF5&amp;quot; align=&amp;quot;center&amp;quot; | MACHomeAutomation XTension&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | commercial&lt;br /&gt;
| [http://machomeautomation.com/ http://machomeautomation.com/]&lt;br /&gt;
| [http://machomeautomation.com/doku.php/supported_hardware/ad2usb  MACHomeAutomation XTension]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#F5FFF5&amp;quot; align=&amp;quot;center&amp;quot; | SmartThings&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | open source&lt;br /&gt;
| [http://www.smartthings.com/ http://www.smartthings.com/]&lt;br /&gt;
| [http://community.smartthings.com/t/vista-alarm-integration-using-nutech-ad2usb-and-mac/7039 HowTo]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#F5FFF5&amp;quot; align=&amp;quot;center&amp;quot; | OpenRemote&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | open source&lt;br /&gt;
| [http://www.openremote.org/ http://www.openremote.org/]&lt;br /&gt;
| [http://www.openremote.org/display/forums/Support+for+communicating+with+Ademco+Security+Panel Info]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#F5FFF5&amp;quot; align=&amp;quot;center&amp;quot; | Write your own!&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| [[Developers|Developer Wiki]]&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
:As with all open source projects they by their very nature are in constant need for more contributors. Please contact us at [mailto:ad2usb@support.nutech.com ad2usb@support.nutech.com] if you are interested in supporting these or others and we will do our best to support your efforts.&lt;br /&gt;
&lt;br /&gt;
:* MisterHouse&lt;br /&gt;
:* LinuxMCE&lt;br /&gt;
:* Don't see your project here? &amp;lt;br&amp;gt;Drop us an email at [mailto:ad2usb@support.nutech.com ad2usb@support.nutech.com] and tell us about your project.&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/Protocol</id>
		<title>Protocol</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/Protocol"/>
				<updated>2015-09-08T19:48:42Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: /* Device Feedback LED */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:FAQ]]&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Specifications]]&lt;br /&gt;
[[Category:Features]]&lt;br /&gt;
&lt;br /&gt;
=Commands=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Command&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | =&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[#Reboot|Reboot]] the device.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[#Device Configuration|Configure]] the device via prompts.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | C&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Sets or retrieves [[#Device Configuration|configuration parameters]].&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | L&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[#Zone Emulation|Emulate]] virtual zone opens and closes.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | E&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Dump error report and clear error history. [[#Error_message_report|Error report]]&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | V&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Dump the version, serial number and flags used in the firmware.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | K&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send message from specific partition or keypad address. [[#Addressed Message|Addressed Message]]&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x01\x01\x01&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #1&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x02\x02\x02&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #2&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x03\x03\x03&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #3&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x04\x04\x04&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #4&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0123456789*#&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send key to panel&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Reboot==&lt;br /&gt;
Rebooting the device is as simple as sending &amp;lt;b&amp;gt;=&amp;lt;/b&amp;gt; to it.&lt;br /&gt;
&lt;br /&gt;
During the boot process you can trigger a firmware upload by sending a second &amp;lt;b&amp;gt;=&amp;lt;/b&amp;gt; to the device after the &amp;lt;i&amp;gt;!boot&amp;lt;/i&amp;gt; message is received.  At this point you'll receive a &amp;lt;i&amp;gt;!load&amp;lt;/i&amp;gt; and can begin uploading.&lt;br /&gt;
&lt;br /&gt;
==Zone Emulation==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;b&amp;gt;L&amp;lt;/b&amp;gt; command can be used to open or close 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 or 1.&lt;br /&gt;
&lt;br /&gt;
Example - open zone 12:&lt;br /&gt;
* &amp;lt;b&amp;gt;L121\r&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example - close zone 12:&lt;br /&gt;
* &amp;lt;b&amp;gt;L120\r&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Addressed Message==&lt;br /&gt;
* It is possible to send a message from a specific keypad on Ademco/Vista or to a specific partition on DSC.&lt;br /&gt;
The &amp;lt;b&amp;gt;K&amp;lt;/b&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
Example - Send keypad string 1234 to DSC partition 01:&lt;br /&gt;
* &amp;lt;b&amp;gt;K011234\r&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example - Send keypad string 12343 from keypad address 19:&lt;br /&gt;
* &amp;lt;b&amp;gt;K1912343\r&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Function Keys==&lt;br /&gt;
The specialty function keys are identified by ASCII character codes 1 through 4.  In order to prevent false positives these must be sent three times in a row.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Function Key Codes&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Code&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| \x01\x01\x01&lt;br /&gt;
| Function Key #1&lt;br /&gt;
|-&lt;br /&gt;
| \x02\x02\x02&lt;br /&gt;
| Function Key #2&lt;br /&gt;
|-&lt;br /&gt;
| \x03\x03\x03&lt;br /&gt;
| Function Key #3&lt;br /&gt;
|-&lt;br /&gt;
| \x04\x04\x04&lt;br /&gt;
| Function Key #4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Device Configuration=&lt;br /&gt;
The AlarmDecoder configuration can be viewed or modified in one of two ways: [[#Prompted|prompted]] or [[#Programatic|programmatically]].&lt;br /&gt;
&lt;br /&gt;
==Prompted==&lt;br /&gt;
If you send &amp;lt;b&amp;gt;!&amp;lt;/b&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;You may hit enter to keep the current value or provide a new one.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!&amp;gt;Ademco/DSC  Mode A/D  (A) :&amp;gt;&lt;br /&gt;
!&amp;gt;Keypad Address       (18) :&amp;gt;&lt;br /&gt;
!WARNING. Do not enable a module if the physical module exists on the system.&lt;br /&gt;
!Zone Expanders Y/N Max allowed: 02&lt;br /&gt;
!&amp;gt;expander module #01 ZN 09-16 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #02 ZN 17-24 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #03 ZN 25-32 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #04 ZN 33-40 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #05 ZN 41-48 (Y) :&amp;gt;&lt;br /&gt;
!Relay Modules Y/N Max allowed: 04&lt;br /&gt;
!&amp;gt;relay module #01 (Y) :&amp;gt;&lt;br /&gt;
!&amp;gt;relay module #02 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;relay module #03 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;relay module #04 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;Emulate Long Range Radio Y/N: (Y) :&amp;gt;&lt;br /&gt;
!&amp;gt;ZoneTracker track zone restore Y/N: (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;Address Filter Mask  (ffffffff) :&amp;gt;&lt;br /&gt;
!&amp;gt;Deduplicate          (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;Config Bits        (ff04) :&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Programmatic==&lt;br /&gt;
You may retrieve all of the current device settings by sending &amp;lt;b&amp;gt;C&amp;lt;/b&amp;gt; to the panel followed by a carriage return (\r).&lt;br /&gt;
&lt;br /&gt;
Retrieving settings:&lt;br /&gt;
* Send: &amp;lt;b&amp;gt;C\r&amp;lt;/b&amp;gt;&lt;br /&gt;
* Response: &amp;lt;b&amp;gt;!CONFIG&amp;gt;ADDRESS=18&amp;amp;CONFIGBITS=ff00&amp;amp;LRR=N&amp;amp;EXP=NNNNN&amp;amp;REL=NNNN&amp;amp;MASK=ffffffff&amp;amp;DEDUPLICATE=N&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It can also be used to set values:&lt;br /&gt;
* Send: &amp;lt;b&amp;gt;CADDRESS=20\r&amp;lt;/b&amp;gt;&lt;br /&gt;
* Response: &amp;lt;b&amp;gt;!&amp;gt;ADDRESS=20&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The same command may be used to set multiple values:&lt;br /&gt;
* Send: &amp;lt;b&amp;gt;CADDRESS=20&amp;amp;DEDUPLICATE=Y\r&amp;lt;/b&amp;gt;&lt;br /&gt;
* Response: &amp;lt;b&amp;gt;!&amp;gt;ADDRESS=20&amp;amp;DEDUPLICATE=Y&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Configuration Parameters===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Default Value&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Valid Values (Regex)&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ADDRESS&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 18&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [0-9]{2}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Keypad address assigned to the AlarmDecoder.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | CONFIGBITS&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | FF00&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [0-9a-f]{4}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Special settings for the device.  See [[#CONFIGBITS|CONFIGBITS]] for more information.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | MASK&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | FFFFFFFF&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [0-9a-f]{8}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Address mask used to filter for keypad alphanumeric messages.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | EXP&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NNNNN&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]{5}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Emulation of zone expanders 1-5&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | REL&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NNNN&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]{4}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Emulation of relay expanders 1-4&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | LRR&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | N&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Emulation of Long Range Radio expander&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | DEDUPLICATE&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | N&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | If enabled, removes duplicate alphanumeric keypad messages.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====CONFIGBITS====&lt;br /&gt;
CONFIGBITS is a setting that's used to enable special functionality on the AlarmDecoder.  You can enable these by masking the correct bits.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ CONFIGBITS Definition&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Mask&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0001&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable reporting of [[#AUI|AUI]] messages.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0002&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable reporting of [[#Keypress Events|keypress events]].&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0004&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Disable prompts for &amp;lt;b&amp;gt;L&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;|&amp;lt;/b&amp;gt; commands.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0008&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable the prefixing of panel messages with !KMP.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0100&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable reporting of [[#RFX|RFX]] messages.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Message Types=&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
* All lines starting with &amp;lt;b&amp;gt;!&amp;lt;/b&amp;gt; are informational.&lt;br /&gt;
* Lines that start with &amp;lt;b&amp;gt;!&amp;gt;&amp;lt;/b&amp;gt; are prompts.&lt;br /&gt;
* All other lines are panel data in the form of a [[#Keypad|Keypad message]].&lt;br /&gt;
&lt;br /&gt;
==Keypad==&lt;br /&gt;
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 &amp;lt;b&amp;gt;!KPM:&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Keypad Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;[00110011000000003A--]&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;010&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;[f70700000010808c18020000000000]&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;&amp;quot;ARMED ***STAY** ZONE BYPASSED &amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;160px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Bit field&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Numeric code&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;200px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Raw data&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;220px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Alphanumeric Keypad Message&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [00110011000000003A--]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 010&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [f70700000010808c18020000000000]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | &amp;quot;ARMED ***STAY** ZONE BYPASSED &amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;Bit field&amp;lt;/span&amp;gt;====&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Position&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Indicates if the panel is READY&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Indicates if the panel is ARMED AWAY&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Indicates if the panel is ARMED HOME&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| Indicates if the keypad backlight is on&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Indicates if the keypad is in programming mode&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Number (1-7) indicating how many beeps are associated with the message&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| Indicates that a zone has been bypassed&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| Indicates if the panel is on AC power&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| Indicates if the chime is enabled&lt;br /&gt;
|-&lt;br /&gt;
| 10 &lt;br /&gt;
| Indicates that an alarm has occurred.  This is sticky and will be cleared after a second disarm.&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| Indicates that an alarm is currently sounding.  This is cleared after the first disarm.&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| Indicates that the battery is low&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| Indicates that entry delay is off (ARMED INSTANT/MAX)&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| Indicates that there is a fire&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| Indicates a system issue&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| Indicates that the panel is only watching the perimeter (ARMED STAY/NIGHT)&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| System specific error report&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| Ademco or DSC Mode A or D&lt;br /&gt;
|-&lt;br /&gt;
| 19&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
| 20&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Numeric Code&amp;lt;/span&amp;gt;====&lt;br /&gt;
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 &amp;lt;b&amp;gt;022&amp;lt;/b&amp;gt;.  Most of the time this is zero-padded base10, but there are rare occurrences where this may be base16, such as ECP bus failures.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Raw data&amp;lt;/span&amp;gt;====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Byte&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Addresses&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0-7&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 8-15&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 16-23&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 24-31&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
* f7&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;07000600&amp;lt;/span&amp;gt;10808c08020000 - our keypad address mask is &amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;07000600&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Using the above mask example of &amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;07000600&amp;lt;/span&amp;gt; we find that this message was destined for keypads 0, 1, 2, 17 and 18.&lt;br /&gt;
&lt;br /&gt;
There is one special case: system messages will have no address mask bits set and are intended for common keypads or monitoring multiple zones.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Alphanumeric Keypad Message&amp;lt;/span&amp;gt;====&lt;br /&gt;
This section is the data that would be displayed on your keypad's screen.&lt;br /&gt;
&lt;br /&gt;
==Zone Expander==&lt;br /&gt;
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.&lt;br /&gt;
===Examples===&lt;br /&gt;
Example of zone expander at address 7, channel 1 faulting and then restoring:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!EXP:07,01,01&lt;br /&gt;
!EXP:07,01,00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !EXP Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!EXP&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;07&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;160px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Zone Expander Address&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;140px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Expander Channel&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !EXP&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 07&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Zone Expander Address&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the address that the zone expander occupies.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Expander Channel&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the channel generating the message.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
00 and 01 indicate that the zone is restored and faulted, respectively.&lt;br /&gt;
&lt;br /&gt;
==Relay Expander==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
Examples of a relay expander at address 12, relay #1 closing and then opening:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!REL:12,01,01&lt;br /&gt;
!REL:12,01,00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !REL Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!REL&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;12&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;160px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Relay Expander Address&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;140px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Expander Channel&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !REL&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 12&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Relay Expander Address&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the address that the relay expander occupies.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Expander Channel&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the channel generating the message.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
00 and 01 indicate that the relay is opened and closed, respectively.&lt;br /&gt;
&lt;br /&gt;
==RFX==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
Example of a 5800Micra sensor faulting and restoring:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!RFX:0180036,80&lt;br /&gt;
!RFX:0180036,00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example of a 5804 keyfob pressing the loop #2 button and having a low battery:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!RFX:0307854,22&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !RFX Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!RFX&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;0180036&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;80&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Serial Number&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !RFX&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0180036&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 80&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Serial Number&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the 7-digit serial number of the device the message originated from.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ RFX Data Format&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Bit&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| Unknown - Seems that the loop indicators should be ignored if set.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 2&lt;br /&gt;
| Low battery indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 3&lt;br /&gt;
| Supervision required indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 5&lt;br /&gt;
| Loop #3 indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 6&lt;br /&gt;
| Loop #2 indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 7&lt;br /&gt;
| Loop #4 indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 8&lt;br /&gt;
| Loop #1 indication&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==LRR==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
This example shows User 12 arming and disarming the system:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!LRR:012,1,ARM_STAY&lt;br /&gt;
!LRR:012,1,ARM_AWAY&lt;br /&gt;
!LRR:012,1,OPEN&lt;br /&gt;
!LRR:003,1,BYPASS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !LRR Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!LRR&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;012&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;ARM_STAY&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Event Data&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Partition&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Event Type&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !LRR&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 012&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | ARM_STAY&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Event Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is either the user number of the person performing the action or the zone that was bypassed.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Partition&amp;lt;/span&amp;gt;====&lt;br /&gt;
The panel partition the event applies to.  Partition 0 indicates that it's destined for all partitions.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Event Type&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the type of the LRR event.  See below for a description and what (if any) programming fields are required for activation.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ LRR Event Types&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Program Fields&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_EXIT_ERROR&lt;br /&gt;
| *59&lt;br /&gt;
| Indicates an error when a zone is not closed during arming&lt;br /&gt;
|-&lt;br /&gt;
| TROUBLE&lt;br /&gt;
| *60&lt;br /&gt;
| Indicates that a zone is reporting a tamper or failure&lt;br /&gt;
|-&lt;br /&gt;
| BYPASS&lt;br /&gt;
| *61&lt;br /&gt;
| Indicates that a zone has been bypassed&lt;br /&gt;
|-&lt;br /&gt;
| ACLOSS&lt;br /&gt;
| *62&lt;br /&gt;
| Indicates that AC power was lost&lt;br /&gt;
|-&lt;br /&gt;
| LOWBAT&lt;br /&gt;
| *63&lt;br /&gt;
| Low battery indication&lt;br /&gt;
|-&lt;br /&gt;
| TEST_CALL&lt;br /&gt;
| *64&lt;br /&gt;
| Indicates a phone test when in testing mode&lt;br /&gt;
|-&lt;br /&gt;
| OPEN&lt;br /&gt;
| *65, requires *66&lt;br /&gt;
| Indicates that the alarm is disarmed&lt;br /&gt;
|-&lt;br /&gt;
| ARM_AWAY&lt;br /&gt;
| *66&lt;br /&gt;
| Indicates that the system was armed AWAY&lt;br /&gt;
|-&lt;br /&gt;
| ARM_STAY&lt;br /&gt;
| *66&lt;br /&gt;
| Indicates that the system was armed STAY&lt;br /&gt;
|-&lt;br /&gt;
| RFLOWBAT&lt;br /&gt;
| *67&lt;br /&gt;
| Low battery indication for the RF transmitter&lt;br /&gt;
|-&lt;br /&gt;
| CANCEL&lt;br /&gt;
| *68&lt;br /&gt;
| Indicates that the alarm was canceled after second disarm&lt;br /&gt;
|-&lt;br /&gt;
| RESTORE&lt;br /&gt;
| *70&lt;br /&gt;
| Indicates that the alarm was restored&lt;br /&gt;
|-&lt;br /&gt;
| TROUBLE_RESTORE&lt;br /&gt;
| *71&lt;br /&gt;
| Indicates that the trouble event was restored&lt;br /&gt;
|-&lt;br /&gt;
| BYPASS_RESTORE&lt;br /&gt;
| *72&lt;br /&gt;
| Indicates that the bypassed zonew as restored&lt;br /&gt;
|-&lt;br /&gt;
| AC_RESTORE&lt;br /&gt;
| *73&lt;br /&gt;
| Indicates that AC power was restored&lt;br /&gt;
|-&lt;br /&gt;
| LOWBAT_RESTORE&lt;br /&gt;
| *74&lt;br /&gt;
| Indicates that the low battery has been restored&lt;br /&gt;
|-&lt;br /&gt;
| RFLOWBAT_RESTORE&lt;br /&gt;
| *75&lt;br /&gt;
| Indicates that the low battery on the RF transmitter has been restored.&lt;br /&gt;
|-&lt;br /&gt;
| TEST_RESTORE&lt;br /&gt;
| *76&lt;br /&gt;
| Indicates that a zone was restored in testing mode&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_PANIC&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there is a panic&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_FIRE&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there is a fire&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_ENTRY&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there was an entry alarm&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_AUX&lt;br /&gt;
| &lt;br /&gt;
| Indicates that an auxiliary alarm type was triggered&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_AUDIBLE&lt;br /&gt;
| &lt;br /&gt;
| Indicates that an audible alarm is in progress&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_SILENT&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there was a silent alarm&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_PERIMETER&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there was a perimeter alarm&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==AUI==&lt;br /&gt;
AUI messages are generated for &amp;quot;Advanced User Interface&amp;quot; keypads.  These include a lot of extra data than what's destined for regular keypads.&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !AUI Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!AUI&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;126600000000656c02456cf5ec01017f0002&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | AUI Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !AUI&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 126600000000656c02456cf5ec01017f0002&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;AUI Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Keypress Events==&lt;br /&gt;
Keypress events are generated when keys are pressed on a keypad and can be enabled inside [[#CONFIGBITS|CONFIGBITS]].&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !KPE Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!KPE&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;18&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Keypad Address&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !KPE&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 18&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Error message report==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !ERR Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!ERR&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Error list&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !ERR&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1,1,1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Keypad Address&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the address of the keypad that generated the event.&lt;br /&gt;
&lt;br /&gt;
=Device Feedback LED=&lt;br /&gt;
* Boot flash mode&lt;br /&gt;
** During boot the AD2* will rapid flash during the boot loader.&lt;br /&gt;
* Operating mode&lt;br /&gt;
** The normal operating mode is a steady of approx 2.5 flashes per second.&lt;br /&gt;
** Sending to panel mode 3 flashes.&lt;br /&gt;
* Error mode&lt;br /&gt;
** 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.&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/Protocol</id>
		<title>Protocol</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/Protocol"/>
				<updated>2015-09-08T19:45:00Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: /* Format */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:FAQ]]&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Specifications]]&lt;br /&gt;
[[Category:Features]]&lt;br /&gt;
&lt;br /&gt;
=Commands=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Command&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | =&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[#Reboot|Reboot]] the device.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[#Device Configuration|Configure]] the device via prompts.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | C&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Sets or retrieves [[#Device Configuration|configuration parameters]].&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | L&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[#Zone Emulation|Emulate]] virtual zone opens and closes.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | E&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Dump error report and clear error history. [[#Error_message_report|Error report]]&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | V&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Dump the version, serial number and flags used in the firmware.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | K&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send message from specific partition or keypad address. [[#Addressed Message|Addressed Message]]&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x01\x01\x01&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #1&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x02\x02\x02&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #2&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x03\x03\x03&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #3&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x04\x04\x04&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #4&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0123456789*#&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send key to panel&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Reboot==&lt;br /&gt;
Rebooting the device is as simple as sending &amp;lt;b&amp;gt;=&amp;lt;/b&amp;gt; to it.&lt;br /&gt;
&lt;br /&gt;
During the boot process you can trigger a firmware upload by sending a second &amp;lt;b&amp;gt;=&amp;lt;/b&amp;gt; to the device after the &amp;lt;i&amp;gt;!boot&amp;lt;/i&amp;gt; message is received.  At this point you'll receive a &amp;lt;i&amp;gt;!load&amp;lt;/i&amp;gt; and can begin uploading.&lt;br /&gt;
&lt;br /&gt;
==Zone Emulation==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;b&amp;gt;L&amp;lt;/b&amp;gt; command can be used to open or close 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 or 1.&lt;br /&gt;
&lt;br /&gt;
Example - open zone 12:&lt;br /&gt;
* &amp;lt;b&amp;gt;L121\r&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example - close zone 12:&lt;br /&gt;
* &amp;lt;b&amp;gt;L120\r&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Addressed Message==&lt;br /&gt;
* It is possible to send a message from a specific keypad on Ademco/Vista or to a specific partition on DSC.&lt;br /&gt;
The &amp;lt;b&amp;gt;K&amp;lt;/b&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
Example - Send keypad string 1234 to DSC partition 01:&lt;br /&gt;
* &amp;lt;b&amp;gt;K011234\r&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example - Send keypad string 12343 from keypad address 19:&lt;br /&gt;
* &amp;lt;b&amp;gt;K1912343\r&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Function Keys==&lt;br /&gt;
The specialty function keys are identified by ASCII character codes 1 through 4.  In order to prevent false positives these must be sent three times in a row.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Function Key Codes&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Code&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| \x01\x01\x01&lt;br /&gt;
| Function Key #1&lt;br /&gt;
|-&lt;br /&gt;
| \x02\x02\x02&lt;br /&gt;
| Function Key #2&lt;br /&gt;
|-&lt;br /&gt;
| \x03\x03\x03&lt;br /&gt;
| Function Key #3&lt;br /&gt;
|-&lt;br /&gt;
| \x04\x04\x04&lt;br /&gt;
| Function Key #4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Device Configuration=&lt;br /&gt;
The AlarmDecoder configuration can be viewed or modified in one of two ways: [[#Prompted|prompted]] or [[#Programatic|programmatically]].&lt;br /&gt;
&lt;br /&gt;
==Prompted==&lt;br /&gt;
If you send &amp;lt;b&amp;gt;!&amp;lt;/b&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;You may hit enter to keep the current value or provide a new one.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!&amp;gt;Ademco/DSC  Mode A/D  (A) :&amp;gt;&lt;br /&gt;
!&amp;gt;Keypad Address       (18) :&amp;gt;&lt;br /&gt;
!WARNING. Do not enable a module if the physical module exists on the system.&lt;br /&gt;
!Zone Expanders Y/N Max allowed: 02&lt;br /&gt;
!&amp;gt;expander module #01 ZN 09-16 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #02 ZN 17-24 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #03 ZN 25-32 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #04 ZN 33-40 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #05 ZN 41-48 (Y) :&amp;gt;&lt;br /&gt;
!Relay Modules Y/N Max allowed: 04&lt;br /&gt;
!&amp;gt;relay module #01 (Y) :&amp;gt;&lt;br /&gt;
!&amp;gt;relay module #02 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;relay module #03 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;relay module #04 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;Emulate Long Range Radio Y/N: (Y) :&amp;gt;&lt;br /&gt;
!&amp;gt;ZoneTracker track zone restore Y/N: (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;Address Filter Mask  (ffffffff) :&amp;gt;&lt;br /&gt;
!&amp;gt;Deduplicate          (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;Config Bits        (ff04) :&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Programmatic==&lt;br /&gt;
You may retrieve all of the current device settings by sending &amp;lt;b&amp;gt;C&amp;lt;/b&amp;gt; to the panel followed by a carriage return (\r).&lt;br /&gt;
&lt;br /&gt;
Retrieving settings:&lt;br /&gt;
* Send: &amp;lt;b&amp;gt;C\r&amp;lt;/b&amp;gt;&lt;br /&gt;
* Response: &amp;lt;b&amp;gt;!CONFIG&amp;gt;ADDRESS=18&amp;amp;CONFIGBITS=ff00&amp;amp;LRR=N&amp;amp;EXP=NNNNN&amp;amp;REL=NNNN&amp;amp;MASK=ffffffff&amp;amp;DEDUPLICATE=N&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It can also be used to set values:&lt;br /&gt;
* Send: &amp;lt;b&amp;gt;CADDRESS=20\r&amp;lt;/b&amp;gt;&lt;br /&gt;
* Response: &amp;lt;b&amp;gt;!&amp;gt;ADDRESS=20&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The same command may be used to set multiple values:&lt;br /&gt;
* Send: &amp;lt;b&amp;gt;CADDRESS=20&amp;amp;DEDUPLICATE=Y\r&amp;lt;/b&amp;gt;&lt;br /&gt;
* Response: &amp;lt;b&amp;gt;!&amp;gt;ADDRESS=20&amp;amp;DEDUPLICATE=Y&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Configuration Parameters===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Default Value&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Valid Values (Regex)&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ADDRESS&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 18&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [0-9]{2}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Keypad address assigned to the AlarmDecoder.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | CONFIGBITS&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | FF00&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [0-9a-f]{4}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Special settings for the device.  See [[#CONFIGBITS|CONFIGBITS]] for more information.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | MASK&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | FFFFFFFF&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [0-9a-f]{8}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Address mask used to filter for keypad alphanumeric messages.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | EXP&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NNNNN&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]{5}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Emulation of zone expanders 1-5&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | REL&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NNNN&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]{4}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Emulation of relay expanders 1-4&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | LRR&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | N&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Emulation of Long Range Radio expander&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | DEDUPLICATE&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | N&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | If enabled, removes duplicate alphanumeric keypad messages.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====CONFIGBITS====&lt;br /&gt;
CONFIGBITS is a setting that's used to enable special functionality on the AlarmDecoder.  You can enable these by masking the correct bits.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ CONFIGBITS Definition&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Mask&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0001&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable reporting of [[#AUI|AUI]] messages.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0002&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable reporting of [[#Keypress Events|keypress events]].&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0004&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Disable prompts for &amp;lt;b&amp;gt;L&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;|&amp;lt;/b&amp;gt; commands.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0008&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable the prefixing of panel messages with !KMP.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0100&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable reporting of [[#RFX|RFX]] messages.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Message Types=&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
* All lines starting with &amp;lt;b&amp;gt;!&amp;lt;/b&amp;gt; are informational.&lt;br /&gt;
* Lines that start with &amp;lt;b&amp;gt;!&amp;gt;&amp;lt;/b&amp;gt; are prompts.&lt;br /&gt;
* All other lines are panel data in the form of a [[#Keypad|Keypad message]].&lt;br /&gt;
&lt;br /&gt;
==Keypad==&lt;br /&gt;
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 &amp;lt;b&amp;gt;!KPM:&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Keypad Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;[00110011000000003A--]&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;010&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;[f70700000010808c18020000000000]&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;&amp;quot;ARMED ***STAY** ZONE BYPASSED &amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;160px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Bit field&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Numeric code&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;200px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Raw data&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;220px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Alphanumeric Keypad Message&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [00110011000000003A--]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 010&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [f70700000010808c18020000000000]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | &amp;quot;ARMED ***STAY** ZONE BYPASSED &amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;Bit field&amp;lt;/span&amp;gt;====&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Position&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Indicates if the panel is READY&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Indicates if the panel is ARMED AWAY&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Indicates if the panel is ARMED HOME&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| Indicates if the keypad backlight is on&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Indicates if the keypad is in programming mode&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Number (1-7) indicating how many beeps are associated with the message&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| Indicates that a zone has been bypassed&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| Indicates if the panel is on AC power&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| Indicates if the chime is enabled&lt;br /&gt;
|-&lt;br /&gt;
| 10 &lt;br /&gt;
| Indicates that an alarm has occurred.  This is sticky and will be cleared after a second disarm.&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| Indicates that an alarm is currently sounding.  This is cleared after the first disarm.&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| Indicates that the battery is low&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| Indicates that entry delay is off (ARMED INSTANT/MAX)&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| Indicates that there is a fire&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| Indicates a system issue&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| Indicates that the panel is only watching the perimeter (ARMED STAY/NIGHT)&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| System specific error report&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| Ademco or DSC Mode A or D&lt;br /&gt;
|-&lt;br /&gt;
| 19&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
| 20&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Numeric Code&amp;lt;/span&amp;gt;====&lt;br /&gt;
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 &amp;lt;b&amp;gt;022&amp;lt;/b&amp;gt;.  Most of the time this is zero-padded base10, but there are rare occurrences where this may be base16, such as ECP bus failures.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Raw data&amp;lt;/span&amp;gt;====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Byte&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Addresses&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0-7&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 8-15&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 16-23&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 24-31&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
* f7&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;07000600&amp;lt;/span&amp;gt;10808c08020000 - our keypad address mask is &amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;07000600&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Using the above mask example of &amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;07000600&amp;lt;/span&amp;gt; we find that this message was destined for keypads 0, 1, 2, 17 and 18.&lt;br /&gt;
&lt;br /&gt;
There is one special case: system messages will have no address mask bits set and are intended for common keypads or monitoring multiple zones.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Alphanumeric Keypad Message&amp;lt;/span&amp;gt;====&lt;br /&gt;
This section is the data that would be displayed on your keypad's screen.&lt;br /&gt;
&lt;br /&gt;
==Zone Expander==&lt;br /&gt;
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.&lt;br /&gt;
===Examples===&lt;br /&gt;
Example of zone expander at address 7, channel 1 faulting and then restoring:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!EXP:07,01,01&lt;br /&gt;
!EXP:07,01,00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !EXP Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!EXP&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;07&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;160px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Zone Expander Address&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;140px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Expander Channel&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !EXP&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 07&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Zone Expander Address&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the address that the zone expander occupies.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Expander Channel&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the channel generating the message.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
00 and 01 indicate that the zone is restored and faulted, respectively.&lt;br /&gt;
&lt;br /&gt;
==Relay Expander==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
Examples of a relay expander at address 12, relay #1 closing and then opening:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!REL:12,01,01&lt;br /&gt;
!REL:12,01,00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !REL Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!REL&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;12&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;160px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Relay Expander Address&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;140px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Expander Channel&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !REL&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 12&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Relay Expander Address&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the address that the relay expander occupies.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Expander Channel&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the channel generating the message.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
00 and 01 indicate that the relay is opened and closed, respectively.&lt;br /&gt;
&lt;br /&gt;
==RFX==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
Example of a 5800Micra sensor faulting and restoring:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!RFX:0180036,80&lt;br /&gt;
!RFX:0180036,00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example of a 5804 keyfob pressing the loop #2 button and having a low battery:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!RFX:0307854,22&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !RFX Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!RFX&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;0180036&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;80&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Serial Number&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !RFX&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0180036&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 80&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Serial Number&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the 7-digit serial number of the device the message originated from.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ RFX Data Format&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Bit&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| Unknown - Seems that the loop indicators should be ignored if set.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 2&lt;br /&gt;
| Low battery indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 3&lt;br /&gt;
| Supervision required indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 5&lt;br /&gt;
| Loop #3 indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 6&lt;br /&gt;
| Loop #2 indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 7&lt;br /&gt;
| Loop #4 indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 8&lt;br /&gt;
| Loop #1 indication&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==LRR==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
This example shows User 12 arming and disarming the system:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!LRR:012,1,ARM_STAY&lt;br /&gt;
!LRR:012,1,ARM_AWAY&lt;br /&gt;
!LRR:012,1,OPEN&lt;br /&gt;
!LRR:003,1,BYPASS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !LRR Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!LRR&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;012&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;ARM_STAY&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Event Data&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Partition&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Event Type&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !LRR&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 012&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | ARM_STAY&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Event Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is either the user number of the person performing the action or the zone that was bypassed.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Partition&amp;lt;/span&amp;gt;====&lt;br /&gt;
The panel partition the event applies to.  Partition 0 indicates that it's destined for all partitions.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Event Type&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the type of the LRR event.  See below for a description and what (if any) programming fields are required for activation.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ LRR Event Types&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Program Fields&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_EXIT_ERROR&lt;br /&gt;
| *59&lt;br /&gt;
| Indicates an error when a zone is not closed during arming&lt;br /&gt;
|-&lt;br /&gt;
| TROUBLE&lt;br /&gt;
| *60&lt;br /&gt;
| Indicates that a zone is reporting a tamper or failure&lt;br /&gt;
|-&lt;br /&gt;
| BYPASS&lt;br /&gt;
| *61&lt;br /&gt;
| Indicates that a zone has been bypassed&lt;br /&gt;
|-&lt;br /&gt;
| ACLOSS&lt;br /&gt;
| *62&lt;br /&gt;
| Indicates that AC power was lost&lt;br /&gt;
|-&lt;br /&gt;
| LOWBAT&lt;br /&gt;
| *63&lt;br /&gt;
| Low battery indication&lt;br /&gt;
|-&lt;br /&gt;
| TEST_CALL&lt;br /&gt;
| *64&lt;br /&gt;
| Indicates a phone test when in testing mode&lt;br /&gt;
|-&lt;br /&gt;
| OPEN&lt;br /&gt;
| *65, requires *66&lt;br /&gt;
| Indicates that the alarm is disarmed&lt;br /&gt;
|-&lt;br /&gt;
| ARM_AWAY&lt;br /&gt;
| *66&lt;br /&gt;
| Indicates that the system was armed AWAY&lt;br /&gt;
|-&lt;br /&gt;
| ARM_STAY&lt;br /&gt;
| *66&lt;br /&gt;
| Indicates that the system was armed STAY&lt;br /&gt;
|-&lt;br /&gt;
| RFLOWBAT&lt;br /&gt;
| *67&lt;br /&gt;
| Low battery indication for the RF transmitter&lt;br /&gt;
|-&lt;br /&gt;
| CANCEL&lt;br /&gt;
| *68&lt;br /&gt;
| Indicates that the alarm was canceled after second disarm&lt;br /&gt;
|-&lt;br /&gt;
| RESTORE&lt;br /&gt;
| *70&lt;br /&gt;
| Indicates that the alarm was restored&lt;br /&gt;
|-&lt;br /&gt;
| TROUBLE_RESTORE&lt;br /&gt;
| *71&lt;br /&gt;
| Indicates that the trouble event was restored&lt;br /&gt;
|-&lt;br /&gt;
| BYPASS_RESTORE&lt;br /&gt;
| *72&lt;br /&gt;
| Indicates that the bypassed zonew as restored&lt;br /&gt;
|-&lt;br /&gt;
| AC_RESTORE&lt;br /&gt;
| *73&lt;br /&gt;
| Indicates that AC power was restored&lt;br /&gt;
|-&lt;br /&gt;
| LOWBAT_RESTORE&lt;br /&gt;
| *74&lt;br /&gt;
| Indicates that the low battery has been restored&lt;br /&gt;
|-&lt;br /&gt;
| RFLOWBAT_RESTORE&lt;br /&gt;
| *75&lt;br /&gt;
| Indicates that the low battery on the RF transmitter has been restored.&lt;br /&gt;
|-&lt;br /&gt;
| TEST_RESTORE&lt;br /&gt;
| *76&lt;br /&gt;
| Indicates that a zone was restored in testing mode&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_PANIC&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there is a panic&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_FIRE&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there is a fire&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_ENTRY&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there was an entry alarm&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_AUX&lt;br /&gt;
| &lt;br /&gt;
| Indicates that an auxiliary alarm type was triggered&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_AUDIBLE&lt;br /&gt;
| &lt;br /&gt;
| Indicates that an audible alarm is in progress&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_SILENT&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there was a silent alarm&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_PERIMETER&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there was a perimeter alarm&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==AUI==&lt;br /&gt;
AUI messages are generated for &amp;quot;Advanced User Interface&amp;quot; keypads.  These include a lot of extra data than what's destined for regular keypads.&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !AUI Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!AUI&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;126600000000656c02456cf5ec01017f0002&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | AUI Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !AUI&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 126600000000656c02456cf5ec01017f0002&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;AUI Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Keypress Events==&lt;br /&gt;
Keypress events are generated when keys are pressed on a keypad and can be enabled inside [[#CONFIGBITS|CONFIGBITS]].&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !KPE Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!KPE&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;18&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Keypad Address&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !KPE&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 18&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Error message report==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !ERR Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!ERR&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Error list&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !ERR&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1,1,1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Keypad Address&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the address of the keypad that generated the event.&lt;br /&gt;
&lt;br /&gt;
=Device Feedback LED=&lt;br /&gt;
* Boot flash mode&lt;br /&gt;
** During boot the AD2* will rapid flash during the boot loader.&lt;br /&gt;
* Operating mode&lt;br /&gt;
** The normal operating mode is a steady of approx 2.5 flashes per second.&lt;br /&gt;
* Error mode&lt;br /&gt;
** 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.&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/Protocol</id>
		<title>Protocol</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/Protocol"/>
				<updated>2015-09-08T19:39:53Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: /* Bit field */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:FAQ]]&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Specifications]]&lt;br /&gt;
[[Category:Features]]&lt;br /&gt;
&lt;br /&gt;
=Commands=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Command&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | =&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[#Reboot|Reboot]] the device.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[#Device Configuration|Configure]] the device via prompts.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | C&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Sets or retrieves [[#Device Configuration|configuration parameters]].&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | L&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[#Zone Emulation|Emulate]] virtual zone opens and closes.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | E&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Dump error report and clear error history. [[#Error_message_report|Error report]]&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | V&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Dump the version, serial number and flags used in the firmware.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | K&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send message from specific partition or keypad address. [[#Addressed Message|Addressed Message]]&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x01\x01\x01&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #1&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x02\x02\x02&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #2&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x03\x03\x03&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #3&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x04\x04\x04&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #4&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0123456789*#&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send key to panel&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Reboot==&lt;br /&gt;
Rebooting the device is as simple as sending &amp;lt;b&amp;gt;=&amp;lt;/b&amp;gt; to it.&lt;br /&gt;
&lt;br /&gt;
During the boot process you can trigger a firmware upload by sending a second &amp;lt;b&amp;gt;=&amp;lt;/b&amp;gt; to the device after the &amp;lt;i&amp;gt;!boot&amp;lt;/i&amp;gt; message is received.  At this point you'll receive a &amp;lt;i&amp;gt;!load&amp;lt;/i&amp;gt; and can begin uploading.&lt;br /&gt;
&lt;br /&gt;
==Zone Emulation==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;b&amp;gt;L&amp;lt;/b&amp;gt; command can be used to open or close 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 or 1.&lt;br /&gt;
&lt;br /&gt;
Example - open zone 12:&lt;br /&gt;
* &amp;lt;b&amp;gt;L121\r&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example - close zone 12:&lt;br /&gt;
* &amp;lt;b&amp;gt;L120\r&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Addressed Message==&lt;br /&gt;
* It is possible to send a message from a specific keypad on Ademco/Vista or to a specific partition on DSC.&lt;br /&gt;
The &amp;lt;b&amp;gt;K&amp;lt;/b&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
Example - Send keypad string 1234 to DSC partition 01:&lt;br /&gt;
* &amp;lt;b&amp;gt;K011234\r&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example - Send keypad string 12343 from keypad address 19:&lt;br /&gt;
* &amp;lt;b&amp;gt;K1912343\r&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Function Keys==&lt;br /&gt;
The specialty function keys are identified by ASCII character codes 1 through 4.  In order to prevent false positives these must be sent three times in a row.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Function Key Codes&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Code&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| \x01\x01\x01&lt;br /&gt;
| Function Key #1&lt;br /&gt;
|-&lt;br /&gt;
| \x02\x02\x02&lt;br /&gt;
| Function Key #2&lt;br /&gt;
|-&lt;br /&gt;
| \x03\x03\x03&lt;br /&gt;
| Function Key #3&lt;br /&gt;
|-&lt;br /&gt;
| \x04\x04\x04&lt;br /&gt;
| Function Key #4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Device Configuration=&lt;br /&gt;
The AlarmDecoder configuration can be viewed or modified in one of two ways: [[#Prompted|prompted]] or [[#Programatic|programmatically]].&lt;br /&gt;
&lt;br /&gt;
==Prompted==&lt;br /&gt;
If you send &amp;lt;b&amp;gt;!&amp;lt;/b&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;You may hit enter to keep the current value or provide a new one.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!&amp;gt;Ademco/DSC  Mode A/D  (A) :&amp;gt;&lt;br /&gt;
!&amp;gt;Keypad Address       (18) :&amp;gt;&lt;br /&gt;
!WARNING. Do not enable a module if the physical module exists on the system.&lt;br /&gt;
!Zone Expanders Y/N Max allowed: 02&lt;br /&gt;
!&amp;gt;expander module #01 ZN 09-16 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #02 ZN 17-24 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #03 ZN 25-32 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #04 ZN 33-40 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #05 ZN 41-48 (Y) :&amp;gt;&lt;br /&gt;
!Relay Modules Y/N Max allowed: 04&lt;br /&gt;
!&amp;gt;relay module #01 (Y) :&amp;gt;&lt;br /&gt;
!&amp;gt;relay module #02 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;relay module #03 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;relay module #04 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;Emulate Long Range Radio Y/N: (Y) :&amp;gt;&lt;br /&gt;
!&amp;gt;ZoneTracker track zone restore Y/N: (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;Address Filter Mask  (ffffffff) :&amp;gt;&lt;br /&gt;
!&amp;gt;Deduplicate          (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;Config Bits        (ff04) :&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Programmatic==&lt;br /&gt;
You may retrieve all of the current device settings by sending &amp;lt;b&amp;gt;C&amp;lt;/b&amp;gt; to the panel followed by a carriage return (\r).&lt;br /&gt;
&lt;br /&gt;
Retrieving settings:&lt;br /&gt;
* Send: &amp;lt;b&amp;gt;C\r&amp;lt;/b&amp;gt;&lt;br /&gt;
* Response: &amp;lt;b&amp;gt;!CONFIG&amp;gt;ADDRESS=18&amp;amp;CONFIGBITS=ff00&amp;amp;LRR=N&amp;amp;EXP=NNNNN&amp;amp;REL=NNNN&amp;amp;MASK=ffffffff&amp;amp;DEDUPLICATE=N&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It can also be used to set values:&lt;br /&gt;
* Send: &amp;lt;b&amp;gt;CADDRESS=20\r&amp;lt;/b&amp;gt;&lt;br /&gt;
* Response: &amp;lt;b&amp;gt;!&amp;gt;ADDRESS=20&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The same command may be used to set multiple values:&lt;br /&gt;
* Send: &amp;lt;b&amp;gt;CADDRESS=20&amp;amp;DEDUPLICATE=Y\r&amp;lt;/b&amp;gt;&lt;br /&gt;
* Response: &amp;lt;b&amp;gt;!&amp;gt;ADDRESS=20&amp;amp;DEDUPLICATE=Y&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Configuration Parameters===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Default Value&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Valid Values (Regex)&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ADDRESS&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 18&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [0-9]{2}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Keypad address assigned to the AlarmDecoder.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | CONFIGBITS&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | FF00&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [0-9a-f]{4}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Special settings for the device.  See [[#CONFIGBITS|CONFIGBITS]] for more information.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | MASK&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | FFFFFFFF&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [0-9a-f]{8}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Address mask used to filter for keypad alphanumeric messages.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | EXP&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NNNNN&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]{5}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Emulation of zone expanders 1-5&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | REL&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NNNN&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]{4}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Emulation of relay expanders 1-4&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | LRR&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | N&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Emulation of Long Range Radio expander&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | DEDUPLICATE&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | N&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | If enabled, removes duplicate alphanumeric keypad messages.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====CONFIGBITS====&lt;br /&gt;
CONFIGBITS is a setting that's used to enable special functionality on the AlarmDecoder.  You can enable these by masking the correct bits.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ CONFIGBITS Definition&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Mask&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0001&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable reporting of [[#AUI|AUI]] messages.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0002&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable reporting of [[#Keypress Events|keypress events]].&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0004&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Disable prompts for &amp;lt;b&amp;gt;L&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;|&amp;lt;/b&amp;gt; commands.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0008&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable the prefixing of panel messages with !KMP.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0100&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable reporting of [[#RFX|RFX]] messages.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Message Types=&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
* All lines starting with &amp;lt;b&amp;gt;!&amp;lt;/b&amp;gt; are informational.&lt;br /&gt;
* Lines that start with &amp;lt;b&amp;gt;!&amp;gt;&amp;lt;/b&amp;gt; are prompts.&lt;br /&gt;
* All other lines are panel data in the form of a [[#Keypad|Keypad message]].&lt;br /&gt;
&lt;br /&gt;
==Keypad==&lt;br /&gt;
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 &amp;lt;b&amp;gt;!KPM:&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Keypad Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;[001000010000--------]&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;010&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;[f70700060010808c08020000]&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;&amp;quot;ARMED ***STAY** ZONE BYPASSED &amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;160px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Bit field&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Numeric code&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;200px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Raw data&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;220px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Alphanumeric Keypad Message&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [001000010000--------]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 010&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [f70700060010808c08020000]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | &amp;quot;ARMED ***STAY** ZONE BYPASSED &amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;Bit field&amp;lt;/span&amp;gt;====&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Position&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Indicates if the panel is READY&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Indicates if the panel is ARMED AWAY&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Indicates if the panel is ARMED HOME&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| Indicates if the keypad backlight is on&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Indicates if the keypad is in programming mode&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Number (1-7) indicating how many beeps are associated with the message&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| Indicates that a zone has been bypassed&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| Indicates if the panel is on AC power&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| Indicates if the chime is enabled&lt;br /&gt;
|-&lt;br /&gt;
| 10 &lt;br /&gt;
| Indicates that an alarm has occurred.  This is sticky and will be cleared after a second disarm.&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| Indicates that an alarm is currently sounding.  This is cleared after the first disarm.&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| Indicates that the battery is low&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| Indicates that entry delay is off (ARMED INSTANT/MAX)&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| Indicates that there is a fire&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| Indicates a system issue&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| Indicates that the panel is only watching the perimeter (ARMED STAY/NIGHT)&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| System specific error report&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| Ademco or DSC Mode A or D&lt;br /&gt;
|-&lt;br /&gt;
| 19&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
| 20&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Numeric Code&amp;lt;/span&amp;gt;====&lt;br /&gt;
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 &amp;lt;b&amp;gt;022&amp;lt;/b&amp;gt;.  Most of the time this is zero-padded base10, but there are rare occurrences where this may be base16, such as ECP bus failures.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Raw data&amp;lt;/span&amp;gt;====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Byte&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Addresses&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0-7&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 8-15&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 16-23&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 24-31&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
* f7&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;07000600&amp;lt;/span&amp;gt;10808c08020000 - our keypad address mask is &amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;07000600&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Using the above mask example of &amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;07000600&amp;lt;/span&amp;gt; we find that this message was destined for keypads 0, 1, 2, 17 and 18.&lt;br /&gt;
&lt;br /&gt;
There is one special case: system messages will have no address mask bits set and are intended for common keypads or monitoring multiple zones.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Alphanumeric Keypad Message&amp;lt;/span&amp;gt;====&lt;br /&gt;
This section is the data that would be displayed on your keypad's screen.&lt;br /&gt;
&lt;br /&gt;
==Zone Expander==&lt;br /&gt;
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.&lt;br /&gt;
===Examples===&lt;br /&gt;
Example of zone expander at address 7, channel 1 faulting and then restoring:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!EXP:07,01,01&lt;br /&gt;
!EXP:07,01,00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !EXP Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!EXP&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;07&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;160px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Zone Expander Address&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;140px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Expander Channel&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !EXP&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 07&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Zone Expander Address&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the address that the zone expander occupies.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Expander Channel&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the channel generating the message.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
00 and 01 indicate that the zone is restored and faulted, respectively.&lt;br /&gt;
&lt;br /&gt;
==Relay Expander==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
Examples of a relay expander at address 12, relay #1 closing and then opening:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!REL:12,01,01&lt;br /&gt;
!REL:12,01,00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !REL Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!REL&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;12&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;160px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Relay Expander Address&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;140px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Expander Channel&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !REL&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 12&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Relay Expander Address&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the address that the relay expander occupies.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Expander Channel&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the channel generating the message.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
00 and 01 indicate that the relay is opened and closed, respectively.&lt;br /&gt;
&lt;br /&gt;
==RFX==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
Example of a 5800Micra sensor faulting and restoring:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!RFX:0180036,80&lt;br /&gt;
!RFX:0180036,00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example of a 5804 keyfob pressing the loop #2 button and having a low battery:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!RFX:0307854,22&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !RFX Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!RFX&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;0180036&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;80&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Serial Number&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !RFX&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0180036&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 80&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Serial Number&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the 7-digit serial number of the device the message originated from.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ RFX Data Format&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Bit&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| Unknown - Seems that the loop indicators should be ignored if set.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 2&lt;br /&gt;
| Low battery indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 3&lt;br /&gt;
| Supervision required indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 5&lt;br /&gt;
| Loop #3 indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 6&lt;br /&gt;
| Loop #2 indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 7&lt;br /&gt;
| Loop #4 indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 8&lt;br /&gt;
| Loop #1 indication&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==LRR==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
This example shows User 12 arming and disarming the system:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!LRR:012,1,ARM_STAY&lt;br /&gt;
!LRR:012,1,ARM_AWAY&lt;br /&gt;
!LRR:012,1,OPEN&lt;br /&gt;
!LRR:003,1,BYPASS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !LRR Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!LRR&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;012&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;ARM_STAY&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Event Data&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Partition&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Event Type&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !LRR&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 012&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | ARM_STAY&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Event Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is either the user number of the person performing the action or the zone that was bypassed.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Partition&amp;lt;/span&amp;gt;====&lt;br /&gt;
The panel partition the event applies to.  Partition 0 indicates that it's destined for all partitions.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Event Type&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the type of the LRR event.  See below for a description and what (if any) programming fields are required for activation.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ LRR Event Types&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Program Fields&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_EXIT_ERROR&lt;br /&gt;
| *59&lt;br /&gt;
| Indicates an error when a zone is not closed during arming&lt;br /&gt;
|-&lt;br /&gt;
| TROUBLE&lt;br /&gt;
| *60&lt;br /&gt;
| Indicates that a zone is reporting a tamper or failure&lt;br /&gt;
|-&lt;br /&gt;
| BYPASS&lt;br /&gt;
| *61&lt;br /&gt;
| Indicates that a zone has been bypassed&lt;br /&gt;
|-&lt;br /&gt;
| ACLOSS&lt;br /&gt;
| *62&lt;br /&gt;
| Indicates that AC power was lost&lt;br /&gt;
|-&lt;br /&gt;
| LOWBAT&lt;br /&gt;
| *63&lt;br /&gt;
| Low battery indication&lt;br /&gt;
|-&lt;br /&gt;
| TEST_CALL&lt;br /&gt;
| *64&lt;br /&gt;
| Indicates a phone test when in testing mode&lt;br /&gt;
|-&lt;br /&gt;
| OPEN&lt;br /&gt;
| *65, requires *66&lt;br /&gt;
| Indicates that the alarm is disarmed&lt;br /&gt;
|-&lt;br /&gt;
| ARM_AWAY&lt;br /&gt;
| *66&lt;br /&gt;
| Indicates that the system was armed AWAY&lt;br /&gt;
|-&lt;br /&gt;
| ARM_STAY&lt;br /&gt;
| *66&lt;br /&gt;
| Indicates that the system was armed STAY&lt;br /&gt;
|-&lt;br /&gt;
| RFLOWBAT&lt;br /&gt;
| *67&lt;br /&gt;
| Low battery indication for the RF transmitter&lt;br /&gt;
|-&lt;br /&gt;
| CANCEL&lt;br /&gt;
| *68&lt;br /&gt;
| Indicates that the alarm was canceled after second disarm&lt;br /&gt;
|-&lt;br /&gt;
| RESTORE&lt;br /&gt;
| *70&lt;br /&gt;
| Indicates that the alarm was restored&lt;br /&gt;
|-&lt;br /&gt;
| TROUBLE_RESTORE&lt;br /&gt;
| *71&lt;br /&gt;
| Indicates that the trouble event was restored&lt;br /&gt;
|-&lt;br /&gt;
| BYPASS_RESTORE&lt;br /&gt;
| *72&lt;br /&gt;
| Indicates that the bypassed zonew as restored&lt;br /&gt;
|-&lt;br /&gt;
| AC_RESTORE&lt;br /&gt;
| *73&lt;br /&gt;
| Indicates that AC power was restored&lt;br /&gt;
|-&lt;br /&gt;
| LOWBAT_RESTORE&lt;br /&gt;
| *74&lt;br /&gt;
| Indicates that the low battery has been restored&lt;br /&gt;
|-&lt;br /&gt;
| RFLOWBAT_RESTORE&lt;br /&gt;
| *75&lt;br /&gt;
| Indicates that the low battery on the RF transmitter has been restored.&lt;br /&gt;
|-&lt;br /&gt;
| TEST_RESTORE&lt;br /&gt;
| *76&lt;br /&gt;
| Indicates that a zone was restored in testing mode&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_PANIC&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there is a panic&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_FIRE&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there is a fire&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_ENTRY&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there was an entry alarm&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_AUX&lt;br /&gt;
| &lt;br /&gt;
| Indicates that an auxiliary alarm type was triggered&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_AUDIBLE&lt;br /&gt;
| &lt;br /&gt;
| Indicates that an audible alarm is in progress&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_SILENT&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there was a silent alarm&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_PERIMETER&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there was a perimeter alarm&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==AUI==&lt;br /&gt;
AUI messages are generated for &amp;quot;Advanced User Interface&amp;quot; keypads.  These include a lot of extra data than what's destined for regular keypads.&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !AUI Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!AUI&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;126600000000656c02456cf5ec01017f0002&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | AUI Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !AUI&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 126600000000656c02456cf5ec01017f0002&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;AUI Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Keypress Events==&lt;br /&gt;
Keypress events are generated when keys are pressed on a keypad and can be enabled inside [[#CONFIGBITS|CONFIGBITS]].&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !KPE Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!KPE&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;18&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Keypad Address&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !KPE&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 18&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Error message report==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !ERR Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!ERR&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Error list&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !ERR&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1,1,1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Keypad Address&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the address of the keypad that generated the event.&lt;br /&gt;
&lt;br /&gt;
=Device Feedback LED=&lt;br /&gt;
* Boot flash mode&lt;br /&gt;
** During boot the AD2* will rapid flash during the boot loader.&lt;br /&gt;
* Operating mode&lt;br /&gt;
** The normal operating mode is a steady of approx 2.5 flashes per second.&lt;br /&gt;
* Error mode&lt;br /&gt;
** 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.&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/Protocol</id>
		<title>Protocol</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/Protocol"/>
				<updated>2015-09-08T19:34:21Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: /* Addressed Message */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:FAQ]]&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Specifications]]&lt;br /&gt;
[[Category:Features]]&lt;br /&gt;
&lt;br /&gt;
=Commands=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Command&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | =&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[#Reboot|Reboot]] the device.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[#Device Configuration|Configure]] the device via prompts.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | C&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Sets or retrieves [[#Device Configuration|configuration parameters]].&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | L&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[#Zone Emulation|Emulate]] virtual zone opens and closes.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | E&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Dump error report and clear error history. [[#Error_message_report|Error report]]&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | V&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Dump the version, serial number and flags used in the firmware.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | K&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send message from specific partition or keypad address. [[#Addressed Message|Addressed Message]]&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x01\x01\x01&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #1&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x02\x02\x02&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #2&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x03\x03\x03&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #3&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x04\x04\x04&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #4&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0123456789*#&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send key to panel&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Reboot==&lt;br /&gt;
Rebooting the device is as simple as sending &amp;lt;b&amp;gt;=&amp;lt;/b&amp;gt; to it.&lt;br /&gt;
&lt;br /&gt;
During the boot process you can trigger a firmware upload by sending a second &amp;lt;b&amp;gt;=&amp;lt;/b&amp;gt; to the device after the &amp;lt;i&amp;gt;!boot&amp;lt;/i&amp;gt; message is received.  At this point you'll receive a &amp;lt;i&amp;gt;!load&amp;lt;/i&amp;gt; and can begin uploading.&lt;br /&gt;
&lt;br /&gt;
==Zone Emulation==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;b&amp;gt;L&amp;lt;/b&amp;gt; command can be used to open or close 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 or 1.&lt;br /&gt;
&lt;br /&gt;
Example - open zone 12:&lt;br /&gt;
* &amp;lt;b&amp;gt;L121\r&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example - close zone 12:&lt;br /&gt;
* &amp;lt;b&amp;gt;L120\r&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Addressed Message==&lt;br /&gt;
* It is possible to send a message from a specific keypad on Ademco/Vista or to a specific partition on DSC.&lt;br /&gt;
The &amp;lt;b&amp;gt;K&amp;lt;/b&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
Example - Send keypad string 1234 to DSC partition 01:&lt;br /&gt;
* &amp;lt;b&amp;gt;K011234\r&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example - Send keypad string 12343 from keypad address 19:&lt;br /&gt;
* &amp;lt;b&amp;gt;K1912343\r&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Function Keys==&lt;br /&gt;
The specialty function keys are identified by ASCII character codes 1 through 4.  In order to prevent false positives these must be sent three times in a row.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Function Key Codes&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Code&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| \x01\x01\x01&lt;br /&gt;
| Function Key #1&lt;br /&gt;
|-&lt;br /&gt;
| \x02\x02\x02&lt;br /&gt;
| Function Key #2&lt;br /&gt;
|-&lt;br /&gt;
| \x03\x03\x03&lt;br /&gt;
| Function Key #3&lt;br /&gt;
|-&lt;br /&gt;
| \x04\x04\x04&lt;br /&gt;
| Function Key #4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Device Configuration=&lt;br /&gt;
The AlarmDecoder configuration can be viewed or modified in one of two ways: [[#Prompted|prompted]] or [[#Programatic|programmatically]].&lt;br /&gt;
&lt;br /&gt;
==Prompted==&lt;br /&gt;
If you send &amp;lt;b&amp;gt;!&amp;lt;/b&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;You may hit enter to keep the current value or provide a new one.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!&amp;gt;Ademco/DSC  Mode A/D  (A) :&amp;gt;&lt;br /&gt;
!&amp;gt;Keypad Address       (18) :&amp;gt;&lt;br /&gt;
!WARNING. Do not enable a module if the physical module exists on the system.&lt;br /&gt;
!Zone Expanders Y/N Max allowed: 02&lt;br /&gt;
!&amp;gt;expander module #01 ZN 09-16 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #02 ZN 17-24 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #03 ZN 25-32 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #04 ZN 33-40 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #05 ZN 41-48 (Y) :&amp;gt;&lt;br /&gt;
!Relay Modules Y/N Max allowed: 04&lt;br /&gt;
!&amp;gt;relay module #01 (Y) :&amp;gt;&lt;br /&gt;
!&amp;gt;relay module #02 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;relay module #03 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;relay module #04 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;Emulate Long Range Radio Y/N: (Y) :&amp;gt;&lt;br /&gt;
!&amp;gt;ZoneTracker track zone restore Y/N: (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;Address Filter Mask  (ffffffff) :&amp;gt;&lt;br /&gt;
!&amp;gt;Deduplicate          (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;Config Bits        (ff04) :&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Programmatic==&lt;br /&gt;
You may retrieve all of the current device settings by sending &amp;lt;b&amp;gt;C&amp;lt;/b&amp;gt; to the panel followed by a carriage return (\r).&lt;br /&gt;
&lt;br /&gt;
Retrieving settings:&lt;br /&gt;
* Send: &amp;lt;b&amp;gt;C\r&amp;lt;/b&amp;gt;&lt;br /&gt;
* Response: &amp;lt;b&amp;gt;!CONFIG&amp;gt;ADDRESS=18&amp;amp;CONFIGBITS=ff00&amp;amp;LRR=N&amp;amp;EXP=NNNNN&amp;amp;REL=NNNN&amp;amp;MASK=ffffffff&amp;amp;DEDUPLICATE=N&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It can also be used to set values:&lt;br /&gt;
* Send: &amp;lt;b&amp;gt;CADDRESS=20\r&amp;lt;/b&amp;gt;&lt;br /&gt;
* Response: &amp;lt;b&amp;gt;!&amp;gt;ADDRESS=20&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The same command may be used to set multiple values:&lt;br /&gt;
* Send: &amp;lt;b&amp;gt;CADDRESS=20&amp;amp;DEDUPLICATE=Y\r&amp;lt;/b&amp;gt;&lt;br /&gt;
* Response: &amp;lt;b&amp;gt;!&amp;gt;ADDRESS=20&amp;amp;DEDUPLICATE=Y&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Configuration Parameters===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Default Value&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Valid Values (Regex)&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ADDRESS&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 18&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [0-9]{2}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Keypad address assigned to the AlarmDecoder.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | CONFIGBITS&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | FF00&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [0-9a-f]{4}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Special settings for the device.  See [[#CONFIGBITS|CONFIGBITS]] for more information.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | MASK&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | FFFFFFFF&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [0-9a-f]{8}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Address mask used to filter for keypad alphanumeric messages.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | EXP&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NNNNN&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]{5}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Emulation of zone expanders 1-5&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | REL&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NNNN&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]{4}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Emulation of relay expanders 1-4&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | LRR&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | N&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Emulation of Long Range Radio expander&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | DEDUPLICATE&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | N&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | If enabled, removes duplicate alphanumeric keypad messages.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====CONFIGBITS====&lt;br /&gt;
CONFIGBITS is a setting that's used to enable special functionality on the AlarmDecoder.  You can enable these by masking the correct bits.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ CONFIGBITS Definition&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Mask&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0001&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable reporting of [[#AUI|AUI]] messages.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0002&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable reporting of [[#Keypress Events|keypress events]].&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0004&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Disable prompts for &amp;lt;b&amp;gt;L&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;|&amp;lt;/b&amp;gt; commands.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0008&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable the prefixing of panel messages with !KMP.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0100&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable reporting of [[#RFX|RFX]] messages.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Message Types=&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
* All lines starting with &amp;lt;b&amp;gt;!&amp;lt;/b&amp;gt; are informational.&lt;br /&gt;
* Lines that start with &amp;lt;b&amp;gt;!&amp;gt;&amp;lt;/b&amp;gt; are prompts.&lt;br /&gt;
* All other lines are panel data in the form of a [[#Keypad|Keypad message]].&lt;br /&gt;
&lt;br /&gt;
==Keypad==&lt;br /&gt;
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 &amp;lt;b&amp;gt;!KPM:&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Keypad Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;[001000010000--------]&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;010&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;[f70700060010808c08020000]&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;&amp;quot;ARMED ***STAY** ZONE BYPASSED &amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;160px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Bit field&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Numeric code&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;200px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Raw data&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;220px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Alphanumeric Keypad Message&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [001000010000--------]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 010&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [f70700060010808c08020000]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | &amp;quot;ARMED ***STAY** ZONE BYPASSED &amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;Bit field&amp;lt;/span&amp;gt;====&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Position&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Indicates if the panel is READY&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Indicates if the panel is ARMED AWAY&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Indicates if the panel is ARMED HOME&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| Indicates if the keypad backlight is on&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Indicates if the keypad is in programming mode&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Number (1-7) indicating how many beeps are associated with the message&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| Indicates that a zone has been bypassed&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| Indicates if the panel is on AC power&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| Indicates if the chime is enabled&lt;br /&gt;
|-&lt;br /&gt;
| 10 &lt;br /&gt;
| Indicates that an alarm has occurred.  This is sticky and will be cleared after a second disarm.&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| Indicates that an alarm is currently sounding.  This is cleared after the first disarm.&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| Indicates that the battery is low&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| Indicates that entry delay is off (ARMED INSTANT/MAX)&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| Indicates that there is a fire&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| Indicates a system issue&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| Indicates that the panel is only watching the perimeter (ARMED STAY/NIGHT)&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
| 19&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
| 20&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Numeric Code&amp;lt;/span&amp;gt;====&lt;br /&gt;
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 &amp;lt;b&amp;gt;022&amp;lt;/b&amp;gt;.  Most of the time this is zero-padded base10, but there are rare occurrences where this may be base16, such as ECP bus failures.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Raw data&amp;lt;/span&amp;gt;====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Byte&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Addresses&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0-7&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 8-15&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 16-23&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 24-31&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
* f7&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;07000600&amp;lt;/span&amp;gt;10808c08020000 - our keypad address mask is &amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;07000600&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Using the above mask example of &amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;07000600&amp;lt;/span&amp;gt; we find that this message was destined for keypads 0, 1, 2, 17 and 18.&lt;br /&gt;
&lt;br /&gt;
There is one special case: system messages will have no address mask bits set and are intended for common keypads or monitoring multiple zones.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Alphanumeric Keypad Message&amp;lt;/span&amp;gt;====&lt;br /&gt;
This section is the data that would be displayed on your keypad's screen.&lt;br /&gt;
&lt;br /&gt;
==Zone Expander==&lt;br /&gt;
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.&lt;br /&gt;
===Examples===&lt;br /&gt;
Example of zone expander at address 7, channel 1 faulting and then restoring:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!EXP:07,01,01&lt;br /&gt;
!EXP:07,01,00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !EXP Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!EXP&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;07&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;160px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Zone Expander Address&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;140px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Expander Channel&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !EXP&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 07&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Zone Expander Address&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the address that the zone expander occupies.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Expander Channel&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the channel generating the message.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
00 and 01 indicate that the zone is restored and faulted, respectively.&lt;br /&gt;
&lt;br /&gt;
==Relay Expander==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
Examples of a relay expander at address 12, relay #1 closing and then opening:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!REL:12,01,01&lt;br /&gt;
!REL:12,01,00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !REL Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!REL&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;12&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;160px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Relay Expander Address&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;140px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Expander Channel&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !REL&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 12&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Relay Expander Address&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the address that the relay expander occupies.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Expander Channel&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the channel generating the message.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
00 and 01 indicate that the relay is opened and closed, respectively.&lt;br /&gt;
&lt;br /&gt;
==RFX==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
Example of a 5800Micra sensor faulting and restoring:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!RFX:0180036,80&lt;br /&gt;
!RFX:0180036,00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example of a 5804 keyfob pressing the loop #2 button and having a low battery:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!RFX:0307854,22&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !RFX Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!RFX&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;0180036&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;80&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Serial Number&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !RFX&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0180036&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 80&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Serial Number&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the 7-digit serial number of the device the message originated from.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ RFX Data Format&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Bit&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| Unknown - Seems that the loop indicators should be ignored if set.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 2&lt;br /&gt;
| Low battery indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 3&lt;br /&gt;
| Supervision required indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 5&lt;br /&gt;
| Loop #3 indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 6&lt;br /&gt;
| Loop #2 indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 7&lt;br /&gt;
| Loop #4 indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 8&lt;br /&gt;
| Loop #1 indication&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==LRR==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
This example shows User 12 arming and disarming the system:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!LRR:012,1,ARM_STAY&lt;br /&gt;
!LRR:012,1,ARM_AWAY&lt;br /&gt;
!LRR:012,1,OPEN&lt;br /&gt;
!LRR:003,1,BYPASS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !LRR Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!LRR&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;012&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;ARM_STAY&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Event Data&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Partition&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Event Type&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !LRR&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 012&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | ARM_STAY&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Event Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is either the user number of the person performing the action or the zone that was bypassed.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Partition&amp;lt;/span&amp;gt;====&lt;br /&gt;
The panel partition the event applies to.  Partition 0 indicates that it's destined for all partitions.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Event Type&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the type of the LRR event.  See below for a description and what (if any) programming fields are required for activation.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ LRR Event Types&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Program Fields&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_EXIT_ERROR&lt;br /&gt;
| *59&lt;br /&gt;
| Indicates an error when a zone is not closed during arming&lt;br /&gt;
|-&lt;br /&gt;
| TROUBLE&lt;br /&gt;
| *60&lt;br /&gt;
| Indicates that a zone is reporting a tamper or failure&lt;br /&gt;
|-&lt;br /&gt;
| BYPASS&lt;br /&gt;
| *61&lt;br /&gt;
| Indicates that a zone has been bypassed&lt;br /&gt;
|-&lt;br /&gt;
| ACLOSS&lt;br /&gt;
| *62&lt;br /&gt;
| Indicates that AC power was lost&lt;br /&gt;
|-&lt;br /&gt;
| LOWBAT&lt;br /&gt;
| *63&lt;br /&gt;
| Low battery indication&lt;br /&gt;
|-&lt;br /&gt;
| TEST_CALL&lt;br /&gt;
| *64&lt;br /&gt;
| Indicates a phone test when in testing mode&lt;br /&gt;
|-&lt;br /&gt;
| OPEN&lt;br /&gt;
| *65, requires *66&lt;br /&gt;
| Indicates that the alarm is disarmed&lt;br /&gt;
|-&lt;br /&gt;
| ARM_AWAY&lt;br /&gt;
| *66&lt;br /&gt;
| Indicates that the system was armed AWAY&lt;br /&gt;
|-&lt;br /&gt;
| ARM_STAY&lt;br /&gt;
| *66&lt;br /&gt;
| Indicates that the system was armed STAY&lt;br /&gt;
|-&lt;br /&gt;
| RFLOWBAT&lt;br /&gt;
| *67&lt;br /&gt;
| Low battery indication for the RF transmitter&lt;br /&gt;
|-&lt;br /&gt;
| CANCEL&lt;br /&gt;
| *68&lt;br /&gt;
| Indicates that the alarm was canceled after second disarm&lt;br /&gt;
|-&lt;br /&gt;
| RESTORE&lt;br /&gt;
| *70&lt;br /&gt;
| Indicates that the alarm was restored&lt;br /&gt;
|-&lt;br /&gt;
| TROUBLE_RESTORE&lt;br /&gt;
| *71&lt;br /&gt;
| Indicates that the trouble event was restored&lt;br /&gt;
|-&lt;br /&gt;
| BYPASS_RESTORE&lt;br /&gt;
| *72&lt;br /&gt;
| Indicates that the bypassed zonew as restored&lt;br /&gt;
|-&lt;br /&gt;
| AC_RESTORE&lt;br /&gt;
| *73&lt;br /&gt;
| Indicates that AC power was restored&lt;br /&gt;
|-&lt;br /&gt;
| LOWBAT_RESTORE&lt;br /&gt;
| *74&lt;br /&gt;
| Indicates that the low battery has been restored&lt;br /&gt;
|-&lt;br /&gt;
| RFLOWBAT_RESTORE&lt;br /&gt;
| *75&lt;br /&gt;
| Indicates that the low battery on the RF transmitter has been restored.&lt;br /&gt;
|-&lt;br /&gt;
| TEST_RESTORE&lt;br /&gt;
| *76&lt;br /&gt;
| Indicates that a zone was restored in testing mode&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_PANIC&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there is a panic&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_FIRE&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there is a fire&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_ENTRY&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there was an entry alarm&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_AUX&lt;br /&gt;
| &lt;br /&gt;
| Indicates that an auxiliary alarm type was triggered&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_AUDIBLE&lt;br /&gt;
| &lt;br /&gt;
| Indicates that an audible alarm is in progress&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_SILENT&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there was a silent alarm&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_PERIMETER&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there was a perimeter alarm&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==AUI==&lt;br /&gt;
AUI messages are generated for &amp;quot;Advanced User Interface&amp;quot; keypads.  These include a lot of extra data than what's destined for regular keypads.&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !AUI Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!AUI&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;126600000000656c02456cf5ec01017f0002&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | AUI Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !AUI&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 126600000000656c02456cf5ec01017f0002&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;AUI Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Keypress Events==&lt;br /&gt;
Keypress events are generated when keys are pressed on a keypad and can be enabled inside [[#CONFIGBITS|CONFIGBITS]].&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !KPE Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!KPE&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;18&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Keypad Address&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !KPE&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 18&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Error message report==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !ERR Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!ERR&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Error list&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !ERR&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1,1,1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Keypad Address&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the address of the keypad that generated the event.&lt;br /&gt;
&lt;br /&gt;
=Device Feedback LED=&lt;br /&gt;
* Boot flash mode&lt;br /&gt;
** During boot the AD2* will rapid flash during the boot loader.&lt;br /&gt;
* Operating mode&lt;br /&gt;
** The normal operating mode is a steady of approx 2.5 flashes per second.&lt;br /&gt;
* Error mode&lt;br /&gt;
** 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.&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/Protocol</id>
		<title>Protocol</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/Protocol"/>
				<updated>2015-09-08T19:30:20Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: /* Commands */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:FAQ]]&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Specifications]]&lt;br /&gt;
[[Category:Features]]&lt;br /&gt;
&lt;br /&gt;
=Commands=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Command&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | =&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[#Reboot|Reboot]] the device.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[#Device Configuration|Configure]] the device via prompts.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | C&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Sets or retrieves [[#Device Configuration|configuration parameters]].&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | L&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[#Zone Emulation|Emulate]] virtual zone opens and closes.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | E&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Dump error report and clear error history. [[#Error_message_report|Error report]]&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | V&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Dump the version, serial number and flags used in the firmware.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | K&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send message from specific partition or keypad address. [[#Addressed Message|Addressed Message]]&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x01\x01\x01&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #1&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x02\x02\x02&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #2&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x03\x03\x03&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #3&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x04\x04\x04&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #4&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0123456789*#&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send key to panel&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Reboot==&lt;br /&gt;
Rebooting the device is as simple as sending &amp;lt;b&amp;gt;=&amp;lt;/b&amp;gt; to it.&lt;br /&gt;
&lt;br /&gt;
During the boot process you can trigger a firmware upload by sending a second &amp;lt;b&amp;gt;=&amp;lt;/b&amp;gt; to the device after the &amp;lt;i&amp;gt;!boot&amp;lt;/i&amp;gt; message is received.  At this point you'll receive a &amp;lt;i&amp;gt;!load&amp;lt;/i&amp;gt; and can begin uploading.&lt;br /&gt;
&lt;br /&gt;
==Zone Emulation==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;b&amp;gt;L&amp;lt;/b&amp;gt; command can be used to open or close 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 or 1.&lt;br /&gt;
&lt;br /&gt;
Example - open zone 12:&lt;br /&gt;
* &amp;lt;b&amp;gt;L121\r&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example - close zone 12:&lt;br /&gt;
* &amp;lt;b&amp;gt;L120\r&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Addressed Message==&lt;br /&gt;
* It is possible to send a message from a specific keypad on Ademco/Vista or to a specific partition on DSC. &lt;br /&gt;
&lt;br /&gt;
==Function Keys==&lt;br /&gt;
The specialty function keys are identified by ASCII character codes 1 through 4.  In order to prevent false positives these must be sent three times in a row.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Function Key Codes&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Code&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| \x01\x01\x01&lt;br /&gt;
| Function Key #1&lt;br /&gt;
|-&lt;br /&gt;
| \x02\x02\x02&lt;br /&gt;
| Function Key #2&lt;br /&gt;
|-&lt;br /&gt;
| \x03\x03\x03&lt;br /&gt;
| Function Key #3&lt;br /&gt;
|-&lt;br /&gt;
| \x04\x04\x04&lt;br /&gt;
| Function Key #4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Device Configuration=&lt;br /&gt;
The AlarmDecoder configuration can be viewed or modified in one of two ways: [[#Prompted|prompted]] or [[#Programatic|programmatically]].&lt;br /&gt;
&lt;br /&gt;
==Prompted==&lt;br /&gt;
If you send &amp;lt;b&amp;gt;!&amp;lt;/b&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;You may hit enter to keep the current value or provide a new one.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!&amp;gt;Ademco/DSC  Mode A/D  (A) :&amp;gt;&lt;br /&gt;
!&amp;gt;Keypad Address       (18) :&amp;gt;&lt;br /&gt;
!WARNING. Do not enable a module if the physical module exists on the system.&lt;br /&gt;
!Zone Expanders Y/N Max allowed: 02&lt;br /&gt;
!&amp;gt;expander module #01 ZN 09-16 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #02 ZN 17-24 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #03 ZN 25-32 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #04 ZN 33-40 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #05 ZN 41-48 (Y) :&amp;gt;&lt;br /&gt;
!Relay Modules Y/N Max allowed: 04&lt;br /&gt;
!&amp;gt;relay module #01 (Y) :&amp;gt;&lt;br /&gt;
!&amp;gt;relay module #02 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;relay module #03 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;relay module #04 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;Emulate Long Range Radio Y/N: (Y) :&amp;gt;&lt;br /&gt;
!&amp;gt;ZoneTracker track zone restore Y/N: (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;Address Filter Mask  (ffffffff) :&amp;gt;&lt;br /&gt;
!&amp;gt;Deduplicate          (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;Config Bits        (ff04) :&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Programmatic==&lt;br /&gt;
You may retrieve all of the current device settings by sending &amp;lt;b&amp;gt;C&amp;lt;/b&amp;gt; to the panel followed by a carriage return (\r).&lt;br /&gt;
&lt;br /&gt;
Retrieving settings:&lt;br /&gt;
* Send: &amp;lt;b&amp;gt;C\r&amp;lt;/b&amp;gt;&lt;br /&gt;
* Response: &amp;lt;b&amp;gt;!CONFIG&amp;gt;ADDRESS=18&amp;amp;CONFIGBITS=ff00&amp;amp;LRR=N&amp;amp;EXP=NNNNN&amp;amp;REL=NNNN&amp;amp;MASK=ffffffff&amp;amp;DEDUPLICATE=N&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It can also be used to set values:&lt;br /&gt;
* Send: &amp;lt;b&amp;gt;CADDRESS=20\r&amp;lt;/b&amp;gt;&lt;br /&gt;
* Response: &amp;lt;b&amp;gt;!&amp;gt;ADDRESS=20&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The same command may be used to set multiple values:&lt;br /&gt;
* Send: &amp;lt;b&amp;gt;CADDRESS=20&amp;amp;DEDUPLICATE=Y\r&amp;lt;/b&amp;gt;&lt;br /&gt;
* Response: &amp;lt;b&amp;gt;!&amp;gt;ADDRESS=20&amp;amp;DEDUPLICATE=Y&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Configuration Parameters===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Default Value&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Valid Values (Regex)&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ADDRESS&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 18&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [0-9]{2}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Keypad address assigned to the AlarmDecoder.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | CONFIGBITS&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | FF00&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [0-9a-f]{4}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Special settings for the device.  See [[#CONFIGBITS|CONFIGBITS]] for more information.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | MASK&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | FFFFFFFF&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [0-9a-f]{8}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Address mask used to filter for keypad alphanumeric messages.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | EXP&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NNNNN&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]{5}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Emulation of zone expanders 1-5&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | REL&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NNNN&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]{4}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Emulation of relay expanders 1-4&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | LRR&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | N&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Emulation of Long Range Radio expander&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | DEDUPLICATE&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | N&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | If enabled, removes duplicate alphanumeric keypad messages.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====CONFIGBITS====&lt;br /&gt;
CONFIGBITS is a setting that's used to enable special functionality on the AlarmDecoder.  You can enable these by masking the correct bits.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ CONFIGBITS Definition&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Mask&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0001&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable reporting of [[#AUI|AUI]] messages.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0002&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable reporting of [[#Keypress Events|keypress events]].&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0004&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Disable prompts for &amp;lt;b&amp;gt;L&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;|&amp;lt;/b&amp;gt; commands.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0008&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable the prefixing of panel messages with !KMP.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0100&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable reporting of [[#RFX|RFX]] messages.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Message Types=&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
* All lines starting with &amp;lt;b&amp;gt;!&amp;lt;/b&amp;gt; are informational.&lt;br /&gt;
* Lines that start with &amp;lt;b&amp;gt;!&amp;gt;&amp;lt;/b&amp;gt; are prompts.&lt;br /&gt;
* All other lines are panel data in the form of a [[#Keypad|Keypad message]].&lt;br /&gt;
&lt;br /&gt;
==Keypad==&lt;br /&gt;
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 &amp;lt;b&amp;gt;!KPM:&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Keypad Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;[001000010000--------]&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;010&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;[f70700060010808c08020000]&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;&amp;quot;ARMED ***STAY** ZONE BYPASSED &amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;160px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Bit field&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Numeric code&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;200px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Raw data&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;220px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Alphanumeric Keypad Message&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [001000010000--------]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 010&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [f70700060010808c08020000]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | &amp;quot;ARMED ***STAY** ZONE BYPASSED &amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;Bit field&amp;lt;/span&amp;gt;====&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Position&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Indicates if the panel is READY&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Indicates if the panel is ARMED AWAY&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Indicates if the panel is ARMED HOME&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| Indicates if the keypad backlight is on&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Indicates if the keypad is in programming mode&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Number (1-7) indicating how many beeps are associated with the message&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| Indicates that a zone has been bypassed&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| Indicates if the panel is on AC power&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| Indicates if the chime is enabled&lt;br /&gt;
|-&lt;br /&gt;
| 10 &lt;br /&gt;
| Indicates that an alarm has occurred.  This is sticky and will be cleared after a second disarm.&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| Indicates that an alarm is currently sounding.  This is cleared after the first disarm.&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| Indicates that the battery is low&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| Indicates that entry delay is off (ARMED INSTANT/MAX)&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| Indicates that there is a fire&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| Indicates a system issue&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| Indicates that the panel is only watching the perimeter (ARMED STAY/NIGHT)&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
| 19&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
| 20&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Numeric Code&amp;lt;/span&amp;gt;====&lt;br /&gt;
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 &amp;lt;b&amp;gt;022&amp;lt;/b&amp;gt;.  Most of the time this is zero-padded base10, but there are rare occurrences where this may be base16, such as ECP bus failures.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Raw data&amp;lt;/span&amp;gt;====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Byte&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Addresses&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0-7&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 8-15&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 16-23&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 24-31&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
* f7&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;07000600&amp;lt;/span&amp;gt;10808c08020000 - our keypad address mask is &amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;07000600&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Using the above mask example of &amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;07000600&amp;lt;/span&amp;gt; we find that this message was destined for keypads 0, 1, 2, 17 and 18.&lt;br /&gt;
&lt;br /&gt;
There is one special case: system messages will have no address mask bits set and are intended for common keypads or monitoring multiple zones.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Alphanumeric Keypad Message&amp;lt;/span&amp;gt;====&lt;br /&gt;
This section is the data that would be displayed on your keypad's screen.&lt;br /&gt;
&lt;br /&gt;
==Zone Expander==&lt;br /&gt;
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.&lt;br /&gt;
===Examples===&lt;br /&gt;
Example of zone expander at address 7, channel 1 faulting and then restoring:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!EXP:07,01,01&lt;br /&gt;
!EXP:07,01,00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !EXP Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!EXP&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;07&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;160px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Zone Expander Address&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;140px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Expander Channel&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !EXP&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 07&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Zone Expander Address&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the address that the zone expander occupies.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Expander Channel&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the channel generating the message.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
00 and 01 indicate that the zone is restored and faulted, respectively.&lt;br /&gt;
&lt;br /&gt;
==Relay Expander==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
Examples of a relay expander at address 12, relay #1 closing and then opening:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!REL:12,01,01&lt;br /&gt;
!REL:12,01,00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !REL Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!REL&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;12&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;160px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Relay Expander Address&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;140px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Expander Channel&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !REL&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 12&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Relay Expander Address&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the address that the relay expander occupies.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Expander Channel&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the channel generating the message.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
00 and 01 indicate that the relay is opened and closed, respectively.&lt;br /&gt;
&lt;br /&gt;
==RFX==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
Example of a 5800Micra sensor faulting and restoring:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!RFX:0180036,80&lt;br /&gt;
!RFX:0180036,00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example of a 5804 keyfob pressing the loop #2 button and having a low battery:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!RFX:0307854,22&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !RFX Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!RFX&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;0180036&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;80&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Serial Number&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !RFX&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0180036&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 80&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Serial Number&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the 7-digit serial number of the device the message originated from.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ RFX Data Format&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Bit&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| Unknown - Seems that the loop indicators should be ignored if set.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 2&lt;br /&gt;
| Low battery indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 3&lt;br /&gt;
| Supervision required indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 5&lt;br /&gt;
| Loop #3 indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 6&lt;br /&gt;
| Loop #2 indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 7&lt;br /&gt;
| Loop #4 indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 8&lt;br /&gt;
| Loop #1 indication&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==LRR==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
This example shows User 12 arming and disarming the system:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!LRR:012,1,ARM_STAY&lt;br /&gt;
!LRR:012,1,ARM_AWAY&lt;br /&gt;
!LRR:012,1,OPEN&lt;br /&gt;
!LRR:003,1,BYPASS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !LRR Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!LRR&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;012&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;ARM_STAY&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Event Data&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Partition&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Event Type&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !LRR&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 012&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | ARM_STAY&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Event Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is either the user number of the person performing the action or the zone that was bypassed.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Partition&amp;lt;/span&amp;gt;====&lt;br /&gt;
The panel partition the event applies to.  Partition 0 indicates that it's destined for all partitions.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Event Type&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the type of the LRR event.  See below for a description and what (if any) programming fields are required for activation.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ LRR Event Types&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Program Fields&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_EXIT_ERROR&lt;br /&gt;
| *59&lt;br /&gt;
| Indicates an error when a zone is not closed during arming&lt;br /&gt;
|-&lt;br /&gt;
| TROUBLE&lt;br /&gt;
| *60&lt;br /&gt;
| Indicates that a zone is reporting a tamper or failure&lt;br /&gt;
|-&lt;br /&gt;
| BYPASS&lt;br /&gt;
| *61&lt;br /&gt;
| Indicates that a zone has been bypassed&lt;br /&gt;
|-&lt;br /&gt;
| ACLOSS&lt;br /&gt;
| *62&lt;br /&gt;
| Indicates that AC power was lost&lt;br /&gt;
|-&lt;br /&gt;
| LOWBAT&lt;br /&gt;
| *63&lt;br /&gt;
| Low battery indication&lt;br /&gt;
|-&lt;br /&gt;
| TEST_CALL&lt;br /&gt;
| *64&lt;br /&gt;
| Indicates a phone test when in testing mode&lt;br /&gt;
|-&lt;br /&gt;
| OPEN&lt;br /&gt;
| *65, requires *66&lt;br /&gt;
| Indicates that the alarm is disarmed&lt;br /&gt;
|-&lt;br /&gt;
| ARM_AWAY&lt;br /&gt;
| *66&lt;br /&gt;
| Indicates that the system was armed AWAY&lt;br /&gt;
|-&lt;br /&gt;
| ARM_STAY&lt;br /&gt;
| *66&lt;br /&gt;
| Indicates that the system was armed STAY&lt;br /&gt;
|-&lt;br /&gt;
| RFLOWBAT&lt;br /&gt;
| *67&lt;br /&gt;
| Low battery indication for the RF transmitter&lt;br /&gt;
|-&lt;br /&gt;
| CANCEL&lt;br /&gt;
| *68&lt;br /&gt;
| Indicates that the alarm was canceled after second disarm&lt;br /&gt;
|-&lt;br /&gt;
| RESTORE&lt;br /&gt;
| *70&lt;br /&gt;
| Indicates that the alarm was restored&lt;br /&gt;
|-&lt;br /&gt;
| TROUBLE_RESTORE&lt;br /&gt;
| *71&lt;br /&gt;
| Indicates that the trouble event was restored&lt;br /&gt;
|-&lt;br /&gt;
| BYPASS_RESTORE&lt;br /&gt;
| *72&lt;br /&gt;
| Indicates that the bypassed zonew as restored&lt;br /&gt;
|-&lt;br /&gt;
| AC_RESTORE&lt;br /&gt;
| *73&lt;br /&gt;
| Indicates that AC power was restored&lt;br /&gt;
|-&lt;br /&gt;
| LOWBAT_RESTORE&lt;br /&gt;
| *74&lt;br /&gt;
| Indicates that the low battery has been restored&lt;br /&gt;
|-&lt;br /&gt;
| RFLOWBAT_RESTORE&lt;br /&gt;
| *75&lt;br /&gt;
| Indicates that the low battery on the RF transmitter has been restored.&lt;br /&gt;
|-&lt;br /&gt;
| TEST_RESTORE&lt;br /&gt;
| *76&lt;br /&gt;
| Indicates that a zone was restored in testing mode&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_PANIC&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there is a panic&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_FIRE&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there is a fire&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_ENTRY&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there was an entry alarm&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_AUX&lt;br /&gt;
| &lt;br /&gt;
| Indicates that an auxiliary alarm type was triggered&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_AUDIBLE&lt;br /&gt;
| &lt;br /&gt;
| Indicates that an audible alarm is in progress&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_SILENT&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there was a silent alarm&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_PERIMETER&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there was a perimeter alarm&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==AUI==&lt;br /&gt;
AUI messages are generated for &amp;quot;Advanced User Interface&amp;quot; keypads.  These include a lot of extra data than what's destined for regular keypads.&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !AUI Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!AUI&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;126600000000656c02456cf5ec01017f0002&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | AUI Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !AUI&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 126600000000656c02456cf5ec01017f0002&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;AUI Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Keypress Events==&lt;br /&gt;
Keypress events are generated when keys are pressed on a keypad and can be enabled inside [[#CONFIGBITS|CONFIGBITS]].&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !KPE Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!KPE&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;18&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Keypad Address&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !KPE&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 18&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Error message report==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !ERR Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!ERR&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Error list&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !ERR&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1,1,1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Keypad Address&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the address of the keypad that generated the event.&lt;br /&gt;
&lt;br /&gt;
=Device Feedback LED=&lt;br /&gt;
* Boot flash mode&lt;br /&gt;
** During boot the AD2* will rapid flash during the boot loader.&lt;br /&gt;
* Operating mode&lt;br /&gt;
** The normal operating mode is a steady of approx 2.5 flashes per second.&lt;br /&gt;
* Error mode&lt;br /&gt;
** 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.&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/Protocol</id>
		<title>Protocol</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/Protocol"/>
				<updated>2015-09-08T19:29:41Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: /* Commands */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:FAQ]]&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Specifications]]&lt;br /&gt;
[[Category:Features]]&lt;br /&gt;
&lt;br /&gt;
=Commands=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Command&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | =&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[#Reboot|Reboot]] the device.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[#Device Configuration|Configure]] the device via prompts.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | C&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Sets or retrieves [[#Device Configuration|configuration parameters]].&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | L&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[#Zone Emulation|Emulate]] virtual zone opens and closes.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | E&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Dump error report and clear error history. [[#Error_message_report|Error report]]&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | V&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Dump the version, serial number and flags used in the firmware.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | K&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send message from specific partition or keypad address. [[#Addressed message|Addressed message]]&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x01\x01\x01&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #1&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x02\x02\x02&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #2&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x03\x03\x03&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #3&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x04\x04\x04&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #4&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0123456789*#&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send key to panel&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Reboot==&lt;br /&gt;
Rebooting the device is as simple as sending &amp;lt;b&amp;gt;=&amp;lt;/b&amp;gt; to it.&lt;br /&gt;
&lt;br /&gt;
During the boot process you can trigger a firmware upload by sending a second &amp;lt;b&amp;gt;=&amp;lt;/b&amp;gt; to the device after the &amp;lt;i&amp;gt;!boot&amp;lt;/i&amp;gt; message is received.  At this point you'll receive a &amp;lt;i&amp;gt;!load&amp;lt;/i&amp;gt; and can begin uploading.&lt;br /&gt;
&lt;br /&gt;
==Zone Emulation==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;b&amp;gt;L&amp;lt;/b&amp;gt; command can be used to open or close 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 or 1.&lt;br /&gt;
&lt;br /&gt;
Example - open zone 12:&lt;br /&gt;
* &amp;lt;b&amp;gt;L121\r&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example - close zone 12:&lt;br /&gt;
* &amp;lt;b&amp;gt;L120\r&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Addressed Message==&lt;br /&gt;
* It is possible to send a message from a specific keypad on Ademco/Vista or to a specific partition on DSC. &lt;br /&gt;
&lt;br /&gt;
==Function Keys==&lt;br /&gt;
The specialty function keys are identified by ASCII character codes 1 through 4.  In order to prevent false positives these must be sent three times in a row.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Function Key Codes&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Code&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| \x01\x01\x01&lt;br /&gt;
| Function Key #1&lt;br /&gt;
|-&lt;br /&gt;
| \x02\x02\x02&lt;br /&gt;
| Function Key #2&lt;br /&gt;
|-&lt;br /&gt;
| \x03\x03\x03&lt;br /&gt;
| Function Key #3&lt;br /&gt;
|-&lt;br /&gt;
| \x04\x04\x04&lt;br /&gt;
| Function Key #4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Device Configuration=&lt;br /&gt;
The AlarmDecoder configuration can be viewed or modified in one of two ways: [[#Prompted|prompted]] or [[#Programatic|programmatically]].&lt;br /&gt;
&lt;br /&gt;
==Prompted==&lt;br /&gt;
If you send &amp;lt;b&amp;gt;!&amp;lt;/b&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;You may hit enter to keep the current value or provide a new one.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!&amp;gt;Ademco/DSC  Mode A/D  (A) :&amp;gt;&lt;br /&gt;
!&amp;gt;Keypad Address       (18) :&amp;gt;&lt;br /&gt;
!WARNING. Do not enable a module if the physical module exists on the system.&lt;br /&gt;
!Zone Expanders Y/N Max allowed: 02&lt;br /&gt;
!&amp;gt;expander module #01 ZN 09-16 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #02 ZN 17-24 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #03 ZN 25-32 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #04 ZN 33-40 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #05 ZN 41-48 (Y) :&amp;gt;&lt;br /&gt;
!Relay Modules Y/N Max allowed: 04&lt;br /&gt;
!&amp;gt;relay module #01 (Y) :&amp;gt;&lt;br /&gt;
!&amp;gt;relay module #02 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;relay module #03 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;relay module #04 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;Emulate Long Range Radio Y/N: (Y) :&amp;gt;&lt;br /&gt;
!&amp;gt;ZoneTracker track zone restore Y/N: (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;Address Filter Mask  (ffffffff) :&amp;gt;&lt;br /&gt;
!&amp;gt;Deduplicate          (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;Config Bits        (ff04) :&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Programmatic==&lt;br /&gt;
You may retrieve all of the current device settings by sending &amp;lt;b&amp;gt;C&amp;lt;/b&amp;gt; to the panel followed by a carriage return (\r).&lt;br /&gt;
&lt;br /&gt;
Retrieving settings:&lt;br /&gt;
* Send: &amp;lt;b&amp;gt;C\r&amp;lt;/b&amp;gt;&lt;br /&gt;
* Response: &amp;lt;b&amp;gt;!CONFIG&amp;gt;ADDRESS=18&amp;amp;CONFIGBITS=ff00&amp;amp;LRR=N&amp;amp;EXP=NNNNN&amp;amp;REL=NNNN&amp;amp;MASK=ffffffff&amp;amp;DEDUPLICATE=N&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It can also be used to set values:&lt;br /&gt;
* Send: &amp;lt;b&amp;gt;CADDRESS=20\r&amp;lt;/b&amp;gt;&lt;br /&gt;
* Response: &amp;lt;b&amp;gt;!&amp;gt;ADDRESS=20&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The same command may be used to set multiple values:&lt;br /&gt;
* Send: &amp;lt;b&amp;gt;CADDRESS=20&amp;amp;DEDUPLICATE=Y\r&amp;lt;/b&amp;gt;&lt;br /&gt;
* Response: &amp;lt;b&amp;gt;!&amp;gt;ADDRESS=20&amp;amp;DEDUPLICATE=Y&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Configuration Parameters===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Default Value&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Valid Values (Regex)&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ADDRESS&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 18&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [0-9]{2}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Keypad address assigned to the AlarmDecoder.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | CONFIGBITS&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | FF00&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [0-9a-f]{4}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Special settings for the device.  See [[#CONFIGBITS|CONFIGBITS]] for more information.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | MASK&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | FFFFFFFF&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [0-9a-f]{8}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Address mask used to filter for keypad alphanumeric messages.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | EXP&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NNNNN&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]{5}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Emulation of zone expanders 1-5&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | REL&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NNNN&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]{4}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Emulation of relay expanders 1-4&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | LRR&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | N&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Emulation of Long Range Radio expander&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | DEDUPLICATE&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | N&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | If enabled, removes duplicate alphanumeric keypad messages.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====CONFIGBITS====&lt;br /&gt;
CONFIGBITS is a setting that's used to enable special functionality on the AlarmDecoder.  You can enable these by masking the correct bits.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ CONFIGBITS Definition&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Mask&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0001&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable reporting of [[#AUI|AUI]] messages.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0002&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable reporting of [[#Keypress Events|keypress events]].&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0004&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Disable prompts for &amp;lt;b&amp;gt;L&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;|&amp;lt;/b&amp;gt; commands.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0008&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable the prefixing of panel messages with !KMP.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0100&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable reporting of [[#RFX|RFX]] messages.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Message Types=&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
* All lines starting with &amp;lt;b&amp;gt;!&amp;lt;/b&amp;gt; are informational.&lt;br /&gt;
* Lines that start with &amp;lt;b&amp;gt;!&amp;gt;&amp;lt;/b&amp;gt; are prompts.&lt;br /&gt;
* All other lines are panel data in the form of a [[#Keypad|Keypad message]].&lt;br /&gt;
&lt;br /&gt;
==Keypad==&lt;br /&gt;
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 &amp;lt;b&amp;gt;!KPM:&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Keypad Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;[001000010000--------]&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;010&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;[f70700060010808c08020000]&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;&amp;quot;ARMED ***STAY** ZONE BYPASSED &amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;160px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Bit field&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Numeric code&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;200px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Raw data&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;220px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Alphanumeric Keypad Message&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [001000010000--------]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 010&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [f70700060010808c08020000]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | &amp;quot;ARMED ***STAY** ZONE BYPASSED &amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;Bit field&amp;lt;/span&amp;gt;====&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Position&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Indicates if the panel is READY&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Indicates if the panel is ARMED AWAY&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Indicates if the panel is ARMED HOME&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| Indicates if the keypad backlight is on&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Indicates if the keypad is in programming mode&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Number (1-7) indicating how many beeps are associated with the message&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| Indicates that a zone has been bypassed&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| Indicates if the panel is on AC power&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| Indicates if the chime is enabled&lt;br /&gt;
|-&lt;br /&gt;
| 10 &lt;br /&gt;
| Indicates that an alarm has occurred.  This is sticky and will be cleared after a second disarm.&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| Indicates that an alarm is currently sounding.  This is cleared after the first disarm.&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| Indicates that the battery is low&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| Indicates that entry delay is off (ARMED INSTANT/MAX)&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| Indicates that there is a fire&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| Indicates a system issue&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| Indicates that the panel is only watching the perimeter (ARMED STAY/NIGHT)&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
| 19&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
| 20&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Numeric Code&amp;lt;/span&amp;gt;====&lt;br /&gt;
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 &amp;lt;b&amp;gt;022&amp;lt;/b&amp;gt;.  Most of the time this is zero-padded base10, but there are rare occurrences where this may be base16, such as ECP bus failures.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Raw data&amp;lt;/span&amp;gt;====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Byte&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Addresses&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0-7&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 8-15&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 16-23&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 24-31&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
* f7&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;07000600&amp;lt;/span&amp;gt;10808c08020000 - our keypad address mask is &amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;07000600&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Using the above mask example of &amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;07000600&amp;lt;/span&amp;gt; we find that this message was destined for keypads 0, 1, 2, 17 and 18.&lt;br /&gt;
&lt;br /&gt;
There is one special case: system messages will have no address mask bits set and are intended for common keypads or monitoring multiple zones.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Alphanumeric Keypad Message&amp;lt;/span&amp;gt;====&lt;br /&gt;
This section is the data that would be displayed on your keypad's screen.&lt;br /&gt;
&lt;br /&gt;
==Zone Expander==&lt;br /&gt;
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.&lt;br /&gt;
===Examples===&lt;br /&gt;
Example of zone expander at address 7, channel 1 faulting and then restoring:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!EXP:07,01,01&lt;br /&gt;
!EXP:07,01,00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !EXP Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!EXP&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;07&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;160px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Zone Expander Address&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;140px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Expander Channel&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !EXP&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 07&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Zone Expander Address&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the address that the zone expander occupies.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Expander Channel&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the channel generating the message.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
00 and 01 indicate that the zone is restored and faulted, respectively.&lt;br /&gt;
&lt;br /&gt;
==Relay Expander==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
Examples of a relay expander at address 12, relay #1 closing and then opening:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!REL:12,01,01&lt;br /&gt;
!REL:12,01,00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !REL Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!REL&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;12&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;160px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Relay Expander Address&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;140px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Expander Channel&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !REL&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 12&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Relay Expander Address&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the address that the relay expander occupies.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Expander Channel&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the channel generating the message.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
00 and 01 indicate that the relay is opened and closed, respectively.&lt;br /&gt;
&lt;br /&gt;
==RFX==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
Example of a 5800Micra sensor faulting and restoring:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!RFX:0180036,80&lt;br /&gt;
!RFX:0180036,00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example of a 5804 keyfob pressing the loop #2 button and having a low battery:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!RFX:0307854,22&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !RFX Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!RFX&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;0180036&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;80&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Serial Number&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !RFX&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0180036&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 80&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Serial Number&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the 7-digit serial number of the device the message originated from.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ RFX Data Format&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Bit&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| Unknown - Seems that the loop indicators should be ignored if set.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 2&lt;br /&gt;
| Low battery indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 3&lt;br /&gt;
| Supervision required indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 5&lt;br /&gt;
| Loop #3 indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 6&lt;br /&gt;
| Loop #2 indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 7&lt;br /&gt;
| Loop #4 indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 8&lt;br /&gt;
| Loop #1 indication&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==LRR==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
This example shows User 12 arming and disarming the system:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!LRR:012,1,ARM_STAY&lt;br /&gt;
!LRR:012,1,ARM_AWAY&lt;br /&gt;
!LRR:012,1,OPEN&lt;br /&gt;
!LRR:003,1,BYPASS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !LRR Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!LRR&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;012&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;ARM_STAY&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Event Data&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Partition&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Event Type&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !LRR&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 012&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | ARM_STAY&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Event Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is either the user number of the person performing the action or the zone that was bypassed.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Partition&amp;lt;/span&amp;gt;====&lt;br /&gt;
The panel partition the event applies to.  Partition 0 indicates that it's destined for all partitions.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Event Type&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the type of the LRR event.  See below for a description and what (if any) programming fields are required for activation.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ LRR Event Types&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Program Fields&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_EXIT_ERROR&lt;br /&gt;
| *59&lt;br /&gt;
| Indicates an error when a zone is not closed during arming&lt;br /&gt;
|-&lt;br /&gt;
| TROUBLE&lt;br /&gt;
| *60&lt;br /&gt;
| Indicates that a zone is reporting a tamper or failure&lt;br /&gt;
|-&lt;br /&gt;
| BYPASS&lt;br /&gt;
| *61&lt;br /&gt;
| Indicates that a zone has been bypassed&lt;br /&gt;
|-&lt;br /&gt;
| ACLOSS&lt;br /&gt;
| *62&lt;br /&gt;
| Indicates that AC power was lost&lt;br /&gt;
|-&lt;br /&gt;
| LOWBAT&lt;br /&gt;
| *63&lt;br /&gt;
| Low battery indication&lt;br /&gt;
|-&lt;br /&gt;
| TEST_CALL&lt;br /&gt;
| *64&lt;br /&gt;
| Indicates a phone test when in testing mode&lt;br /&gt;
|-&lt;br /&gt;
| OPEN&lt;br /&gt;
| *65, requires *66&lt;br /&gt;
| Indicates that the alarm is disarmed&lt;br /&gt;
|-&lt;br /&gt;
| ARM_AWAY&lt;br /&gt;
| *66&lt;br /&gt;
| Indicates that the system was armed AWAY&lt;br /&gt;
|-&lt;br /&gt;
| ARM_STAY&lt;br /&gt;
| *66&lt;br /&gt;
| Indicates that the system was armed STAY&lt;br /&gt;
|-&lt;br /&gt;
| RFLOWBAT&lt;br /&gt;
| *67&lt;br /&gt;
| Low battery indication for the RF transmitter&lt;br /&gt;
|-&lt;br /&gt;
| CANCEL&lt;br /&gt;
| *68&lt;br /&gt;
| Indicates that the alarm was canceled after second disarm&lt;br /&gt;
|-&lt;br /&gt;
| RESTORE&lt;br /&gt;
| *70&lt;br /&gt;
| Indicates that the alarm was restored&lt;br /&gt;
|-&lt;br /&gt;
| TROUBLE_RESTORE&lt;br /&gt;
| *71&lt;br /&gt;
| Indicates that the trouble event was restored&lt;br /&gt;
|-&lt;br /&gt;
| BYPASS_RESTORE&lt;br /&gt;
| *72&lt;br /&gt;
| Indicates that the bypassed zonew as restored&lt;br /&gt;
|-&lt;br /&gt;
| AC_RESTORE&lt;br /&gt;
| *73&lt;br /&gt;
| Indicates that AC power was restored&lt;br /&gt;
|-&lt;br /&gt;
| LOWBAT_RESTORE&lt;br /&gt;
| *74&lt;br /&gt;
| Indicates that the low battery has been restored&lt;br /&gt;
|-&lt;br /&gt;
| RFLOWBAT_RESTORE&lt;br /&gt;
| *75&lt;br /&gt;
| Indicates that the low battery on the RF transmitter has been restored.&lt;br /&gt;
|-&lt;br /&gt;
| TEST_RESTORE&lt;br /&gt;
| *76&lt;br /&gt;
| Indicates that a zone was restored in testing mode&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_PANIC&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there is a panic&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_FIRE&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there is a fire&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_ENTRY&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there was an entry alarm&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_AUX&lt;br /&gt;
| &lt;br /&gt;
| Indicates that an auxiliary alarm type was triggered&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_AUDIBLE&lt;br /&gt;
| &lt;br /&gt;
| Indicates that an audible alarm is in progress&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_SILENT&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there was a silent alarm&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_PERIMETER&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there was a perimeter alarm&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==AUI==&lt;br /&gt;
AUI messages are generated for &amp;quot;Advanced User Interface&amp;quot; keypads.  These include a lot of extra data than what's destined for regular keypads.&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !AUI Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!AUI&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;126600000000656c02456cf5ec01017f0002&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | AUI Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !AUI&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 126600000000656c02456cf5ec01017f0002&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;AUI Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Keypress Events==&lt;br /&gt;
Keypress events are generated when keys are pressed on a keypad and can be enabled inside [[#CONFIGBITS|CONFIGBITS]].&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !KPE Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!KPE&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;18&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Keypad Address&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !KPE&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 18&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Error message report==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !ERR Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!ERR&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Error list&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !ERR&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1,1,1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Keypad Address&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the address of the keypad that generated the event.&lt;br /&gt;
&lt;br /&gt;
=Device Feedback LED=&lt;br /&gt;
* Boot flash mode&lt;br /&gt;
** During boot the AD2* will rapid flash during the boot loader.&lt;br /&gt;
* Operating mode&lt;br /&gt;
** The normal operating mode is a steady of approx 2.5 flashes per second.&lt;br /&gt;
* Error mode&lt;br /&gt;
** 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.&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/Protocol</id>
		<title>Protocol</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/Protocol"/>
				<updated>2015-09-08T19:28:20Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: /* Commands */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:FAQ]]&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Specifications]]&lt;br /&gt;
[[Category:Features]]&lt;br /&gt;
&lt;br /&gt;
=Commands=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Command&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | =&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[#Reboot|Reboot]] the device.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[#Device Configuration|Configure]] the device via prompts.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | C&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Sets or retrieves [[#Device Configuration|configuration parameters]].&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | L&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[#Zone Emulation|Emulate]] virtual zone opens and closes.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | E&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Dump error report and clear error history. [[#Error_message_report|Error report]]&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | V&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Dump the version, serial number and flags used in the firmware.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | K&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send message from specific partition or keypad address. [[#Addressed message|Addressed message]]&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x01\x01\x01&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #1&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x02\x02\x02&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #2&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x03\x03\x03&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #3&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x04\x04\x04&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #4&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0123456789*#&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send key to panel&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Reboot==&lt;br /&gt;
Rebooting the device is as simple as sending &amp;lt;b&amp;gt;=&amp;lt;/b&amp;gt; to it.&lt;br /&gt;
&lt;br /&gt;
During the boot process you can trigger a firmware upload by sending a second &amp;lt;b&amp;gt;=&amp;lt;/b&amp;gt; to the device after the &amp;lt;i&amp;gt;!boot&amp;lt;/i&amp;gt; message is received.  At this point you'll receive a &amp;lt;i&amp;gt;!load&amp;lt;/i&amp;gt; and can begin uploading.&lt;br /&gt;
&lt;br /&gt;
==Zone Emulation==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;b&amp;gt;L&amp;lt;/b&amp;gt; command can be used to open or close 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 or 1.&lt;br /&gt;
&lt;br /&gt;
Example - open zone 12:&lt;br /&gt;
* &amp;lt;b&amp;gt;L121\r&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example - close zone 12:&lt;br /&gt;
* &amp;lt;b&amp;gt;L120\r&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Function Keys==&lt;br /&gt;
The specialty function keys are identified by ASCII character codes 1 through 4.  In order to prevent false positives these must be sent three times in a row.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Function Key Codes&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Code&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| \x01\x01\x01&lt;br /&gt;
| Function Key #1&lt;br /&gt;
|-&lt;br /&gt;
| \x02\x02\x02&lt;br /&gt;
| Function Key #2&lt;br /&gt;
|-&lt;br /&gt;
| \x03\x03\x03&lt;br /&gt;
| Function Key #3&lt;br /&gt;
|-&lt;br /&gt;
| \x04\x04\x04&lt;br /&gt;
| Function Key #4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Device Configuration=&lt;br /&gt;
The AlarmDecoder configuration can be viewed or modified in one of two ways: [[#Prompted|prompted]] or [[#Programatic|programmatically]].&lt;br /&gt;
&lt;br /&gt;
==Prompted==&lt;br /&gt;
If you send &amp;lt;b&amp;gt;!&amp;lt;/b&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;You may hit enter to keep the current value or provide a new one.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!&amp;gt;Ademco/DSC  Mode A/D  (A) :&amp;gt;&lt;br /&gt;
!&amp;gt;Keypad Address       (18) :&amp;gt;&lt;br /&gt;
!WARNING. Do not enable a module if the physical module exists on the system.&lt;br /&gt;
!Zone Expanders Y/N Max allowed: 02&lt;br /&gt;
!&amp;gt;expander module #01 ZN 09-16 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #02 ZN 17-24 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #03 ZN 25-32 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #04 ZN 33-40 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #05 ZN 41-48 (Y) :&amp;gt;&lt;br /&gt;
!Relay Modules Y/N Max allowed: 04&lt;br /&gt;
!&amp;gt;relay module #01 (Y) :&amp;gt;&lt;br /&gt;
!&amp;gt;relay module #02 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;relay module #03 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;relay module #04 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;Emulate Long Range Radio Y/N: (Y) :&amp;gt;&lt;br /&gt;
!&amp;gt;ZoneTracker track zone restore Y/N: (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;Address Filter Mask  (ffffffff) :&amp;gt;&lt;br /&gt;
!&amp;gt;Deduplicate          (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;Config Bits        (ff04) :&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Programmatic==&lt;br /&gt;
You may retrieve all of the current device settings by sending &amp;lt;b&amp;gt;C&amp;lt;/b&amp;gt; to the panel followed by a carriage return (\r).&lt;br /&gt;
&lt;br /&gt;
Retrieving settings:&lt;br /&gt;
* Send: &amp;lt;b&amp;gt;C\r&amp;lt;/b&amp;gt;&lt;br /&gt;
* Response: &amp;lt;b&amp;gt;!CONFIG&amp;gt;ADDRESS=18&amp;amp;CONFIGBITS=ff00&amp;amp;LRR=N&amp;amp;EXP=NNNNN&amp;amp;REL=NNNN&amp;amp;MASK=ffffffff&amp;amp;DEDUPLICATE=N&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It can also be used to set values:&lt;br /&gt;
* Send: &amp;lt;b&amp;gt;CADDRESS=20\r&amp;lt;/b&amp;gt;&lt;br /&gt;
* Response: &amp;lt;b&amp;gt;!&amp;gt;ADDRESS=20&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The same command may be used to set multiple values:&lt;br /&gt;
* Send: &amp;lt;b&amp;gt;CADDRESS=20&amp;amp;DEDUPLICATE=Y\r&amp;lt;/b&amp;gt;&lt;br /&gt;
* Response: &amp;lt;b&amp;gt;!&amp;gt;ADDRESS=20&amp;amp;DEDUPLICATE=Y&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Configuration Parameters===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Default Value&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Valid Values (Regex)&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ADDRESS&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 18&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [0-9]{2}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Keypad address assigned to the AlarmDecoder.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | CONFIGBITS&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | FF00&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [0-9a-f]{4}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Special settings for the device.  See [[#CONFIGBITS|CONFIGBITS]] for more information.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | MASK&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | FFFFFFFF&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [0-9a-f]{8}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Address mask used to filter for keypad alphanumeric messages.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | EXP&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NNNNN&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]{5}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Emulation of zone expanders 1-5&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | REL&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NNNN&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]{4}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Emulation of relay expanders 1-4&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | LRR&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | N&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Emulation of Long Range Radio expander&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | DEDUPLICATE&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | N&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | If enabled, removes duplicate alphanumeric keypad messages.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====CONFIGBITS====&lt;br /&gt;
CONFIGBITS is a setting that's used to enable special functionality on the AlarmDecoder.  You can enable these by masking the correct bits.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ CONFIGBITS Definition&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Mask&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0001&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable reporting of [[#AUI|AUI]] messages.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0002&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable reporting of [[#Keypress Events|keypress events]].&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0004&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Disable prompts for &amp;lt;b&amp;gt;L&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;|&amp;lt;/b&amp;gt; commands.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0008&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable the prefixing of panel messages with !KMP.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0100&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable reporting of [[#RFX|RFX]] messages.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Message Types=&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
* All lines starting with &amp;lt;b&amp;gt;!&amp;lt;/b&amp;gt; are informational.&lt;br /&gt;
* Lines that start with &amp;lt;b&amp;gt;!&amp;gt;&amp;lt;/b&amp;gt; are prompts.&lt;br /&gt;
* All other lines are panel data in the form of a [[#Keypad|Keypad message]].&lt;br /&gt;
&lt;br /&gt;
==Keypad==&lt;br /&gt;
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 &amp;lt;b&amp;gt;!KPM:&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Keypad Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;[001000010000--------]&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;010&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;[f70700060010808c08020000]&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;&amp;quot;ARMED ***STAY** ZONE BYPASSED &amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;160px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Bit field&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Numeric code&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;200px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Raw data&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;220px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Alphanumeric Keypad Message&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [001000010000--------]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 010&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [f70700060010808c08020000]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | &amp;quot;ARMED ***STAY** ZONE BYPASSED &amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;Bit field&amp;lt;/span&amp;gt;====&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Position&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Indicates if the panel is READY&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Indicates if the panel is ARMED AWAY&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Indicates if the panel is ARMED HOME&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| Indicates if the keypad backlight is on&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Indicates if the keypad is in programming mode&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Number (1-7) indicating how many beeps are associated with the message&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| Indicates that a zone has been bypassed&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| Indicates if the panel is on AC power&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| Indicates if the chime is enabled&lt;br /&gt;
|-&lt;br /&gt;
| 10 &lt;br /&gt;
| Indicates that an alarm has occurred.  This is sticky and will be cleared after a second disarm.&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| Indicates that an alarm is currently sounding.  This is cleared after the first disarm.&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| Indicates that the battery is low&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| Indicates that entry delay is off (ARMED INSTANT/MAX)&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| Indicates that there is a fire&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| Indicates a system issue&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| Indicates that the panel is only watching the perimeter (ARMED STAY/NIGHT)&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
| 19&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
| 20&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Numeric Code&amp;lt;/span&amp;gt;====&lt;br /&gt;
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 &amp;lt;b&amp;gt;022&amp;lt;/b&amp;gt;.  Most of the time this is zero-padded base10, but there are rare occurrences where this may be base16, such as ECP bus failures.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Raw data&amp;lt;/span&amp;gt;====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Byte&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Addresses&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0-7&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 8-15&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 16-23&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 24-31&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
* f7&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;07000600&amp;lt;/span&amp;gt;10808c08020000 - our keypad address mask is &amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;07000600&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Using the above mask example of &amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;07000600&amp;lt;/span&amp;gt; we find that this message was destined for keypads 0, 1, 2, 17 and 18.&lt;br /&gt;
&lt;br /&gt;
There is one special case: system messages will have no address mask bits set and are intended for common keypads or monitoring multiple zones.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Alphanumeric Keypad Message&amp;lt;/span&amp;gt;====&lt;br /&gt;
This section is the data that would be displayed on your keypad's screen.&lt;br /&gt;
&lt;br /&gt;
==Zone Expander==&lt;br /&gt;
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.&lt;br /&gt;
===Examples===&lt;br /&gt;
Example of zone expander at address 7, channel 1 faulting and then restoring:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!EXP:07,01,01&lt;br /&gt;
!EXP:07,01,00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !EXP Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!EXP&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;07&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;160px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Zone Expander Address&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;140px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Expander Channel&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !EXP&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 07&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Zone Expander Address&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the address that the zone expander occupies.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Expander Channel&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the channel generating the message.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
00 and 01 indicate that the zone is restored and faulted, respectively.&lt;br /&gt;
&lt;br /&gt;
==Relay Expander==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
Examples of a relay expander at address 12, relay #1 closing and then opening:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!REL:12,01,01&lt;br /&gt;
!REL:12,01,00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !REL Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!REL&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;12&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;160px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Relay Expander Address&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;140px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Expander Channel&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !REL&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 12&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Relay Expander Address&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the address that the relay expander occupies.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Expander Channel&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the channel generating the message.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
00 and 01 indicate that the relay is opened and closed, respectively.&lt;br /&gt;
&lt;br /&gt;
==RFX==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
Example of a 5800Micra sensor faulting and restoring:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!RFX:0180036,80&lt;br /&gt;
!RFX:0180036,00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example of a 5804 keyfob pressing the loop #2 button and having a low battery:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!RFX:0307854,22&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !RFX Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!RFX&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;0180036&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;80&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Serial Number&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !RFX&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0180036&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 80&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Serial Number&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the 7-digit serial number of the device the message originated from.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ RFX Data Format&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Bit&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| Unknown - Seems that the loop indicators should be ignored if set.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 2&lt;br /&gt;
| Low battery indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 3&lt;br /&gt;
| Supervision required indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 5&lt;br /&gt;
| Loop #3 indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 6&lt;br /&gt;
| Loop #2 indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 7&lt;br /&gt;
| Loop #4 indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 8&lt;br /&gt;
| Loop #1 indication&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==LRR==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
This example shows User 12 arming and disarming the system:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!LRR:012,1,ARM_STAY&lt;br /&gt;
!LRR:012,1,ARM_AWAY&lt;br /&gt;
!LRR:012,1,OPEN&lt;br /&gt;
!LRR:003,1,BYPASS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !LRR Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!LRR&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;012&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;ARM_STAY&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Event Data&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Partition&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Event Type&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !LRR&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 012&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | ARM_STAY&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Event Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is either the user number of the person performing the action or the zone that was bypassed.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Partition&amp;lt;/span&amp;gt;====&lt;br /&gt;
The panel partition the event applies to.  Partition 0 indicates that it's destined for all partitions.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Event Type&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the type of the LRR event.  See below for a description and what (if any) programming fields are required for activation.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ LRR Event Types&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Program Fields&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_EXIT_ERROR&lt;br /&gt;
| *59&lt;br /&gt;
| Indicates an error when a zone is not closed during arming&lt;br /&gt;
|-&lt;br /&gt;
| TROUBLE&lt;br /&gt;
| *60&lt;br /&gt;
| Indicates that a zone is reporting a tamper or failure&lt;br /&gt;
|-&lt;br /&gt;
| BYPASS&lt;br /&gt;
| *61&lt;br /&gt;
| Indicates that a zone has been bypassed&lt;br /&gt;
|-&lt;br /&gt;
| ACLOSS&lt;br /&gt;
| *62&lt;br /&gt;
| Indicates that AC power was lost&lt;br /&gt;
|-&lt;br /&gt;
| LOWBAT&lt;br /&gt;
| *63&lt;br /&gt;
| Low battery indication&lt;br /&gt;
|-&lt;br /&gt;
| TEST_CALL&lt;br /&gt;
| *64&lt;br /&gt;
| Indicates a phone test when in testing mode&lt;br /&gt;
|-&lt;br /&gt;
| OPEN&lt;br /&gt;
| *65, requires *66&lt;br /&gt;
| Indicates that the alarm is disarmed&lt;br /&gt;
|-&lt;br /&gt;
| ARM_AWAY&lt;br /&gt;
| *66&lt;br /&gt;
| Indicates that the system was armed AWAY&lt;br /&gt;
|-&lt;br /&gt;
| ARM_STAY&lt;br /&gt;
| *66&lt;br /&gt;
| Indicates that the system was armed STAY&lt;br /&gt;
|-&lt;br /&gt;
| RFLOWBAT&lt;br /&gt;
| *67&lt;br /&gt;
| Low battery indication for the RF transmitter&lt;br /&gt;
|-&lt;br /&gt;
| CANCEL&lt;br /&gt;
| *68&lt;br /&gt;
| Indicates that the alarm was canceled after second disarm&lt;br /&gt;
|-&lt;br /&gt;
| RESTORE&lt;br /&gt;
| *70&lt;br /&gt;
| Indicates that the alarm was restored&lt;br /&gt;
|-&lt;br /&gt;
| TROUBLE_RESTORE&lt;br /&gt;
| *71&lt;br /&gt;
| Indicates that the trouble event was restored&lt;br /&gt;
|-&lt;br /&gt;
| BYPASS_RESTORE&lt;br /&gt;
| *72&lt;br /&gt;
| Indicates that the bypassed zonew as restored&lt;br /&gt;
|-&lt;br /&gt;
| AC_RESTORE&lt;br /&gt;
| *73&lt;br /&gt;
| Indicates that AC power was restored&lt;br /&gt;
|-&lt;br /&gt;
| LOWBAT_RESTORE&lt;br /&gt;
| *74&lt;br /&gt;
| Indicates that the low battery has been restored&lt;br /&gt;
|-&lt;br /&gt;
| RFLOWBAT_RESTORE&lt;br /&gt;
| *75&lt;br /&gt;
| Indicates that the low battery on the RF transmitter has been restored.&lt;br /&gt;
|-&lt;br /&gt;
| TEST_RESTORE&lt;br /&gt;
| *76&lt;br /&gt;
| Indicates that a zone was restored in testing mode&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_PANIC&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there is a panic&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_FIRE&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there is a fire&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_ENTRY&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there was an entry alarm&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_AUX&lt;br /&gt;
| &lt;br /&gt;
| Indicates that an auxiliary alarm type was triggered&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_AUDIBLE&lt;br /&gt;
| &lt;br /&gt;
| Indicates that an audible alarm is in progress&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_SILENT&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there was a silent alarm&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_PERIMETER&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there was a perimeter alarm&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==AUI==&lt;br /&gt;
AUI messages are generated for &amp;quot;Advanced User Interface&amp;quot; keypads.  These include a lot of extra data than what's destined for regular keypads.&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !AUI Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!AUI&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;126600000000656c02456cf5ec01017f0002&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | AUI Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !AUI&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 126600000000656c02456cf5ec01017f0002&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;AUI Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Keypress Events==&lt;br /&gt;
Keypress events are generated when keys are pressed on a keypad and can be enabled inside [[#CONFIGBITS|CONFIGBITS]].&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !KPE Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!KPE&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;18&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Keypad Address&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !KPE&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 18&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Error message report==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !ERR Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!ERR&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Error list&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !ERR&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1,1,1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Keypad Address&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the address of the keypad that generated the event.&lt;br /&gt;
&lt;br /&gt;
=Device Feedback LED=&lt;br /&gt;
* Boot flash mode&lt;br /&gt;
** During boot the AD2* will rapid flash during the boot loader.&lt;br /&gt;
* Operating mode&lt;br /&gt;
** The normal operating mode is a steady of approx 2.5 flashes per second.&lt;br /&gt;
* Error mode&lt;br /&gt;
** 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.&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/Protocol</id>
		<title>Protocol</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/Protocol"/>
				<updated>2015-09-08T19:24:33Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: /* Commands */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:FAQ]]&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Specifications]]&lt;br /&gt;
[[Category:Features]]&lt;br /&gt;
&lt;br /&gt;
=Commands=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Command&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | =&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[#Reboot|Reboot]] the device.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[#Device Configuration|Configure]] the device via prompts.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | C&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Sets or retrieves [[#Device Configuration|configuration parameters]].&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | L&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[#Zone Emulation|Emulate]] virtual zone opens and closes.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | E&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Dump error report and clear error history. [[#Error_message_report|Error report]]&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | V&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Dump the version, serial number and flags used in the firmware.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x01\x01\x01&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #1&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x02\x02\x02&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #2&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x03\x03\x03&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #3&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x04\x04\x04&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #4&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0123456789*#&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send key to panel&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Reboot==&lt;br /&gt;
Rebooting the device is as simple as sending &amp;lt;b&amp;gt;=&amp;lt;/b&amp;gt; to it.&lt;br /&gt;
&lt;br /&gt;
During the boot process you can trigger a firmware upload by sending a second &amp;lt;b&amp;gt;=&amp;lt;/b&amp;gt; to the device after the &amp;lt;i&amp;gt;!boot&amp;lt;/i&amp;gt; message is received.  At this point you'll receive a &amp;lt;i&amp;gt;!load&amp;lt;/i&amp;gt; and can begin uploading.&lt;br /&gt;
&lt;br /&gt;
==Zone Emulation==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;b&amp;gt;L&amp;lt;/b&amp;gt; command can be used to open or close 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 or 1.&lt;br /&gt;
&lt;br /&gt;
Example - open zone 12:&lt;br /&gt;
* &amp;lt;b&amp;gt;L121\r&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example - close zone 12:&lt;br /&gt;
* &amp;lt;b&amp;gt;L120\r&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Function Keys==&lt;br /&gt;
The specialty function keys are identified by ASCII character codes 1 through 4.  In order to prevent false positives these must be sent three times in a row.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Function Key Codes&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Code&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| \x01\x01\x01&lt;br /&gt;
| Function Key #1&lt;br /&gt;
|-&lt;br /&gt;
| \x02\x02\x02&lt;br /&gt;
| Function Key #2&lt;br /&gt;
|-&lt;br /&gt;
| \x03\x03\x03&lt;br /&gt;
| Function Key #3&lt;br /&gt;
|-&lt;br /&gt;
| \x04\x04\x04&lt;br /&gt;
| Function Key #4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Device Configuration=&lt;br /&gt;
The AlarmDecoder configuration can be viewed or modified in one of two ways: [[#Prompted|prompted]] or [[#Programatic|programmatically]].&lt;br /&gt;
&lt;br /&gt;
==Prompted==&lt;br /&gt;
If you send &amp;lt;b&amp;gt;!&amp;lt;/b&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;You may hit enter to keep the current value or provide a new one.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!&amp;gt;Ademco/DSC  Mode A/D  (A) :&amp;gt;&lt;br /&gt;
!&amp;gt;Keypad Address       (18) :&amp;gt;&lt;br /&gt;
!WARNING. Do not enable a module if the physical module exists on the system.&lt;br /&gt;
!Zone Expanders Y/N Max allowed: 02&lt;br /&gt;
!&amp;gt;expander module #01 ZN 09-16 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #02 ZN 17-24 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #03 ZN 25-32 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #04 ZN 33-40 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #05 ZN 41-48 (Y) :&amp;gt;&lt;br /&gt;
!Relay Modules Y/N Max allowed: 04&lt;br /&gt;
!&amp;gt;relay module #01 (Y) :&amp;gt;&lt;br /&gt;
!&amp;gt;relay module #02 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;relay module #03 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;relay module #04 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;Emulate Long Range Radio Y/N: (Y) :&amp;gt;&lt;br /&gt;
!&amp;gt;ZoneTracker track zone restore Y/N: (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;Address Filter Mask  (ffffffff) :&amp;gt;&lt;br /&gt;
!&amp;gt;Deduplicate          (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;Config Bits        (ff04) :&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Programmatic==&lt;br /&gt;
You may retrieve all of the current device settings by sending &amp;lt;b&amp;gt;C&amp;lt;/b&amp;gt; to the panel followed by a carriage return (\r).&lt;br /&gt;
&lt;br /&gt;
Retrieving settings:&lt;br /&gt;
* Send: &amp;lt;b&amp;gt;C\r&amp;lt;/b&amp;gt;&lt;br /&gt;
* Response: &amp;lt;b&amp;gt;!CONFIG&amp;gt;ADDRESS=18&amp;amp;CONFIGBITS=ff00&amp;amp;LRR=N&amp;amp;EXP=NNNNN&amp;amp;REL=NNNN&amp;amp;MASK=ffffffff&amp;amp;DEDUPLICATE=N&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It can also be used to set values:&lt;br /&gt;
* Send: &amp;lt;b&amp;gt;CADDRESS=20\r&amp;lt;/b&amp;gt;&lt;br /&gt;
* Response: &amp;lt;b&amp;gt;!&amp;gt;ADDRESS=20&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The same command may be used to set multiple values:&lt;br /&gt;
* Send: &amp;lt;b&amp;gt;CADDRESS=20&amp;amp;DEDUPLICATE=Y\r&amp;lt;/b&amp;gt;&lt;br /&gt;
* Response: &amp;lt;b&amp;gt;!&amp;gt;ADDRESS=20&amp;amp;DEDUPLICATE=Y&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Configuration Parameters===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Default Value&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Valid Values (Regex)&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ADDRESS&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 18&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [0-9]{2}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Keypad address assigned to the AlarmDecoder.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | CONFIGBITS&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | FF00&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [0-9a-f]{4}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Special settings for the device.  See [[#CONFIGBITS|CONFIGBITS]] for more information.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | MASK&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | FFFFFFFF&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [0-9a-f]{8}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Address mask used to filter for keypad alphanumeric messages.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | EXP&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NNNNN&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]{5}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Emulation of zone expanders 1-5&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | REL&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NNNN&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]{4}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Emulation of relay expanders 1-4&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | LRR&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | N&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Emulation of Long Range Radio expander&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | DEDUPLICATE&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | N&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | If enabled, removes duplicate alphanumeric keypad messages.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====CONFIGBITS====&lt;br /&gt;
CONFIGBITS is a setting that's used to enable special functionality on the AlarmDecoder.  You can enable these by masking the correct bits.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ CONFIGBITS Definition&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Mask&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0001&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable reporting of [[#AUI|AUI]] messages.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0002&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable reporting of [[#Keypress Events|keypress events]].&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0004&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Disable prompts for &amp;lt;b&amp;gt;L&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;|&amp;lt;/b&amp;gt; commands.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0008&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable the prefixing of panel messages with !KMP.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0100&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable reporting of [[#RFX|RFX]] messages.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Message Types=&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
* All lines starting with &amp;lt;b&amp;gt;!&amp;lt;/b&amp;gt; are informational.&lt;br /&gt;
* Lines that start with &amp;lt;b&amp;gt;!&amp;gt;&amp;lt;/b&amp;gt; are prompts.&lt;br /&gt;
* All other lines are panel data in the form of a [[#Keypad|Keypad message]].&lt;br /&gt;
&lt;br /&gt;
==Keypad==&lt;br /&gt;
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 &amp;lt;b&amp;gt;!KPM:&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Keypad Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;[001000010000--------]&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;010&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;[f70700060010808c08020000]&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;&amp;quot;ARMED ***STAY** ZONE BYPASSED &amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;160px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Bit field&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Numeric code&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;200px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Raw data&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;220px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Alphanumeric Keypad Message&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [001000010000--------]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 010&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [f70700060010808c08020000]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | &amp;quot;ARMED ***STAY** ZONE BYPASSED &amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;Bit field&amp;lt;/span&amp;gt;====&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Position&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Indicates if the panel is READY&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Indicates if the panel is ARMED AWAY&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Indicates if the panel is ARMED HOME&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| Indicates if the keypad backlight is on&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Indicates if the keypad is in programming mode&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Number (1-7) indicating how many beeps are associated with the message&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| Indicates that a zone has been bypassed&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| Indicates if the panel is on AC power&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| Indicates if the chime is enabled&lt;br /&gt;
|-&lt;br /&gt;
| 10 &lt;br /&gt;
| Indicates that an alarm has occurred.  This is sticky and will be cleared after a second disarm.&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| Indicates that an alarm is currently sounding.  This is cleared after the first disarm.&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| Indicates that the battery is low&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| Indicates that entry delay is off (ARMED INSTANT/MAX)&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| Indicates that there is a fire&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| Indicates a system issue&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| Indicates that the panel is only watching the perimeter (ARMED STAY/NIGHT)&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
| 19&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
| 20&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Numeric Code&amp;lt;/span&amp;gt;====&lt;br /&gt;
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 &amp;lt;b&amp;gt;022&amp;lt;/b&amp;gt;.  Most of the time this is zero-padded base10, but there are rare occurrences where this may be base16, such as ECP bus failures.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Raw data&amp;lt;/span&amp;gt;====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Byte&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Addresses&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0-7&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 8-15&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 16-23&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 24-31&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
* f7&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;07000600&amp;lt;/span&amp;gt;10808c08020000 - our keypad address mask is &amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;07000600&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Using the above mask example of &amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;07000600&amp;lt;/span&amp;gt; we find that this message was destined for keypads 0, 1, 2, 17 and 18.&lt;br /&gt;
&lt;br /&gt;
There is one special case: system messages will have no address mask bits set and are intended for common keypads or monitoring multiple zones.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Alphanumeric Keypad Message&amp;lt;/span&amp;gt;====&lt;br /&gt;
This section is the data that would be displayed on your keypad's screen.&lt;br /&gt;
&lt;br /&gt;
==Zone Expander==&lt;br /&gt;
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.&lt;br /&gt;
===Examples===&lt;br /&gt;
Example of zone expander at address 7, channel 1 faulting and then restoring:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!EXP:07,01,01&lt;br /&gt;
!EXP:07,01,00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !EXP Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!EXP&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;07&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;160px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Zone Expander Address&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;140px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Expander Channel&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !EXP&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 07&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Zone Expander Address&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the address that the zone expander occupies.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Expander Channel&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the channel generating the message.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
00 and 01 indicate that the zone is restored and faulted, respectively.&lt;br /&gt;
&lt;br /&gt;
==Relay Expander==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
Examples of a relay expander at address 12, relay #1 closing and then opening:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!REL:12,01,01&lt;br /&gt;
!REL:12,01,00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !REL Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!REL&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;12&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;160px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Relay Expander Address&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;140px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Expander Channel&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !REL&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 12&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Relay Expander Address&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the address that the relay expander occupies.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Expander Channel&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the channel generating the message.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
00 and 01 indicate that the relay is opened and closed, respectively.&lt;br /&gt;
&lt;br /&gt;
==RFX==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
Example of a 5800Micra sensor faulting and restoring:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!RFX:0180036,80&lt;br /&gt;
!RFX:0180036,00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example of a 5804 keyfob pressing the loop #2 button and having a low battery:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!RFX:0307854,22&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !RFX Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!RFX&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;0180036&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;80&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Serial Number&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !RFX&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0180036&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 80&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Serial Number&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the 7-digit serial number of the device the message originated from.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ RFX Data Format&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Bit&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| Unknown - Seems that the loop indicators should be ignored if set.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 2&lt;br /&gt;
| Low battery indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 3&lt;br /&gt;
| Supervision required indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 5&lt;br /&gt;
| Loop #3 indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 6&lt;br /&gt;
| Loop #2 indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 7&lt;br /&gt;
| Loop #4 indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 8&lt;br /&gt;
| Loop #1 indication&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==LRR==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
This example shows User 12 arming and disarming the system:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!LRR:012,1,ARM_STAY&lt;br /&gt;
!LRR:012,1,ARM_AWAY&lt;br /&gt;
!LRR:012,1,OPEN&lt;br /&gt;
!LRR:003,1,BYPASS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !LRR Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!LRR&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;012&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;ARM_STAY&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Event Data&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Partition&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Event Type&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !LRR&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 012&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | ARM_STAY&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Event Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is either the user number of the person performing the action or the zone that was bypassed.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Partition&amp;lt;/span&amp;gt;====&lt;br /&gt;
The panel partition the event applies to.  Partition 0 indicates that it's destined for all partitions.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Event Type&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the type of the LRR event.  See below for a description and what (if any) programming fields are required for activation.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ LRR Event Types&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Program Fields&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_EXIT_ERROR&lt;br /&gt;
| *59&lt;br /&gt;
| Indicates an error when a zone is not closed during arming&lt;br /&gt;
|-&lt;br /&gt;
| TROUBLE&lt;br /&gt;
| *60&lt;br /&gt;
| Indicates that a zone is reporting a tamper or failure&lt;br /&gt;
|-&lt;br /&gt;
| BYPASS&lt;br /&gt;
| *61&lt;br /&gt;
| Indicates that a zone has been bypassed&lt;br /&gt;
|-&lt;br /&gt;
| ACLOSS&lt;br /&gt;
| *62&lt;br /&gt;
| Indicates that AC power was lost&lt;br /&gt;
|-&lt;br /&gt;
| LOWBAT&lt;br /&gt;
| *63&lt;br /&gt;
| Low battery indication&lt;br /&gt;
|-&lt;br /&gt;
| TEST_CALL&lt;br /&gt;
| *64&lt;br /&gt;
| Indicates a phone test when in testing mode&lt;br /&gt;
|-&lt;br /&gt;
| OPEN&lt;br /&gt;
| *65, requires *66&lt;br /&gt;
| Indicates that the alarm is disarmed&lt;br /&gt;
|-&lt;br /&gt;
| ARM_AWAY&lt;br /&gt;
| *66&lt;br /&gt;
| Indicates that the system was armed AWAY&lt;br /&gt;
|-&lt;br /&gt;
| ARM_STAY&lt;br /&gt;
| *66&lt;br /&gt;
| Indicates that the system was armed STAY&lt;br /&gt;
|-&lt;br /&gt;
| RFLOWBAT&lt;br /&gt;
| *67&lt;br /&gt;
| Low battery indication for the RF transmitter&lt;br /&gt;
|-&lt;br /&gt;
| CANCEL&lt;br /&gt;
| *68&lt;br /&gt;
| Indicates that the alarm was canceled after second disarm&lt;br /&gt;
|-&lt;br /&gt;
| RESTORE&lt;br /&gt;
| *70&lt;br /&gt;
| Indicates that the alarm was restored&lt;br /&gt;
|-&lt;br /&gt;
| TROUBLE_RESTORE&lt;br /&gt;
| *71&lt;br /&gt;
| Indicates that the trouble event was restored&lt;br /&gt;
|-&lt;br /&gt;
| BYPASS_RESTORE&lt;br /&gt;
| *72&lt;br /&gt;
| Indicates that the bypassed zonew as restored&lt;br /&gt;
|-&lt;br /&gt;
| AC_RESTORE&lt;br /&gt;
| *73&lt;br /&gt;
| Indicates that AC power was restored&lt;br /&gt;
|-&lt;br /&gt;
| LOWBAT_RESTORE&lt;br /&gt;
| *74&lt;br /&gt;
| Indicates that the low battery has been restored&lt;br /&gt;
|-&lt;br /&gt;
| RFLOWBAT_RESTORE&lt;br /&gt;
| *75&lt;br /&gt;
| Indicates that the low battery on the RF transmitter has been restored.&lt;br /&gt;
|-&lt;br /&gt;
| TEST_RESTORE&lt;br /&gt;
| *76&lt;br /&gt;
| Indicates that a zone was restored in testing mode&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_PANIC&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there is a panic&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_FIRE&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there is a fire&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_ENTRY&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there was an entry alarm&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_AUX&lt;br /&gt;
| &lt;br /&gt;
| Indicates that an auxiliary alarm type was triggered&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_AUDIBLE&lt;br /&gt;
| &lt;br /&gt;
| Indicates that an audible alarm is in progress&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_SILENT&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there was a silent alarm&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_PERIMETER&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there was a perimeter alarm&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==AUI==&lt;br /&gt;
AUI messages are generated for &amp;quot;Advanced User Interface&amp;quot; keypads.  These include a lot of extra data than what's destined for regular keypads.&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !AUI Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!AUI&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;126600000000656c02456cf5ec01017f0002&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | AUI Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !AUI&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 126600000000656c02456cf5ec01017f0002&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;AUI Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Keypress Events==&lt;br /&gt;
Keypress events are generated when keys are pressed on a keypad and can be enabled inside [[#CONFIGBITS|CONFIGBITS]].&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !KPE Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!KPE&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;18&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Keypad Address&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !KPE&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 18&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Error message report==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !ERR Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!ERR&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Error list&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !ERR&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1,1,1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Keypad Address&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the address of the keypad that generated the event.&lt;br /&gt;
&lt;br /&gt;
=Device Feedback LED=&lt;br /&gt;
* Boot flash mode&lt;br /&gt;
** During boot the AD2* will rapid flash during the boot loader.&lt;br /&gt;
* Operating mode&lt;br /&gt;
** The normal operating mode is a steady of approx 2.5 flashes per second.&lt;br /&gt;
* Error mode&lt;br /&gt;
** 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.&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/Protocol</id>
		<title>Protocol</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/Protocol"/>
				<updated>2015-09-08T19:22:15Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: /* Commands */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:FAQ]]&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Specifications]]&lt;br /&gt;
[[Category:Features]]&lt;br /&gt;
&lt;br /&gt;
=Commands=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Command&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | =&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[#Reboot|Reboot]] the device.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[#Device Configuration|Configure]] the device via prompts.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | C&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Sets or retrieves [[#Device Configuration|configuration parameters]].&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | L&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[#Zone Emulation|Emulate]] virtual zone opens and closes.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | E&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Dump error report and clear error history.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | V&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Dump the version, serial number and flags used in the firmware.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x01\x01\x01&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #1&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x02\x02\x02&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #2&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x03\x03\x03&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #3&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x04\x04\x04&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #4&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0123456789*#&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send key to panel&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Reboot==&lt;br /&gt;
Rebooting the device is as simple as sending &amp;lt;b&amp;gt;=&amp;lt;/b&amp;gt; to it.&lt;br /&gt;
&lt;br /&gt;
During the boot process you can trigger a firmware upload by sending a second &amp;lt;b&amp;gt;=&amp;lt;/b&amp;gt; to the device after the &amp;lt;i&amp;gt;!boot&amp;lt;/i&amp;gt; message is received.  At this point you'll receive a &amp;lt;i&amp;gt;!load&amp;lt;/i&amp;gt; and can begin uploading.&lt;br /&gt;
&lt;br /&gt;
==Zone Emulation==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;b&amp;gt;L&amp;lt;/b&amp;gt; command can be used to open or close 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 or 1.&lt;br /&gt;
&lt;br /&gt;
Example - open zone 12:&lt;br /&gt;
* &amp;lt;b&amp;gt;L121\r&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example - close zone 12:&lt;br /&gt;
* &amp;lt;b&amp;gt;L120\r&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Function Keys==&lt;br /&gt;
The specialty function keys are identified by ASCII character codes 1 through 4.  In order to prevent false positives these must be sent three times in a row.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Function Key Codes&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Code&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| \x01\x01\x01&lt;br /&gt;
| Function Key #1&lt;br /&gt;
|-&lt;br /&gt;
| \x02\x02\x02&lt;br /&gt;
| Function Key #2&lt;br /&gt;
|-&lt;br /&gt;
| \x03\x03\x03&lt;br /&gt;
| Function Key #3&lt;br /&gt;
|-&lt;br /&gt;
| \x04\x04\x04&lt;br /&gt;
| Function Key #4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Device Configuration=&lt;br /&gt;
The AlarmDecoder configuration can be viewed or modified in one of two ways: [[#Prompted|prompted]] or [[#Programatic|programmatically]].&lt;br /&gt;
&lt;br /&gt;
==Prompted==&lt;br /&gt;
If you send &amp;lt;b&amp;gt;!&amp;lt;/b&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;You may hit enter to keep the current value or provide a new one.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!&amp;gt;Ademco/DSC  Mode A/D  (A) :&amp;gt;&lt;br /&gt;
!&amp;gt;Keypad Address       (18) :&amp;gt;&lt;br /&gt;
!WARNING. Do not enable a module if the physical module exists on the system.&lt;br /&gt;
!Zone Expanders Y/N Max allowed: 02&lt;br /&gt;
!&amp;gt;expander module #01 ZN 09-16 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #02 ZN 17-24 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #03 ZN 25-32 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #04 ZN 33-40 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #05 ZN 41-48 (Y) :&amp;gt;&lt;br /&gt;
!Relay Modules Y/N Max allowed: 04&lt;br /&gt;
!&amp;gt;relay module #01 (Y) :&amp;gt;&lt;br /&gt;
!&amp;gt;relay module #02 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;relay module #03 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;relay module #04 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;Emulate Long Range Radio Y/N: (Y) :&amp;gt;&lt;br /&gt;
!&amp;gt;ZoneTracker track zone restore Y/N: (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;Address Filter Mask  (ffffffff) :&amp;gt;&lt;br /&gt;
!&amp;gt;Deduplicate          (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;Config Bits        (ff04) :&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Programmatic==&lt;br /&gt;
You may retrieve all of the current device settings by sending &amp;lt;b&amp;gt;C&amp;lt;/b&amp;gt; to the panel followed by a carriage return (\r).&lt;br /&gt;
&lt;br /&gt;
Retrieving settings:&lt;br /&gt;
* Send: &amp;lt;b&amp;gt;C\r&amp;lt;/b&amp;gt;&lt;br /&gt;
* Response: &amp;lt;b&amp;gt;!CONFIG&amp;gt;ADDRESS=18&amp;amp;CONFIGBITS=ff00&amp;amp;LRR=N&amp;amp;EXP=NNNNN&amp;amp;REL=NNNN&amp;amp;MASK=ffffffff&amp;amp;DEDUPLICATE=N&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It can also be used to set values:&lt;br /&gt;
* Send: &amp;lt;b&amp;gt;CADDRESS=20\r&amp;lt;/b&amp;gt;&lt;br /&gt;
* Response: &amp;lt;b&amp;gt;!&amp;gt;ADDRESS=20&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The same command may be used to set multiple values:&lt;br /&gt;
* Send: &amp;lt;b&amp;gt;CADDRESS=20&amp;amp;DEDUPLICATE=Y\r&amp;lt;/b&amp;gt;&lt;br /&gt;
* Response: &amp;lt;b&amp;gt;!&amp;gt;ADDRESS=20&amp;amp;DEDUPLICATE=Y&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Configuration Parameters===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Default Value&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Valid Values (Regex)&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ADDRESS&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 18&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [0-9]{2}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Keypad address assigned to the AlarmDecoder.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | CONFIGBITS&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | FF00&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [0-9a-f]{4}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Special settings for the device.  See [[#CONFIGBITS|CONFIGBITS]] for more information.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | MASK&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | FFFFFFFF&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [0-9a-f]{8}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Address mask used to filter for keypad alphanumeric messages.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | EXP&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NNNNN&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]{5}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Emulation of zone expanders 1-5&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | REL&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NNNN&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]{4}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Emulation of relay expanders 1-4&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | LRR&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | N&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Emulation of Long Range Radio expander&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | DEDUPLICATE&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | N&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | If enabled, removes duplicate alphanumeric keypad messages.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====CONFIGBITS====&lt;br /&gt;
CONFIGBITS is a setting that's used to enable special functionality on the AlarmDecoder.  You can enable these by masking the correct bits.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ CONFIGBITS Definition&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Mask&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0001&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable reporting of [[#AUI|AUI]] messages.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0002&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable reporting of [[#Keypress Events|keypress events]].&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0004&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Disable prompts for &amp;lt;b&amp;gt;L&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;|&amp;lt;/b&amp;gt; commands.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0008&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable the prefixing of panel messages with !KMP.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0100&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable reporting of [[#RFX|RFX]] messages.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Message Types=&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
* All lines starting with &amp;lt;b&amp;gt;!&amp;lt;/b&amp;gt; are informational.&lt;br /&gt;
* Lines that start with &amp;lt;b&amp;gt;!&amp;gt;&amp;lt;/b&amp;gt; are prompts.&lt;br /&gt;
* All other lines are panel data in the form of a [[#Keypad|Keypad message]].&lt;br /&gt;
&lt;br /&gt;
==Keypad==&lt;br /&gt;
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 &amp;lt;b&amp;gt;!KPM:&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Keypad Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;[001000010000--------]&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;010&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;[f70700060010808c08020000]&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;&amp;quot;ARMED ***STAY** ZONE BYPASSED &amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;160px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Bit field&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Numeric code&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;200px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Raw data&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;220px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Alphanumeric Keypad Message&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [001000010000--------]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 010&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [f70700060010808c08020000]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | &amp;quot;ARMED ***STAY** ZONE BYPASSED &amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;Bit field&amp;lt;/span&amp;gt;====&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Position&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Indicates if the panel is READY&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Indicates if the panel is ARMED AWAY&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Indicates if the panel is ARMED HOME&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| Indicates if the keypad backlight is on&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Indicates if the keypad is in programming mode&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Number (1-7) indicating how many beeps are associated with the message&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| Indicates that a zone has been bypassed&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| Indicates if the panel is on AC power&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| Indicates if the chime is enabled&lt;br /&gt;
|-&lt;br /&gt;
| 10 &lt;br /&gt;
| Indicates that an alarm has occurred.  This is sticky and will be cleared after a second disarm.&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| Indicates that an alarm is currently sounding.  This is cleared after the first disarm.&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| Indicates that the battery is low&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| Indicates that entry delay is off (ARMED INSTANT/MAX)&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| Indicates that there is a fire&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| Indicates a system issue&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| Indicates that the panel is only watching the perimeter (ARMED STAY/NIGHT)&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
| 19&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
| 20&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Numeric Code&amp;lt;/span&amp;gt;====&lt;br /&gt;
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 &amp;lt;b&amp;gt;022&amp;lt;/b&amp;gt;.  Most of the time this is zero-padded base10, but there are rare occurrences where this may be base16, such as ECP bus failures.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Raw data&amp;lt;/span&amp;gt;====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Byte&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Addresses&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0-7&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 8-15&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 16-23&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 24-31&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
* f7&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;07000600&amp;lt;/span&amp;gt;10808c08020000 - our keypad address mask is &amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;07000600&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Using the above mask example of &amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;07000600&amp;lt;/span&amp;gt; we find that this message was destined for keypads 0, 1, 2, 17 and 18.&lt;br /&gt;
&lt;br /&gt;
There is one special case: system messages will have no address mask bits set and are intended for common keypads or monitoring multiple zones.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Alphanumeric Keypad Message&amp;lt;/span&amp;gt;====&lt;br /&gt;
This section is the data that would be displayed on your keypad's screen.&lt;br /&gt;
&lt;br /&gt;
==Zone Expander==&lt;br /&gt;
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.&lt;br /&gt;
===Examples===&lt;br /&gt;
Example of zone expander at address 7, channel 1 faulting and then restoring:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!EXP:07,01,01&lt;br /&gt;
!EXP:07,01,00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !EXP Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!EXP&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;07&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;160px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Zone Expander Address&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;140px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Expander Channel&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !EXP&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 07&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Zone Expander Address&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the address that the zone expander occupies.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Expander Channel&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the channel generating the message.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
00 and 01 indicate that the zone is restored and faulted, respectively.&lt;br /&gt;
&lt;br /&gt;
==Relay Expander==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
Examples of a relay expander at address 12, relay #1 closing and then opening:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!REL:12,01,01&lt;br /&gt;
!REL:12,01,00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !REL Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!REL&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;12&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;160px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Relay Expander Address&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;140px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Expander Channel&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !REL&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 12&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Relay Expander Address&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the address that the relay expander occupies.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Expander Channel&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the channel generating the message.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
00 and 01 indicate that the relay is opened and closed, respectively.&lt;br /&gt;
&lt;br /&gt;
==RFX==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
Example of a 5800Micra sensor faulting and restoring:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!RFX:0180036,80&lt;br /&gt;
!RFX:0180036,00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example of a 5804 keyfob pressing the loop #2 button and having a low battery:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!RFX:0307854,22&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !RFX Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!RFX&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;0180036&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;80&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Serial Number&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !RFX&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0180036&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 80&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Serial Number&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the 7-digit serial number of the device the message originated from.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ RFX Data Format&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Bit&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| Unknown - Seems that the loop indicators should be ignored if set.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 2&lt;br /&gt;
| Low battery indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 3&lt;br /&gt;
| Supervision required indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 5&lt;br /&gt;
| Loop #3 indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 6&lt;br /&gt;
| Loop #2 indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 7&lt;br /&gt;
| Loop #4 indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 8&lt;br /&gt;
| Loop #1 indication&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==LRR==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
This example shows User 12 arming and disarming the system:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!LRR:012,1,ARM_STAY&lt;br /&gt;
!LRR:012,1,ARM_AWAY&lt;br /&gt;
!LRR:012,1,OPEN&lt;br /&gt;
!LRR:003,1,BYPASS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !LRR Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!LRR&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;012&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;ARM_STAY&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Event Data&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Partition&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Event Type&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !LRR&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 012&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | ARM_STAY&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Event Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is either the user number of the person performing the action or the zone that was bypassed.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Partition&amp;lt;/span&amp;gt;====&lt;br /&gt;
The panel partition the event applies to.  Partition 0 indicates that it's destined for all partitions.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Event Type&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the type of the LRR event.  See below for a description and what (if any) programming fields are required for activation.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ LRR Event Types&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Program Fields&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_EXIT_ERROR&lt;br /&gt;
| *59&lt;br /&gt;
| Indicates an error when a zone is not closed during arming&lt;br /&gt;
|-&lt;br /&gt;
| TROUBLE&lt;br /&gt;
| *60&lt;br /&gt;
| Indicates that a zone is reporting a tamper or failure&lt;br /&gt;
|-&lt;br /&gt;
| BYPASS&lt;br /&gt;
| *61&lt;br /&gt;
| Indicates that a zone has been bypassed&lt;br /&gt;
|-&lt;br /&gt;
| ACLOSS&lt;br /&gt;
| *62&lt;br /&gt;
| Indicates that AC power was lost&lt;br /&gt;
|-&lt;br /&gt;
| LOWBAT&lt;br /&gt;
| *63&lt;br /&gt;
| Low battery indication&lt;br /&gt;
|-&lt;br /&gt;
| TEST_CALL&lt;br /&gt;
| *64&lt;br /&gt;
| Indicates a phone test when in testing mode&lt;br /&gt;
|-&lt;br /&gt;
| OPEN&lt;br /&gt;
| *65, requires *66&lt;br /&gt;
| Indicates that the alarm is disarmed&lt;br /&gt;
|-&lt;br /&gt;
| ARM_AWAY&lt;br /&gt;
| *66&lt;br /&gt;
| Indicates that the system was armed AWAY&lt;br /&gt;
|-&lt;br /&gt;
| ARM_STAY&lt;br /&gt;
| *66&lt;br /&gt;
| Indicates that the system was armed STAY&lt;br /&gt;
|-&lt;br /&gt;
| RFLOWBAT&lt;br /&gt;
| *67&lt;br /&gt;
| Low battery indication for the RF transmitter&lt;br /&gt;
|-&lt;br /&gt;
| CANCEL&lt;br /&gt;
| *68&lt;br /&gt;
| Indicates that the alarm was canceled after second disarm&lt;br /&gt;
|-&lt;br /&gt;
| RESTORE&lt;br /&gt;
| *70&lt;br /&gt;
| Indicates that the alarm was restored&lt;br /&gt;
|-&lt;br /&gt;
| TROUBLE_RESTORE&lt;br /&gt;
| *71&lt;br /&gt;
| Indicates that the trouble event was restored&lt;br /&gt;
|-&lt;br /&gt;
| BYPASS_RESTORE&lt;br /&gt;
| *72&lt;br /&gt;
| Indicates that the bypassed zonew as restored&lt;br /&gt;
|-&lt;br /&gt;
| AC_RESTORE&lt;br /&gt;
| *73&lt;br /&gt;
| Indicates that AC power was restored&lt;br /&gt;
|-&lt;br /&gt;
| LOWBAT_RESTORE&lt;br /&gt;
| *74&lt;br /&gt;
| Indicates that the low battery has been restored&lt;br /&gt;
|-&lt;br /&gt;
| RFLOWBAT_RESTORE&lt;br /&gt;
| *75&lt;br /&gt;
| Indicates that the low battery on the RF transmitter has been restored.&lt;br /&gt;
|-&lt;br /&gt;
| TEST_RESTORE&lt;br /&gt;
| *76&lt;br /&gt;
| Indicates that a zone was restored in testing mode&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_PANIC&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there is a panic&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_FIRE&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there is a fire&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_ENTRY&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there was an entry alarm&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_AUX&lt;br /&gt;
| &lt;br /&gt;
| Indicates that an auxiliary alarm type was triggered&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_AUDIBLE&lt;br /&gt;
| &lt;br /&gt;
| Indicates that an audible alarm is in progress&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_SILENT&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there was a silent alarm&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_PERIMETER&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there was a perimeter alarm&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==AUI==&lt;br /&gt;
AUI messages are generated for &amp;quot;Advanced User Interface&amp;quot; keypads.  These include a lot of extra data than what's destined for regular keypads.&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !AUI Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!AUI&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;126600000000656c02456cf5ec01017f0002&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | AUI Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !AUI&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 126600000000656c02456cf5ec01017f0002&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;AUI Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Keypress Events==&lt;br /&gt;
Keypress events are generated when keys are pressed on a keypad and can be enabled inside [[#CONFIGBITS|CONFIGBITS]].&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !KPE Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!KPE&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;18&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Keypad Address&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !KPE&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 18&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Error message report==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !ERR Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!ERR&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Error list&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !ERR&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1,1,1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Keypad Address&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the address of the keypad that generated the event.&lt;br /&gt;
&lt;br /&gt;
=Device Feedback LED=&lt;br /&gt;
* Boot flash mode&lt;br /&gt;
** During boot the AD2* will rapid flash during the boot loader.&lt;br /&gt;
* Operating mode&lt;br /&gt;
** The normal operating mode is a steady of approx 2.5 flashes per second.&lt;br /&gt;
* Error mode&lt;br /&gt;
** 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.&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/Protocol</id>
		<title>Protocol</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/Protocol"/>
				<updated>2015-09-08T19:21:01Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: /* Commands */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:FAQ]]&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Specifications]]&lt;br /&gt;
[[Category:Features]]&lt;br /&gt;
&lt;br /&gt;
=Commands=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Command&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | =&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[#Reboot|Reboot]] the device.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[#Device Configuration|Configure]] the device via prompts.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | C&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Sets or retrieves [[#Device Configuration|configuration parameters]].&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | L&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[#Zone Emulation|Emulate]] virtual zone opens and closes.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | E&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Dump error report and clear error history.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x01\x01\x01&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #1&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x02\x02\x02&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #2&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x03\x03\x03&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #3&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x04\x04\x04&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #4&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0123456789*#&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send key to panel&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Reboot==&lt;br /&gt;
Rebooting the device is as simple as sending &amp;lt;b&amp;gt;=&amp;lt;/b&amp;gt; to it.&lt;br /&gt;
&lt;br /&gt;
During the boot process you can trigger a firmware upload by sending a second &amp;lt;b&amp;gt;=&amp;lt;/b&amp;gt; to the device after the &amp;lt;i&amp;gt;!boot&amp;lt;/i&amp;gt; message is received.  At this point you'll receive a &amp;lt;i&amp;gt;!load&amp;lt;/i&amp;gt; and can begin uploading.&lt;br /&gt;
&lt;br /&gt;
==Zone Emulation==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;b&amp;gt;L&amp;lt;/b&amp;gt; command can be used to open or close 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 or 1.&lt;br /&gt;
&lt;br /&gt;
Example - open zone 12:&lt;br /&gt;
* &amp;lt;b&amp;gt;L121\r&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example - close zone 12:&lt;br /&gt;
* &amp;lt;b&amp;gt;L120\r&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Function Keys==&lt;br /&gt;
The specialty function keys are identified by ASCII character codes 1 through 4.  In order to prevent false positives these must be sent three times in a row.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Function Key Codes&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Code&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| \x01\x01\x01&lt;br /&gt;
| Function Key #1&lt;br /&gt;
|-&lt;br /&gt;
| \x02\x02\x02&lt;br /&gt;
| Function Key #2&lt;br /&gt;
|-&lt;br /&gt;
| \x03\x03\x03&lt;br /&gt;
| Function Key #3&lt;br /&gt;
|-&lt;br /&gt;
| \x04\x04\x04&lt;br /&gt;
| Function Key #4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Device Configuration=&lt;br /&gt;
The AlarmDecoder configuration can be viewed or modified in one of two ways: [[#Prompted|prompted]] or [[#Programatic|programmatically]].&lt;br /&gt;
&lt;br /&gt;
==Prompted==&lt;br /&gt;
If you send &amp;lt;b&amp;gt;!&amp;lt;/b&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;You may hit enter to keep the current value or provide a new one.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!&amp;gt;Ademco/DSC  Mode A/D  (A) :&amp;gt;&lt;br /&gt;
!&amp;gt;Keypad Address       (18) :&amp;gt;&lt;br /&gt;
!WARNING. Do not enable a module if the physical module exists on the system.&lt;br /&gt;
!Zone Expanders Y/N Max allowed: 02&lt;br /&gt;
!&amp;gt;expander module #01 ZN 09-16 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #02 ZN 17-24 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #03 ZN 25-32 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #04 ZN 33-40 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #05 ZN 41-48 (Y) :&amp;gt;&lt;br /&gt;
!Relay Modules Y/N Max allowed: 04&lt;br /&gt;
!&amp;gt;relay module #01 (Y) :&amp;gt;&lt;br /&gt;
!&amp;gt;relay module #02 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;relay module #03 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;relay module #04 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;Emulate Long Range Radio Y/N: (Y) :&amp;gt;&lt;br /&gt;
!&amp;gt;ZoneTracker track zone restore Y/N: (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;Address Filter Mask  (ffffffff) :&amp;gt;&lt;br /&gt;
!&amp;gt;Deduplicate          (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;Config Bits        (ff04) :&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Programmatic==&lt;br /&gt;
You may retrieve all of the current device settings by sending &amp;lt;b&amp;gt;C&amp;lt;/b&amp;gt; to the panel followed by a carriage return (\r).&lt;br /&gt;
&lt;br /&gt;
Retrieving settings:&lt;br /&gt;
* Send: &amp;lt;b&amp;gt;C\r&amp;lt;/b&amp;gt;&lt;br /&gt;
* Response: &amp;lt;b&amp;gt;!CONFIG&amp;gt;ADDRESS=18&amp;amp;CONFIGBITS=ff00&amp;amp;LRR=N&amp;amp;EXP=NNNNN&amp;amp;REL=NNNN&amp;amp;MASK=ffffffff&amp;amp;DEDUPLICATE=N&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It can also be used to set values:&lt;br /&gt;
* Send: &amp;lt;b&amp;gt;CADDRESS=20\r&amp;lt;/b&amp;gt;&lt;br /&gt;
* Response: &amp;lt;b&amp;gt;!&amp;gt;ADDRESS=20&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The same command may be used to set multiple values:&lt;br /&gt;
* Send: &amp;lt;b&amp;gt;CADDRESS=20&amp;amp;DEDUPLICATE=Y\r&amp;lt;/b&amp;gt;&lt;br /&gt;
* Response: &amp;lt;b&amp;gt;!&amp;gt;ADDRESS=20&amp;amp;DEDUPLICATE=Y&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Configuration Parameters===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Default Value&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Valid Values (Regex)&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ADDRESS&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 18&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [0-9]{2}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Keypad address assigned to the AlarmDecoder.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | CONFIGBITS&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | FF00&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [0-9a-f]{4}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Special settings for the device.  See [[#CONFIGBITS|CONFIGBITS]] for more information.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | MASK&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | FFFFFFFF&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [0-9a-f]{8}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Address mask used to filter for keypad alphanumeric messages.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | EXP&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NNNNN&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]{5}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Emulation of zone expanders 1-5&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | REL&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NNNN&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]{4}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Emulation of relay expanders 1-4&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | LRR&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | N&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Emulation of Long Range Radio expander&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | DEDUPLICATE&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | N&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | If enabled, removes duplicate alphanumeric keypad messages.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====CONFIGBITS====&lt;br /&gt;
CONFIGBITS is a setting that's used to enable special functionality on the AlarmDecoder.  You can enable these by masking the correct bits.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ CONFIGBITS Definition&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Mask&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0001&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable reporting of [[#AUI|AUI]] messages.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0002&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable reporting of [[#Keypress Events|keypress events]].&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0004&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Disable prompts for &amp;lt;b&amp;gt;L&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;|&amp;lt;/b&amp;gt; commands.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0008&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable the prefixing of panel messages with !KMP.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0100&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable reporting of [[#RFX|RFX]] messages.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Message Types=&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
* All lines starting with &amp;lt;b&amp;gt;!&amp;lt;/b&amp;gt; are informational.&lt;br /&gt;
* Lines that start with &amp;lt;b&amp;gt;!&amp;gt;&amp;lt;/b&amp;gt; are prompts.&lt;br /&gt;
* All other lines are panel data in the form of a [[#Keypad|Keypad message]].&lt;br /&gt;
&lt;br /&gt;
==Keypad==&lt;br /&gt;
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 &amp;lt;b&amp;gt;!KPM:&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Keypad Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;[001000010000--------]&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;010&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;[f70700060010808c08020000]&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;&amp;quot;ARMED ***STAY** ZONE BYPASSED &amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;160px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Bit field&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Numeric code&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;200px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Raw data&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;220px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Alphanumeric Keypad Message&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [001000010000--------]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 010&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [f70700060010808c08020000]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | &amp;quot;ARMED ***STAY** ZONE BYPASSED &amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;Bit field&amp;lt;/span&amp;gt;====&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Position&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Indicates if the panel is READY&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Indicates if the panel is ARMED AWAY&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Indicates if the panel is ARMED HOME&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| Indicates if the keypad backlight is on&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Indicates if the keypad is in programming mode&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Number (1-7) indicating how many beeps are associated with the message&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| Indicates that a zone has been bypassed&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| Indicates if the panel is on AC power&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| Indicates if the chime is enabled&lt;br /&gt;
|-&lt;br /&gt;
| 10 &lt;br /&gt;
| Indicates that an alarm has occurred.  This is sticky and will be cleared after a second disarm.&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| Indicates that an alarm is currently sounding.  This is cleared after the first disarm.&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| Indicates that the battery is low&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| Indicates that entry delay is off (ARMED INSTANT/MAX)&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| Indicates that there is a fire&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| Indicates a system issue&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| Indicates that the panel is only watching the perimeter (ARMED STAY/NIGHT)&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
| 19&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
| 20&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Numeric Code&amp;lt;/span&amp;gt;====&lt;br /&gt;
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 &amp;lt;b&amp;gt;022&amp;lt;/b&amp;gt;.  Most of the time this is zero-padded base10, but there are rare occurrences where this may be base16, such as ECP bus failures.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Raw data&amp;lt;/span&amp;gt;====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Byte&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Addresses&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0-7&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 8-15&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 16-23&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 24-31&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
* f7&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;07000600&amp;lt;/span&amp;gt;10808c08020000 - our keypad address mask is &amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;07000600&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Using the above mask example of &amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;07000600&amp;lt;/span&amp;gt; we find that this message was destined for keypads 0, 1, 2, 17 and 18.&lt;br /&gt;
&lt;br /&gt;
There is one special case: system messages will have no address mask bits set and are intended for common keypads or monitoring multiple zones.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Alphanumeric Keypad Message&amp;lt;/span&amp;gt;====&lt;br /&gt;
This section is the data that would be displayed on your keypad's screen.&lt;br /&gt;
&lt;br /&gt;
==Zone Expander==&lt;br /&gt;
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.&lt;br /&gt;
===Examples===&lt;br /&gt;
Example of zone expander at address 7, channel 1 faulting and then restoring:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!EXP:07,01,01&lt;br /&gt;
!EXP:07,01,00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !EXP Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!EXP&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;07&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;160px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Zone Expander Address&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;140px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Expander Channel&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !EXP&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 07&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Zone Expander Address&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the address that the zone expander occupies.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Expander Channel&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the channel generating the message.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
00 and 01 indicate that the zone is restored and faulted, respectively.&lt;br /&gt;
&lt;br /&gt;
==Relay Expander==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
Examples of a relay expander at address 12, relay #1 closing and then opening:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!REL:12,01,01&lt;br /&gt;
!REL:12,01,00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !REL Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!REL&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;12&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;160px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Relay Expander Address&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;140px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Expander Channel&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !REL&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 12&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Relay Expander Address&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the address that the relay expander occupies.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Expander Channel&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the channel generating the message.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
00 and 01 indicate that the relay is opened and closed, respectively.&lt;br /&gt;
&lt;br /&gt;
==RFX==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
Example of a 5800Micra sensor faulting and restoring:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!RFX:0180036,80&lt;br /&gt;
!RFX:0180036,00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example of a 5804 keyfob pressing the loop #2 button and having a low battery:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!RFX:0307854,22&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !RFX Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!RFX&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;0180036&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;80&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Serial Number&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !RFX&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0180036&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 80&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Serial Number&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the 7-digit serial number of the device the message originated from.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ RFX Data Format&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Bit&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| Unknown - Seems that the loop indicators should be ignored if set.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 2&lt;br /&gt;
| Low battery indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 3&lt;br /&gt;
| Supervision required indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 5&lt;br /&gt;
| Loop #3 indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 6&lt;br /&gt;
| Loop #2 indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 7&lt;br /&gt;
| Loop #4 indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 8&lt;br /&gt;
| Loop #1 indication&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==LRR==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
This example shows User 12 arming and disarming the system:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!LRR:012,1,ARM_STAY&lt;br /&gt;
!LRR:012,1,ARM_AWAY&lt;br /&gt;
!LRR:012,1,OPEN&lt;br /&gt;
!LRR:003,1,BYPASS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !LRR Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!LRR&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;012&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;ARM_STAY&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Event Data&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Partition&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Event Type&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !LRR&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 012&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | ARM_STAY&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Event Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is either the user number of the person performing the action or the zone that was bypassed.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Partition&amp;lt;/span&amp;gt;====&lt;br /&gt;
The panel partition the event applies to.  Partition 0 indicates that it's destined for all partitions.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Event Type&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the type of the LRR event.  See below for a description and what (if any) programming fields are required for activation.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ LRR Event Types&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Program Fields&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_EXIT_ERROR&lt;br /&gt;
| *59&lt;br /&gt;
| Indicates an error when a zone is not closed during arming&lt;br /&gt;
|-&lt;br /&gt;
| TROUBLE&lt;br /&gt;
| *60&lt;br /&gt;
| Indicates that a zone is reporting a tamper or failure&lt;br /&gt;
|-&lt;br /&gt;
| BYPASS&lt;br /&gt;
| *61&lt;br /&gt;
| Indicates that a zone has been bypassed&lt;br /&gt;
|-&lt;br /&gt;
| ACLOSS&lt;br /&gt;
| *62&lt;br /&gt;
| Indicates that AC power was lost&lt;br /&gt;
|-&lt;br /&gt;
| LOWBAT&lt;br /&gt;
| *63&lt;br /&gt;
| Low battery indication&lt;br /&gt;
|-&lt;br /&gt;
| TEST_CALL&lt;br /&gt;
| *64&lt;br /&gt;
| Indicates a phone test when in testing mode&lt;br /&gt;
|-&lt;br /&gt;
| OPEN&lt;br /&gt;
| *65, requires *66&lt;br /&gt;
| Indicates that the alarm is disarmed&lt;br /&gt;
|-&lt;br /&gt;
| ARM_AWAY&lt;br /&gt;
| *66&lt;br /&gt;
| Indicates that the system was armed AWAY&lt;br /&gt;
|-&lt;br /&gt;
| ARM_STAY&lt;br /&gt;
| *66&lt;br /&gt;
| Indicates that the system was armed STAY&lt;br /&gt;
|-&lt;br /&gt;
| RFLOWBAT&lt;br /&gt;
| *67&lt;br /&gt;
| Low battery indication for the RF transmitter&lt;br /&gt;
|-&lt;br /&gt;
| CANCEL&lt;br /&gt;
| *68&lt;br /&gt;
| Indicates that the alarm was canceled after second disarm&lt;br /&gt;
|-&lt;br /&gt;
| RESTORE&lt;br /&gt;
| *70&lt;br /&gt;
| Indicates that the alarm was restored&lt;br /&gt;
|-&lt;br /&gt;
| TROUBLE_RESTORE&lt;br /&gt;
| *71&lt;br /&gt;
| Indicates that the trouble event was restored&lt;br /&gt;
|-&lt;br /&gt;
| BYPASS_RESTORE&lt;br /&gt;
| *72&lt;br /&gt;
| Indicates that the bypassed zonew as restored&lt;br /&gt;
|-&lt;br /&gt;
| AC_RESTORE&lt;br /&gt;
| *73&lt;br /&gt;
| Indicates that AC power was restored&lt;br /&gt;
|-&lt;br /&gt;
| LOWBAT_RESTORE&lt;br /&gt;
| *74&lt;br /&gt;
| Indicates that the low battery has been restored&lt;br /&gt;
|-&lt;br /&gt;
| RFLOWBAT_RESTORE&lt;br /&gt;
| *75&lt;br /&gt;
| Indicates that the low battery on the RF transmitter has been restored.&lt;br /&gt;
|-&lt;br /&gt;
| TEST_RESTORE&lt;br /&gt;
| *76&lt;br /&gt;
| Indicates that a zone was restored in testing mode&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_PANIC&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there is a panic&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_FIRE&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there is a fire&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_ENTRY&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there was an entry alarm&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_AUX&lt;br /&gt;
| &lt;br /&gt;
| Indicates that an auxiliary alarm type was triggered&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_AUDIBLE&lt;br /&gt;
| &lt;br /&gt;
| Indicates that an audible alarm is in progress&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_SILENT&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there was a silent alarm&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_PERIMETER&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there was a perimeter alarm&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==AUI==&lt;br /&gt;
AUI messages are generated for &amp;quot;Advanced User Interface&amp;quot; keypads.  These include a lot of extra data than what's destined for regular keypads.&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !AUI Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!AUI&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;126600000000656c02456cf5ec01017f0002&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | AUI Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !AUI&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 126600000000656c02456cf5ec01017f0002&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;AUI Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Keypress Events==&lt;br /&gt;
Keypress events are generated when keys are pressed on a keypad and can be enabled inside [[#CONFIGBITS|CONFIGBITS]].&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !KPE Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!KPE&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;18&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Keypad Address&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !KPE&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 18&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Error message report==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !ERR Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!ERR&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Error list&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !ERR&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1,1,1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Keypad Address&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the address of the keypad that generated the event.&lt;br /&gt;
&lt;br /&gt;
=Device Feedback LED=&lt;br /&gt;
* Boot flash mode&lt;br /&gt;
** During boot the AD2* will rapid flash during the boot loader.&lt;br /&gt;
* Operating mode&lt;br /&gt;
** The normal operating mode is a steady of approx 2.5 flashes per second.&lt;br /&gt;
* Error mode&lt;br /&gt;
** 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.&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/Protocol</id>
		<title>Protocol</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/Protocol"/>
				<updated>2015-09-08T19:19:55Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: /* Message Types */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:FAQ]]&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Specifications]]&lt;br /&gt;
[[Category:Features]]&lt;br /&gt;
&lt;br /&gt;
=Commands=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Command&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | =&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[#Reboot|Reboot]] the device.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[#Device Configuration|Configure]] the device via prompts.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | C&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Sets or retrieves [[#Device Configuration|configuration parameters]].&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | L&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[#Zone Emulation|Emulate]] virtual zone opens and closes.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x01\x01\x01&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #1&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x02\x02\x02&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #2&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x03\x03\x03&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #3&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x04\x04\x04&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #4&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0123456789*#&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send key to panel&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Reboot==&lt;br /&gt;
Rebooting the device is as simple as sending &amp;lt;b&amp;gt;=&amp;lt;/b&amp;gt; to it.&lt;br /&gt;
&lt;br /&gt;
During the boot process you can trigger a firmware upload by sending a second &amp;lt;b&amp;gt;=&amp;lt;/b&amp;gt; to the device after the &amp;lt;i&amp;gt;!boot&amp;lt;/i&amp;gt; message is received.  At this point you'll receive a &amp;lt;i&amp;gt;!load&amp;lt;/i&amp;gt; and can begin uploading.&lt;br /&gt;
&lt;br /&gt;
==Zone Emulation==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;b&amp;gt;L&amp;lt;/b&amp;gt; command can be used to open or close 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 or 1.&lt;br /&gt;
&lt;br /&gt;
Example - open zone 12:&lt;br /&gt;
* &amp;lt;b&amp;gt;L121\r&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example - close zone 12:&lt;br /&gt;
* &amp;lt;b&amp;gt;L120\r&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Function Keys==&lt;br /&gt;
The specialty function keys are identified by ASCII character codes 1 through 4.  In order to prevent false positives these must be sent three times in a row.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Function Key Codes&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Code&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| \x01\x01\x01&lt;br /&gt;
| Function Key #1&lt;br /&gt;
|-&lt;br /&gt;
| \x02\x02\x02&lt;br /&gt;
| Function Key #2&lt;br /&gt;
|-&lt;br /&gt;
| \x03\x03\x03&lt;br /&gt;
| Function Key #3&lt;br /&gt;
|-&lt;br /&gt;
| \x04\x04\x04&lt;br /&gt;
| Function Key #4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Device Configuration=&lt;br /&gt;
The AlarmDecoder configuration can be viewed or modified in one of two ways: [[#Prompted|prompted]] or [[#Programatic|programmatically]].&lt;br /&gt;
&lt;br /&gt;
==Prompted==&lt;br /&gt;
If you send &amp;lt;b&amp;gt;!&amp;lt;/b&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;You may hit enter to keep the current value or provide a new one.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!&amp;gt;Ademco/DSC  Mode A/D  (A) :&amp;gt;&lt;br /&gt;
!&amp;gt;Keypad Address       (18) :&amp;gt;&lt;br /&gt;
!WARNING. Do not enable a module if the physical module exists on the system.&lt;br /&gt;
!Zone Expanders Y/N Max allowed: 02&lt;br /&gt;
!&amp;gt;expander module #01 ZN 09-16 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #02 ZN 17-24 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #03 ZN 25-32 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #04 ZN 33-40 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #05 ZN 41-48 (Y) :&amp;gt;&lt;br /&gt;
!Relay Modules Y/N Max allowed: 04&lt;br /&gt;
!&amp;gt;relay module #01 (Y) :&amp;gt;&lt;br /&gt;
!&amp;gt;relay module #02 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;relay module #03 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;relay module #04 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;Emulate Long Range Radio Y/N: (Y) :&amp;gt;&lt;br /&gt;
!&amp;gt;ZoneTracker track zone restore Y/N: (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;Address Filter Mask  (ffffffff) :&amp;gt;&lt;br /&gt;
!&amp;gt;Deduplicate          (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;Config Bits        (ff04) :&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Programmatic==&lt;br /&gt;
You may retrieve all of the current device settings by sending &amp;lt;b&amp;gt;C&amp;lt;/b&amp;gt; to the panel followed by a carriage return (\r).&lt;br /&gt;
&lt;br /&gt;
Retrieving settings:&lt;br /&gt;
* Send: &amp;lt;b&amp;gt;C\r&amp;lt;/b&amp;gt;&lt;br /&gt;
* Response: &amp;lt;b&amp;gt;!CONFIG&amp;gt;ADDRESS=18&amp;amp;CONFIGBITS=ff00&amp;amp;LRR=N&amp;amp;EXP=NNNNN&amp;amp;REL=NNNN&amp;amp;MASK=ffffffff&amp;amp;DEDUPLICATE=N&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It can also be used to set values:&lt;br /&gt;
* Send: &amp;lt;b&amp;gt;CADDRESS=20\r&amp;lt;/b&amp;gt;&lt;br /&gt;
* Response: &amp;lt;b&amp;gt;!&amp;gt;ADDRESS=20&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The same command may be used to set multiple values:&lt;br /&gt;
* Send: &amp;lt;b&amp;gt;CADDRESS=20&amp;amp;DEDUPLICATE=Y\r&amp;lt;/b&amp;gt;&lt;br /&gt;
* Response: &amp;lt;b&amp;gt;!&amp;gt;ADDRESS=20&amp;amp;DEDUPLICATE=Y&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Configuration Parameters===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Default Value&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Valid Values (Regex)&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ADDRESS&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 18&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [0-9]{2}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Keypad address assigned to the AlarmDecoder.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | CONFIGBITS&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | FF00&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [0-9a-f]{4}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Special settings for the device.  See [[#CONFIGBITS|CONFIGBITS]] for more information.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | MASK&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | FFFFFFFF&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [0-9a-f]{8}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Address mask used to filter for keypad alphanumeric messages.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | EXP&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NNNNN&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]{5}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Emulation of zone expanders 1-5&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | REL&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NNNN&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]{4}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Emulation of relay expanders 1-4&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | LRR&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | N&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Emulation of Long Range Radio expander&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | DEDUPLICATE&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | N&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | If enabled, removes duplicate alphanumeric keypad messages.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====CONFIGBITS====&lt;br /&gt;
CONFIGBITS is a setting that's used to enable special functionality on the AlarmDecoder.  You can enable these by masking the correct bits.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ CONFIGBITS Definition&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Mask&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0001&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable reporting of [[#AUI|AUI]] messages.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0002&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable reporting of [[#Keypress Events|keypress events]].&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0004&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Disable prompts for &amp;lt;b&amp;gt;L&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;|&amp;lt;/b&amp;gt; commands.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0008&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable the prefixing of panel messages with !KMP.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0100&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable reporting of [[#RFX|RFX]] messages.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Message Types=&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
* All lines starting with &amp;lt;b&amp;gt;!&amp;lt;/b&amp;gt; are informational.&lt;br /&gt;
* Lines that start with &amp;lt;b&amp;gt;!&amp;gt;&amp;lt;/b&amp;gt; are prompts.&lt;br /&gt;
* All other lines are panel data in the form of a [[#Keypad|Keypad message]].&lt;br /&gt;
&lt;br /&gt;
==Keypad==&lt;br /&gt;
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 &amp;lt;b&amp;gt;!KPM:&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Keypad Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;[001000010000--------]&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;010&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;[f70700060010808c08020000]&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;&amp;quot;ARMED ***STAY** ZONE BYPASSED &amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;160px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Bit field&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Numeric code&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;200px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Raw data&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;220px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Alphanumeric Keypad Message&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [001000010000--------]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 010&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [f70700060010808c08020000]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | &amp;quot;ARMED ***STAY** ZONE BYPASSED &amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;Bit field&amp;lt;/span&amp;gt;====&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Position&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Indicates if the panel is READY&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Indicates if the panel is ARMED AWAY&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Indicates if the panel is ARMED HOME&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| Indicates if the keypad backlight is on&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Indicates if the keypad is in programming mode&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Number (1-7) indicating how many beeps are associated with the message&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| Indicates that a zone has been bypassed&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| Indicates if the panel is on AC power&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| Indicates if the chime is enabled&lt;br /&gt;
|-&lt;br /&gt;
| 10 &lt;br /&gt;
| Indicates that an alarm has occurred.  This is sticky and will be cleared after a second disarm.&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| Indicates that an alarm is currently sounding.  This is cleared after the first disarm.&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| Indicates that the battery is low&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| Indicates that entry delay is off (ARMED INSTANT/MAX)&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| Indicates that there is a fire&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| Indicates a system issue&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| Indicates that the panel is only watching the perimeter (ARMED STAY/NIGHT)&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
| 19&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
| 20&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Numeric Code&amp;lt;/span&amp;gt;====&lt;br /&gt;
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 &amp;lt;b&amp;gt;022&amp;lt;/b&amp;gt;.  Most of the time this is zero-padded base10, but there are rare occurrences where this may be base16, such as ECP bus failures.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Raw data&amp;lt;/span&amp;gt;====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Byte&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Addresses&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0-7&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 8-15&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 16-23&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 24-31&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
* f7&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;07000600&amp;lt;/span&amp;gt;10808c08020000 - our keypad address mask is &amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;07000600&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Using the above mask example of &amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;07000600&amp;lt;/span&amp;gt; we find that this message was destined for keypads 0, 1, 2, 17 and 18.&lt;br /&gt;
&lt;br /&gt;
There is one special case: system messages will have no address mask bits set and are intended for common keypads or monitoring multiple zones.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Alphanumeric Keypad Message&amp;lt;/span&amp;gt;====&lt;br /&gt;
This section is the data that would be displayed on your keypad's screen.&lt;br /&gt;
&lt;br /&gt;
==Zone Expander==&lt;br /&gt;
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.&lt;br /&gt;
===Examples===&lt;br /&gt;
Example of zone expander at address 7, channel 1 faulting and then restoring:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!EXP:07,01,01&lt;br /&gt;
!EXP:07,01,00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !EXP Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!EXP&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;07&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;160px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Zone Expander Address&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;140px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Expander Channel&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !EXP&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 07&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Zone Expander Address&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the address that the zone expander occupies.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Expander Channel&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the channel generating the message.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
00 and 01 indicate that the zone is restored and faulted, respectively.&lt;br /&gt;
&lt;br /&gt;
==Relay Expander==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
Examples of a relay expander at address 12, relay #1 closing and then opening:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!REL:12,01,01&lt;br /&gt;
!REL:12,01,00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !REL Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!REL&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;12&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;160px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Relay Expander Address&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;140px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Expander Channel&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !REL&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 12&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Relay Expander Address&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the address that the relay expander occupies.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Expander Channel&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the channel generating the message.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
00 and 01 indicate that the relay is opened and closed, respectively.&lt;br /&gt;
&lt;br /&gt;
==RFX==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
Example of a 5800Micra sensor faulting and restoring:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!RFX:0180036,80&lt;br /&gt;
!RFX:0180036,00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example of a 5804 keyfob pressing the loop #2 button and having a low battery:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!RFX:0307854,22&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !RFX Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!RFX&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;0180036&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;80&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Serial Number&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !RFX&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0180036&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 80&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Serial Number&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the 7-digit serial number of the device the message originated from.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ RFX Data Format&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Bit&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| Unknown - Seems that the loop indicators should be ignored if set.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 2&lt;br /&gt;
| Low battery indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 3&lt;br /&gt;
| Supervision required indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 5&lt;br /&gt;
| Loop #3 indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 6&lt;br /&gt;
| Loop #2 indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 7&lt;br /&gt;
| Loop #4 indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 8&lt;br /&gt;
| Loop #1 indication&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==LRR==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
This example shows User 12 arming and disarming the system:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!LRR:012,1,ARM_STAY&lt;br /&gt;
!LRR:012,1,ARM_AWAY&lt;br /&gt;
!LRR:012,1,OPEN&lt;br /&gt;
!LRR:003,1,BYPASS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !LRR Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!LRR&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;012&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;ARM_STAY&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Event Data&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Partition&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Event Type&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !LRR&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 012&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | ARM_STAY&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Event Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is either the user number of the person performing the action or the zone that was bypassed.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Partition&amp;lt;/span&amp;gt;====&lt;br /&gt;
The panel partition the event applies to.  Partition 0 indicates that it's destined for all partitions.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Event Type&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the type of the LRR event.  See below for a description and what (if any) programming fields are required for activation.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ LRR Event Types&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Program Fields&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_EXIT_ERROR&lt;br /&gt;
| *59&lt;br /&gt;
| Indicates an error when a zone is not closed during arming&lt;br /&gt;
|-&lt;br /&gt;
| TROUBLE&lt;br /&gt;
| *60&lt;br /&gt;
| Indicates that a zone is reporting a tamper or failure&lt;br /&gt;
|-&lt;br /&gt;
| BYPASS&lt;br /&gt;
| *61&lt;br /&gt;
| Indicates that a zone has been bypassed&lt;br /&gt;
|-&lt;br /&gt;
| ACLOSS&lt;br /&gt;
| *62&lt;br /&gt;
| Indicates that AC power was lost&lt;br /&gt;
|-&lt;br /&gt;
| LOWBAT&lt;br /&gt;
| *63&lt;br /&gt;
| Low battery indication&lt;br /&gt;
|-&lt;br /&gt;
| TEST_CALL&lt;br /&gt;
| *64&lt;br /&gt;
| Indicates a phone test when in testing mode&lt;br /&gt;
|-&lt;br /&gt;
| OPEN&lt;br /&gt;
| *65, requires *66&lt;br /&gt;
| Indicates that the alarm is disarmed&lt;br /&gt;
|-&lt;br /&gt;
| ARM_AWAY&lt;br /&gt;
| *66&lt;br /&gt;
| Indicates that the system was armed AWAY&lt;br /&gt;
|-&lt;br /&gt;
| ARM_STAY&lt;br /&gt;
| *66&lt;br /&gt;
| Indicates that the system was armed STAY&lt;br /&gt;
|-&lt;br /&gt;
| RFLOWBAT&lt;br /&gt;
| *67&lt;br /&gt;
| Low battery indication for the RF transmitter&lt;br /&gt;
|-&lt;br /&gt;
| CANCEL&lt;br /&gt;
| *68&lt;br /&gt;
| Indicates that the alarm was canceled after second disarm&lt;br /&gt;
|-&lt;br /&gt;
| RESTORE&lt;br /&gt;
| *70&lt;br /&gt;
| Indicates that the alarm was restored&lt;br /&gt;
|-&lt;br /&gt;
| TROUBLE_RESTORE&lt;br /&gt;
| *71&lt;br /&gt;
| Indicates that the trouble event was restored&lt;br /&gt;
|-&lt;br /&gt;
| BYPASS_RESTORE&lt;br /&gt;
| *72&lt;br /&gt;
| Indicates that the bypassed zonew as restored&lt;br /&gt;
|-&lt;br /&gt;
| AC_RESTORE&lt;br /&gt;
| *73&lt;br /&gt;
| Indicates that AC power was restored&lt;br /&gt;
|-&lt;br /&gt;
| LOWBAT_RESTORE&lt;br /&gt;
| *74&lt;br /&gt;
| Indicates that the low battery has been restored&lt;br /&gt;
|-&lt;br /&gt;
| RFLOWBAT_RESTORE&lt;br /&gt;
| *75&lt;br /&gt;
| Indicates that the low battery on the RF transmitter has been restored.&lt;br /&gt;
|-&lt;br /&gt;
| TEST_RESTORE&lt;br /&gt;
| *76&lt;br /&gt;
| Indicates that a zone was restored in testing mode&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_PANIC&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there is a panic&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_FIRE&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there is a fire&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_ENTRY&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there was an entry alarm&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_AUX&lt;br /&gt;
| &lt;br /&gt;
| Indicates that an auxiliary alarm type was triggered&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_AUDIBLE&lt;br /&gt;
| &lt;br /&gt;
| Indicates that an audible alarm is in progress&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_SILENT&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there was a silent alarm&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_PERIMETER&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there was a perimeter alarm&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==AUI==&lt;br /&gt;
AUI messages are generated for &amp;quot;Advanced User Interface&amp;quot; keypads.  These include a lot of extra data than what's destined for regular keypads.&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !AUI Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!AUI&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;126600000000656c02456cf5ec01017f0002&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | AUI Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !AUI&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 126600000000656c02456cf5ec01017f0002&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;AUI Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Keypress Events==&lt;br /&gt;
Keypress events are generated when keys are pressed on a keypad and can be enabled inside [[#CONFIGBITS|CONFIGBITS]].&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !KPE Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!KPE&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;18&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Keypad Address&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !KPE&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 18&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Error message report==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !ERR Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!ERR&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Error list&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !ERR&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1,1,1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Keypad Address&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the address of the keypad that generated the event.&lt;br /&gt;
&lt;br /&gt;
=Device Feedback LED=&lt;br /&gt;
* Boot flash mode&lt;br /&gt;
** During boot the AD2* will rapid flash during the boot loader.&lt;br /&gt;
* Operating mode&lt;br /&gt;
** The normal operating mode is a steady of approx 2.5 flashes per second.&lt;br /&gt;
* Error mode&lt;br /&gt;
** 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.&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/Protocol</id>
		<title>Protocol</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/Protocol"/>
				<updated>2015-09-08T19:12:29Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: /* Message Types */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:FAQ]]&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Specifications]]&lt;br /&gt;
[[Category:Features]]&lt;br /&gt;
&lt;br /&gt;
=Commands=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Command&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | =&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[#Reboot|Reboot]] the device.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[#Device Configuration|Configure]] the device via prompts.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | C&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Sets or retrieves [[#Device Configuration|configuration parameters]].&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | L&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[#Zone Emulation|Emulate]] virtual zone opens and closes.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x01\x01\x01&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #1&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x02\x02\x02&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #2&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x03\x03\x03&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #3&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x04\x04\x04&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #4&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0123456789*#&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send key to panel&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Reboot==&lt;br /&gt;
Rebooting the device is as simple as sending &amp;lt;b&amp;gt;=&amp;lt;/b&amp;gt; to it.&lt;br /&gt;
&lt;br /&gt;
During the boot process you can trigger a firmware upload by sending a second &amp;lt;b&amp;gt;=&amp;lt;/b&amp;gt; to the device after the &amp;lt;i&amp;gt;!boot&amp;lt;/i&amp;gt; message is received.  At this point you'll receive a &amp;lt;i&amp;gt;!load&amp;lt;/i&amp;gt; and can begin uploading.&lt;br /&gt;
&lt;br /&gt;
==Zone Emulation==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;b&amp;gt;L&amp;lt;/b&amp;gt; command can be used to open or close 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 or 1.&lt;br /&gt;
&lt;br /&gt;
Example - open zone 12:&lt;br /&gt;
* &amp;lt;b&amp;gt;L121\r&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example - close zone 12:&lt;br /&gt;
* &amp;lt;b&amp;gt;L120\r&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Function Keys==&lt;br /&gt;
The specialty function keys are identified by ASCII character codes 1 through 4.  In order to prevent false positives these must be sent three times in a row.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Function Key Codes&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Code&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| \x01\x01\x01&lt;br /&gt;
| Function Key #1&lt;br /&gt;
|-&lt;br /&gt;
| \x02\x02\x02&lt;br /&gt;
| Function Key #2&lt;br /&gt;
|-&lt;br /&gt;
| \x03\x03\x03&lt;br /&gt;
| Function Key #3&lt;br /&gt;
|-&lt;br /&gt;
| \x04\x04\x04&lt;br /&gt;
| Function Key #4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Device Configuration=&lt;br /&gt;
The AlarmDecoder configuration can be viewed or modified in one of two ways: [[#Prompted|prompted]] or [[#Programatic|programmatically]].&lt;br /&gt;
&lt;br /&gt;
==Prompted==&lt;br /&gt;
If you send &amp;lt;b&amp;gt;!&amp;lt;/b&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;You may hit enter to keep the current value or provide a new one.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!&amp;gt;Ademco/DSC  Mode A/D  (A) :&amp;gt;&lt;br /&gt;
!&amp;gt;Keypad Address       (18) :&amp;gt;&lt;br /&gt;
!WARNING. Do not enable a module if the physical module exists on the system.&lt;br /&gt;
!Zone Expanders Y/N Max allowed: 02&lt;br /&gt;
!&amp;gt;expander module #01 ZN 09-16 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #02 ZN 17-24 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #03 ZN 25-32 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #04 ZN 33-40 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #05 ZN 41-48 (Y) :&amp;gt;&lt;br /&gt;
!Relay Modules Y/N Max allowed: 04&lt;br /&gt;
!&amp;gt;relay module #01 (Y) :&amp;gt;&lt;br /&gt;
!&amp;gt;relay module #02 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;relay module #03 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;relay module #04 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;Emulate Long Range Radio Y/N: (Y) :&amp;gt;&lt;br /&gt;
!&amp;gt;ZoneTracker track zone restore Y/N: (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;Address Filter Mask  (ffffffff) :&amp;gt;&lt;br /&gt;
!&amp;gt;Deduplicate          (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;Config Bits        (ff04) :&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Programmatic==&lt;br /&gt;
You may retrieve all of the current device settings by sending &amp;lt;b&amp;gt;C&amp;lt;/b&amp;gt; to the panel followed by a carriage return (\r).&lt;br /&gt;
&lt;br /&gt;
Retrieving settings:&lt;br /&gt;
* Send: &amp;lt;b&amp;gt;C\r&amp;lt;/b&amp;gt;&lt;br /&gt;
* Response: &amp;lt;b&amp;gt;!CONFIG&amp;gt;ADDRESS=18&amp;amp;CONFIGBITS=ff00&amp;amp;LRR=N&amp;amp;EXP=NNNNN&amp;amp;REL=NNNN&amp;amp;MASK=ffffffff&amp;amp;DEDUPLICATE=N&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It can also be used to set values:&lt;br /&gt;
* Send: &amp;lt;b&amp;gt;CADDRESS=20\r&amp;lt;/b&amp;gt;&lt;br /&gt;
* Response: &amp;lt;b&amp;gt;!&amp;gt;ADDRESS=20&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The same command may be used to set multiple values:&lt;br /&gt;
* Send: &amp;lt;b&amp;gt;CADDRESS=20&amp;amp;DEDUPLICATE=Y\r&amp;lt;/b&amp;gt;&lt;br /&gt;
* Response: &amp;lt;b&amp;gt;!&amp;gt;ADDRESS=20&amp;amp;DEDUPLICATE=Y&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Configuration Parameters===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Default Value&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Valid Values (Regex)&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ADDRESS&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 18&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [0-9]{2}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Keypad address assigned to the AlarmDecoder.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | CONFIGBITS&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | FF00&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [0-9a-f]{4}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Special settings for the device.  See [[#CONFIGBITS|CONFIGBITS]] for more information.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | MASK&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | FFFFFFFF&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [0-9a-f]{8}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Address mask used to filter for keypad alphanumeric messages.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | EXP&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NNNNN&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]{5}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Emulation of zone expanders 1-5&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | REL&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NNNN&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]{4}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Emulation of relay expanders 1-4&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | LRR&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | N&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Emulation of Long Range Radio expander&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | DEDUPLICATE&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | N&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | If enabled, removes duplicate alphanumeric keypad messages.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====CONFIGBITS====&lt;br /&gt;
CONFIGBITS is a setting that's used to enable special functionality on the AlarmDecoder.  You can enable these by masking the correct bits.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ CONFIGBITS Definition&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Mask&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0001&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable reporting of [[#AUI|AUI]] messages.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0002&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable reporting of [[#Keypress Events|keypress events]].&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0004&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Disable prompts for &amp;lt;b&amp;gt;L&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;|&amp;lt;/b&amp;gt; commands.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0008&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable the prefixing of panel messages with !KMP.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0100&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable reporting of [[#RFX|RFX]] messages.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Message Types=&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
* All lines starting with &amp;lt;b&amp;gt;!&amp;lt;/b&amp;gt; are informational.&lt;br /&gt;
* Lines that start with &amp;lt;b&amp;gt;!&amp;gt;&amp;lt;/b&amp;gt; are prompts.&lt;br /&gt;
* All other lines are panel data in the form of a [[#Keypad|Keypad message]].&lt;br /&gt;
&lt;br /&gt;
==Keypad==&lt;br /&gt;
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 &amp;lt;b&amp;gt;!KPM:&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Keypad Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;[001000010000--------]&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;010&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;[f70700060010808c08020000]&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;&amp;quot;ARMED ***STAY** ZONE BYPASSED &amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;160px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Bit field&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Numeric code&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;200px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Raw data&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;220px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Alphanumeric Keypad Message&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [001000010000--------]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 010&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [f70700060010808c08020000]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | &amp;quot;ARMED ***STAY** ZONE BYPASSED &amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;Bit field&amp;lt;/span&amp;gt;====&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Position&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Indicates if the panel is READY&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Indicates if the panel is ARMED AWAY&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Indicates if the panel is ARMED HOME&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| Indicates if the keypad backlight is on&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Indicates if the keypad is in programming mode&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Number (1-7) indicating how many beeps are associated with the message&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| Indicates that a zone has been bypassed&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| Indicates if the panel is on AC power&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| Indicates if the chime is enabled&lt;br /&gt;
|-&lt;br /&gt;
| 10 &lt;br /&gt;
| Indicates that an alarm has occurred.  This is sticky and will be cleared after a second disarm.&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| Indicates that an alarm is currently sounding.  This is cleared after the first disarm.&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| Indicates that the battery is low&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| Indicates that entry delay is off (ARMED INSTANT/MAX)&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| Indicates that there is a fire&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| Indicates a system issue&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| Indicates that the panel is only watching the perimeter (ARMED STAY/NIGHT)&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
| 19&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
| 20&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Numeric Code&amp;lt;/span&amp;gt;====&lt;br /&gt;
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 &amp;lt;b&amp;gt;022&amp;lt;/b&amp;gt;.  Most of the time this is zero-padded base10, but there are rare occurrences where this may be base16, such as ECP bus failures.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Raw data&amp;lt;/span&amp;gt;====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Byte&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Addresses&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0-7&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 8-15&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 16-23&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 24-31&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
* f7&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;07000600&amp;lt;/span&amp;gt;10808c08020000 - our keypad address mask is &amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;07000600&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Using the above mask example of &amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;07000600&amp;lt;/span&amp;gt; we find that this message was destined for keypads 0, 1, 2, 17 and 18.&lt;br /&gt;
&lt;br /&gt;
There is one special case: system messages will have no address mask bits set and are intended for common keypads or monitoring multiple zones.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Alphanumeric Keypad Message&amp;lt;/span&amp;gt;====&lt;br /&gt;
This section is the data that would be displayed on your keypad's screen.&lt;br /&gt;
&lt;br /&gt;
==Zone Expander==&lt;br /&gt;
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.&lt;br /&gt;
===Examples===&lt;br /&gt;
Example of zone expander at address 7, channel 1 faulting and then restoring:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!EXP:07,01,01&lt;br /&gt;
!EXP:07,01,00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !EXP Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!EXP&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;07&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;160px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Zone Expander Address&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;140px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Expander Channel&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !EXP&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 07&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Zone Expander Address&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the address that the zone expander occupies.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Expander Channel&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the channel generating the message.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
00 and 01 indicate that the zone is restored and faulted, respectively.&lt;br /&gt;
&lt;br /&gt;
==Relay Expander==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
Examples of a relay expander at address 12, relay #1 closing and then opening:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!REL:12,01,01&lt;br /&gt;
!REL:12,01,00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !REL Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!REL&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;12&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;160px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Relay Expander Address&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;140px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Expander Channel&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !REL&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 12&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Relay Expander Address&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the address that the relay expander occupies.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Expander Channel&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the channel generating the message.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
00 and 01 indicate that the relay is opened and closed, respectively.&lt;br /&gt;
&lt;br /&gt;
==RFX==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
Example of a 5800Micra sensor faulting and restoring:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!RFX:0180036,80&lt;br /&gt;
!RFX:0180036,00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example of a 5804 keyfob pressing the loop #2 button and having a low battery:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!RFX:0307854,22&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !RFX Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!RFX&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;0180036&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;80&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Serial Number&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !RFX&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0180036&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 80&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Serial Number&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the 7-digit serial number of the device the message originated from.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ RFX Data Format&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Bit&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| Unknown - Seems that the loop indicators should be ignored if set.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 2&lt;br /&gt;
| Low battery indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 3&lt;br /&gt;
| Supervision required indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 5&lt;br /&gt;
| Loop #3 indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 6&lt;br /&gt;
| Loop #2 indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 7&lt;br /&gt;
| Loop #4 indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 8&lt;br /&gt;
| Loop #1 indication&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==LRR==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
This example shows User 12 arming and disarming the system:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!LRR:012,1,ARM_STAY&lt;br /&gt;
!LRR:012,1,ARM_AWAY&lt;br /&gt;
!LRR:012,1,OPEN&lt;br /&gt;
!LRR:003,1,BYPASS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !LRR Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!LRR&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;012&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;ARM_STAY&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Event Data&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Partition&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Event Type&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !LRR&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 012&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | ARM_STAY&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Event Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is either the user number of the person performing the action or the zone that was bypassed.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Partition&amp;lt;/span&amp;gt;====&lt;br /&gt;
The panel partition the event applies to.  Partition 0 indicates that it's destined for all partitions.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Event Type&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the type of the LRR event.  See below for a description and what (if any) programming fields are required for activation.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ LRR Event Types&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Program Fields&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_EXIT_ERROR&lt;br /&gt;
| *59&lt;br /&gt;
| Indicates an error when a zone is not closed during arming&lt;br /&gt;
|-&lt;br /&gt;
| TROUBLE&lt;br /&gt;
| *60&lt;br /&gt;
| Indicates that a zone is reporting a tamper or failure&lt;br /&gt;
|-&lt;br /&gt;
| BYPASS&lt;br /&gt;
| *61&lt;br /&gt;
| Indicates that a zone has been bypassed&lt;br /&gt;
|-&lt;br /&gt;
| ACLOSS&lt;br /&gt;
| *62&lt;br /&gt;
| Indicates that AC power was lost&lt;br /&gt;
|-&lt;br /&gt;
| LOWBAT&lt;br /&gt;
| *63&lt;br /&gt;
| Low battery indication&lt;br /&gt;
|-&lt;br /&gt;
| TEST_CALL&lt;br /&gt;
| *64&lt;br /&gt;
| Indicates a phone test when in testing mode&lt;br /&gt;
|-&lt;br /&gt;
| OPEN&lt;br /&gt;
| *65, requires *66&lt;br /&gt;
| Indicates that the alarm is disarmed&lt;br /&gt;
|-&lt;br /&gt;
| ARM_AWAY&lt;br /&gt;
| *66&lt;br /&gt;
| Indicates that the system was armed AWAY&lt;br /&gt;
|-&lt;br /&gt;
| ARM_STAY&lt;br /&gt;
| *66&lt;br /&gt;
| Indicates that the system was armed STAY&lt;br /&gt;
|-&lt;br /&gt;
| RFLOWBAT&lt;br /&gt;
| *67&lt;br /&gt;
| Low battery indication for the RF transmitter&lt;br /&gt;
|-&lt;br /&gt;
| CANCEL&lt;br /&gt;
| *68&lt;br /&gt;
| Indicates that the alarm was canceled after second disarm&lt;br /&gt;
|-&lt;br /&gt;
| RESTORE&lt;br /&gt;
| *70&lt;br /&gt;
| Indicates that the alarm was restored&lt;br /&gt;
|-&lt;br /&gt;
| TROUBLE_RESTORE&lt;br /&gt;
| *71&lt;br /&gt;
| Indicates that the trouble event was restored&lt;br /&gt;
|-&lt;br /&gt;
| BYPASS_RESTORE&lt;br /&gt;
| *72&lt;br /&gt;
| Indicates that the bypassed zonew as restored&lt;br /&gt;
|-&lt;br /&gt;
| AC_RESTORE&lt;br /&gt;
| *73&lt;br /&gt;
| Indicates that AC power was restored&lt;br /&gt;
|-&lt;br /&gt;
| LOWBAT_RESTORE&lt;br /&gt;
| *74&lt;br /&gt;
| Indicates that the low battery has been restored&lt;br /&gt;
|-&lt;br /&gt;
| RFLOWBAT_RESTORE&lt;br /&gt;
| *75&lt;br /&gt;
| Indicates that the low battery on the RF transmitter has been restored.&lt;br /&gt;
|-&lt;br /&gt;
| TEST_RESTORE&lt;br /&gt;
| *76&lt;br /&gt;
| Indicates that a zone was restored in testing mode&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_PANIC&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there is a panic&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_FIRE&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there is a fire&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_ENTRY&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there was an entry alarm&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_AUX&lt;br /&gt;
| &lt;br /&gt;
| Indicates that an auxiliary alarm type was triggered&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_AUDIBLE&lt;br /&gt;
| &lt;br /&gt;
| Indicates that an audible alarm is in progress&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_SILENT&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there was a silent alarm&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_PERIMETER&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there was a perimeter alarm&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==AUI==&lt;br /&gt;
AUI messages are generated for &amp;quot;Advanced User Interface&amp;quot; keypads.  These include a lot of extra data than what's destined for regular keypads.&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !AUI Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!AUI&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;126600000000656c02456cf5ec01017f0002&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | AUI Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !AUI&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 126600000000656c02456cf5ec01017f0002&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;AUI Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Keypress Events==&lt;br /&gt;
Keypress events are generated when keys are pressed on a keypad and can be enabled inside [[#CONFIGBITS|CONFIGBITS]].&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !KPE Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!KPE&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;18&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Keypad Address&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !KPE&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 18&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Keypad Address&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the address of the keypad that generated the event.&lt;br /&gt;
&lt;br /&gt;
=Device Feedback LED=&lt;br /&gt;
* Boot flash mode&lt;br /&gt;
** During boot the AD2* will rapid flash during the boot loader.&lt;br /&gt;
* Operating mode&lt;br /&gt;
** The normal operating mode is a steady of approx 2.5 flashes per second.&lt;br /&gt;
* Error mode&lt;br /&gt;
** 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.&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/Protocol</id>
		<title>Protocol</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/Protocol"/>
				<updated>2015-09-08T19:04:18Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: /* Zone Expander */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:FAQ]]&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Specifications]]&lt;br /&gt;
[[Category:Features]]&lt;br /&gt;
&lt;br /&gt;
=Commands=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Command&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | =&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[#Reboot|Reboot]] the device.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[#Device Configuration|Configure]] the device via prompts.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | C&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Sets or retrieves [[#Device Configuration|configuration parameters]].&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | L&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[#Zone Emulation|Emulate]] virtual zone opens and closes.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x01\x01\x01&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #1&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x02\x02\x02&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #2&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x03\x03\x03&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #3&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | \x04\x04\x04&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send [[#Function Keys|Function Key]] #4&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0123456789*#&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Send key to panel&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Reboot==&lt;br /&gt;
Rebooting the device is as simple as sending &amp;lt;b&amp;gt;=&amp;lt;/b&amp;gt; to it.&lt;br /&gt;
&lt;br /&gt;
During the boot process you can trigger a firmware upload by sending a second &amp;lt;b&amp;gt;=&amp;lt;/b&amp;gt; to the device after the &amp;lt;i&amp;gt;!boot&amp;lt;/i&amp;gt; message is received.  At this point you'll receive a &amp;lt;i&amp;gt;!load&amp;lt;/i&amp;gt; and can begin uploading.&lt;br /&gt;
&lt;br /&gt;
==Zone Emulation==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;b&amp;gt;L&amp;lt;/b&amp;gt; command can be used to open or close 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 or 1.&lt;br /&gt;
&lt;br /&gt;
Example - open zone 12:&lt;br /&gt;
* &amp;lt;b&amp;gt;L121\r&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example - close zone 12:&lt;br /&gt;
* &amp;lt;b&amp;gt;L120\r&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Function Keys==&lt;br /&gt;
The specialty function keys are identified by ASCII character codes 1 through 4.  In order to prevent false positives these must be sent three times in a row.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Function Key Codes&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Code&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| \x01\x01\x01&lt;br /&gt;
| Function Key #1&lt;br /&gt;
|-&lt;br /&gt;
| \x02\x02\x02&lt;br /&gt;
| Function Key #2&lt;br /&gt;
|-&lt;br /&gt;
| \x03\x03\x03&lt;br /&gt;
| Function Key #3&lt;br /&gt;
|-&lt;br /&gt;
| \x04\x04\x04&lt;br /&gt;
| Function Key #4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Device Configuration=&lt;br /&gt;
The AlarmDecoder configuration can be viewed or modified in one of two ways: [[#Prompted|prompted]] or [[#Programatic|programmatically]].&lt;br /&gt;
&lt;br /&gt;
==Prompted==&lt;br /&gt;
If you send &amp;lt;b&amp;gt;!&amp;lt;/b&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;You may hit enter to keep the current value or provide a new one.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!&amp;gt;Ademco/DSC  Mode A/D  (A) :&amp;gt;&lt;br /&gt;
!&amp;gt;Keypad Address       (18) :&amp;gt;&lt;br /&gt;
!WARNING. Do not enable a module if the physical module exists on the system.&lt;br /&gt;
!Zone Expanders Y/N Max allowed: 02&lt;br /&gt;
!&amp;gt;expander module #01 ZN 09-16 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #02 ZN 17-24 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #03 ZN 25-32 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #04 ZN 33-40 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;expander module #05 ZN 41-48 (Y) :&amp;gt;&lt;br /&gt;
!Relay Modules Y/N Max allowed: 04&lt;br /&gt;
!&amp;gt;relay module #01 (Y) :&amp;gt;&lt;br /&gt;
!&amp;gt;relay module #02 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;relay module #03 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;relay module #04 (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;Emulate Long Range Radio Y/N: (Y) :&amp;gt;&lt;br /&gt;
!&amp;gt;ZoneTracker track zone restore Y/N: (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;Address Filter Mask  (ffffffff) :&amp;gt;&lt;br /&gt;
!&amp;gt;Deduplicate          (N) :&amp;gt;&lt;br /&gt;
!&amp;gt;Config Bits        (ff04) :&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Programmatic==&lt;br /&gt;
You may retrieve all of the current device settings by sending &amp;lt;b&amp;gt;C&amp;lt;/b&amp;gt; to the panel followed by a carriage return (\r).&lt;br /&gt;
&lt;br /&gt;
Retrieving settings:&lt;br /&gt;
* Send: &amp;lt;b&amp;gt;C\r&amp;lt;/b&amp;gt;&lt;br /&gt;
* Response: &amp;lt;b&amp;gt;!CONFIG&amp;gt;ADDRESS=18&amp;amp;CONFIGBITS=ff00&amp;amp;LRR=N&amp;amp;EXP=NNNNN&amp;amp;REL=NNNN&amp;amp;MASK=ffffffff&amp;amp;DEDUPLICATE=N&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It can also be used to set values:&lt;br /&gt;
* Send: &amp;lt;b&amp;gt;CADDRESS=20\r&amp;lt;/b&amp;gt;&lt;br /&gt;
* Response: &amp;lt;b&amp;gt;!&amp;gt;ADDRESS=20&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The same command may be used to set multiple values:&lt;br /&gt;
* Send: &amp;lt;b&amp;gt;CADDRESS=20&amp;amp;DEDUPLICATE=Y\r&amp;lt;/b&amp;gt;&lt;br /&gt;
* Response: &amp;lt;b&amp;gt;!&amp;gt;ADDRESS=20&amp;amp;DEDUPLICATE=Y&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Configuration Parameters===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Default Value&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Valid Values (Regex)&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ADDRESS&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 18&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [0-9]{2}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Keypad address assigned to the AlarmDecoder.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | CONFIGBITS&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | FF00&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [0-9a-f]{4}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Special settings for the device.  See [[#CONFIGBITS|CONFIGBITS]] for more information.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | MASK&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | FFFFFFFF&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [0-9a-f]{8}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Address mask used to filter for keypad alphanumeric messages.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | EXP&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NNNNN&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]{5}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Emulation of zone expanders 1-5&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | REL&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NNNN&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]{4}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Emulation of relay expanders 1-4&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | LRR&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | N&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Emulation of Long Range Radio expander&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | DEDUPLICATE&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | N&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [YN]&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | If enabled, removes duplicate alphanumeric keypad messages.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====CONFIGBITS====&lt;br /&gt;
CONFIGBITS is a setting that's used to enable special functionality on the AlarmDecoder.  You can enable these by masking the correct bits.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ CONFIGBITS Definition&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Mask&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0001&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable reporting of [[#AUI|AUI]] messages.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0002&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable reporting of [[#Keypress Events|keypress events]].&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0004&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Disable prompts for &amp;lt;b&amp;gt;L&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;|&amp;lt;/b&amp;gt; commands.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0008&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable the prefixing of panel messages with !KMP.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0x0100&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Enable reporting of [[#RFX|RFX]] messages.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Message Types=&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
* All lines starting with &amp;lt;b&amp;gt;!&amp;lt;/b&amp;gt; are informational.&lt;br /&gt;
* Lines that start with &amp;lt;b&amp;gt;!&amp;gt;&amp;lt;/b&amp;gt; are prompts.&lt;br /&gt;
* All other lines are panel data in the form of a [[#Keypad|Keypad message]].&lt;br /&gt;
&lt;br /&gt;
==Keypad==&lt;br /&gt;
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 &amp;lt;b&amp;gt;!KPM:&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Keypad Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;[001000010000--------]&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;010&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;[f70700060010808c08020000]&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;&amp;quot;ARMED ***STAY** ZONE BYPASSED &amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;160px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Bit field&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Numeric code&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;200px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Raw data&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;220px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Alphanumeric Keypad Message&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [001000010000--------]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 010&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [f70700060010808c08020000]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | &amp;quot;ARMED ***STAY** ZONE BYPASSED &amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;Bit field&amp;lt;/span&amp;gt;====&lt;br /&gt;
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)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Position&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Indicates if the panel is READY&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Indicates if the panel is ARMED AWAY&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Indicates if the panel is ARMED HOME&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| Indicates if the keypad backlight is on&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Indicates if the keypad is in programming mode&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Number (1-7) indicating how many beeps are associated with the message&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| Indicates that a zone has been bypassed&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| Indicates if the panel is on AC power&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| Indicates if the chime is enabled&lt;br /&gt;
|-&lt;br /&gt;
| 10 &lt;br /&gt;
| Indicates that an alarm has occurred.  This is sticky and will be cleared after a second disarm.&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| Indicates that an alarm is currently sounding.  This is cleared after the first disarm.&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| Indicates that the battery is low&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| Indicates that entry delay is off (ARMED INSTANT/MAX)&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| Indicates that there is a fire&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| Indicates a system issue&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| Indicates that the panel is only watching the perimeter (ARMED STAY/NIGHT)&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
| 19&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
| 20&lt;br /&gt;
| Unused&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Numeric Code&amp;lt;/span&amp;gt;====&lt;br /&gt;
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 &amp;lt;b&amp;gt;022&amp;lt;/b&amp;gt;.  Most of the time this is zero-padded base10, but there are rare occurrences where this may be base16, such as ECP bus failures.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Raw data&amp;lt;/span&amp;gt;====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Byte&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Addresses&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0-7&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 8-15&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 16-23&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 24-31&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
* f7&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;07000600&amp;lt;/span&amp;gt;10808c08020000 - our keypad address mask is &amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;07000600&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Using the above mask example of &amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;07000600&amp;lt;/span&amp;gt; we find that this message was destined for keypads 0, 1, 2, 17 and 18.&lt;br /&gt;
&lt;br /&gt;
There is one special case: system messages will have no address mask bits set and are intended for common keypads or monitoring multiple zones.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Alphanumeric Keypad Message&amp;lt;/span&amp;gt;====&lt;br /&gt;
This section is the data that would be displayed on your keypad's screen.&lt;br /&gt;
&lt;br /&gt;
==Zone Expander==&lt;br /&gt;
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.&lt;br /&gt;
===Examples===&lt;br /&gt;
Example of zone expander at address 7, channel 1 faulting and then restoring:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!EXP:07,01,01&lt;br /&gt;
!EXP:07,01,00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !EXP Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!EXP&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;07&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;160px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Zone Expander Address&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;140px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Expander Channel&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !EXP&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 07&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Zone Expander Address&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the address that the zone expander occupies.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Expander Channel&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the channel generating the message.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
00 and 01 indicate that the zone is restored and faulted, respectively.&lt;br /&gt;
&lt;br /&gt;
==Relay Expander==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
Examples of a relay expander at address 12, relay #1 closing and then opening:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!REL:12,01,01&lt;br /&gt;
!REL:12,01,00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !REL Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!REL&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;12&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;160px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Relay Expander Address&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;140px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Expander Channel&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !REL&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 12&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 01&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Relay Expander Address&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the address that the relay expander occupies.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Expander Channel&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the channel generating the message.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
00 and 01 indicate that the relay is opened and closed, respectively.&lt;br /&gt;
&lt;br /&gt;
==RFX==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
Example of a 5800Micra sensor faulting and restoring:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!RFX:0180036,80&lt;br /&gt;
!RFX:0180036,00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example of a 5804 keyfob pressing the loop #2 button and having a low battery:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!RFX:0307854,22&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !RFX Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!RFX&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;0180036&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;80&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Serial Number&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !RFX&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 0180036&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 80&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Serial Number&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the 7-digit serial number of the device the message originated from.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ RFX Data Format&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Bit&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| Unknown - Seems that the loop indicators should be ignored if set.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 2&lt;br /&gt;
| Low battery indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 3&lt;br /&gt;
| Supervision required indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 5&lt;br /&gt;
| Loop #3 indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 6&lt;br /&gt;
| Loop #2 indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 7&lt;br /&gt;
| Loop #4 indication&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 8&lt;br /&gt;
| Loop #1 indication&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==LRR==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
This example shows User 12 arming and disarming the system:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!LRR:012,1,ARM_STAY&lt;br /&gt;
!LRR:012,1,ARM_AWAY&lt;br /&gt;
!LRR:012,1,OPEN&lt;br /&gt;
!LRR:003,1,BYPASS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !LRR Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!LRR&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;012&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;ARM_STAY&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Event Data&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #70BA66&amp;quot; | Partition&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #804580&amp;quot; | Event Type&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !LRR&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 012&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | ARM_STAY&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Event Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is either the user number of the person performing the action or the zone that was bypassed.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #70BA66&amp;quot;&amp;gt;Partition&amp;lt;/span&amp;gt;====&lt;br /&gt;
The panel partition the event applies to.  Partition 0 indicates that it's destined for all partitions.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #804580&amp;quot;&amp;gt;Event Type&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the type of the LRR event.  See below for a description and what (if any) programming fields are required for activation.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ LRR Event Types&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Program Fields&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_EXIT_ERROR&lt;br /&gt;
| *59&lt;br /&gt;
| Indicates an error when a zone is not closed during arming&lt;br /&gt;
|-&lt;br /&gt;
| TROUBLE&lt;br /&gt;
| *60&lt;br /&gt;
| Indicates that a zone is reporting a tamper or failure&lt;br /&gt;
|-&lt;br /&gt;
| BYPASS&lt;br /&gt;
| *61&lt;br /&gt;
| Indicates that a zone has been bypassed&lt;br /&gt;
|-&lt;br /&gt;
| ACLOSS&lt;br /&gt;
| *62&lt;br /&gt;
| Indicates that AC power was lost&lt;br /&gt;
|-&lt;br /&gt;
| LOWBAT&lt;br /&gt;
| *63&lt;br /&gt;
| Low battery indication&lt;br /&gt;
|-&lt;br /&gt;
| TEST_CALL&lt;br /&gt;
| *64&lt;br /&gt;
| Indicates a phone test when in testing mode&lt;br /&gt;
|-&lt;br /&gt;
| OPEN&lt;br /&gt;
| *65, requires *66&lt;br /&gt;
| Indicates that the alarm is disarmed&lt;br /&gt;
|-&lt;br /&gt;
| ARM_AWAY&lt;br /&gt;
| *66&lt;br /&gt;
| Indicates that the system was armed AWAY&lt;br /&gt;
|-&lt;br /&gt;
| ARM_STAY&lt;br /&gt;
| *66&lt;br /&gt;
| Indicates that the system was armed STAY&lt;br /&gt;
|-&lt;br /&gt;
| RFLOWBAT&lt;br /&gt;
| *67&lt;br /&gt;
| Low battery indication for the RF transmitter&lt;br /&gt;
|-&lt;br /&gt;
| CANCEL&lt;br /&gt;
| *68&lt;br /&gt;
| Indicates that the alarm was canceled after second disarm&lt;br /&gt;
|-&lt;br /&gt;
| RESTORE&lt;br /&gt;
| *70&lt;br /&gt;
| Indicates that the alarm was restored&lt;br /&gt;
|-&lt;br /&gt;
| TROUBLE_RESTORE&lt;br /&gt;
| *71&lt;br /&gt;
| Indicates that the trouble event was restored&lt;br /&gt;
|-&lt;br /&gt;
| BYPASS_RESTORE&lt;br /&gt;
| *72&lt;br /&gt;
| Indicates that the bypassed zonew as restored&lt;br /&gt;
|-&lt;br /&gt;
| AC_RESTORE&lt;br /&gt;
| *73&lt;br /&gt;
| Indicates that AC power was restored&lt;br /&gt;
|-&lt;br /&gt;
| LOWBAT_RESTORE&lt;br /&gt;
| *74&lt;br /&gt;
| Indicates that the low battery has been restored&lt;br /&gt;
|-&lt;br /&gt;
| RFLOWBAT_RESTORE&lt;br /&gt;
| *75&lt;br /&gt;
| Indicates that the low battery on the RF transmitter has been restored.&lt;br /&gt;
|-&lt;br /&gt;
| TEST_RESTORE&lt;br /&gt;
| *76&lt;br /&gt;
| Indicates that a zone was restored in testing mode&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_PANIC&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there is a panic&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_FIRE&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there is a fire&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_ENTRY&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there was an entry alarm&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_AUX&lt;br /&gt;
| &lt;br /&gt;
| Indicates that an auxiliary alarm type was triggered&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_AUDIBLE&lt;br /&gt;
| &lt;br /&gt;
| Indicates that an audible alarm is in progress&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_SILENT&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there was a silent alarm&lt;br /&gt;
|-&lt;br /&gt;
| ALARM_PERIMETER&lt;br /&gt;
| &lt;br /&gt;
| Indicates that there was a perimeter alarm&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==AUI==&lt;br /&gt;
AUI messages are generated for &amp;quot;Advanced User Interface&amp;quot; keypads.  These include a lot of extra data than what's destined for regular keypads.&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !AUI Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!AUI&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;126600000000656c02456cf5ec01017f0002&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | AUI Data&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !AUI&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 126600000000656c02456cf5ec01017f0002&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;AUI Data&amp;lt;/span&amp;gt;====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Keypress Events==&lt;br /&gt;
Keypress events are generated when keys are pressed on a keypad and can be enabled inside [[#CONFIGBITS|CONFIGBITS]].&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ !KPE Format&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #DEDEDE; font-weight: bold&amp;quot; | &amp;lt;span style=&amp;quot;color: #F56464&amp;quot;&amp;gt;!KPE&amp;lt;/span&amp;gt;:&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;18&amp;lt;/span&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|- &lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;80px&amp;quot; style=&amp;quot;color: #F56464&amp;quot; | Header&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;100px&amp;quot; style=&amp;quot;color: #8C8CF5&amp;quot; | Keypad Address&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | !KPE&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | 18&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;span style=&amp;quot;color: #8C8CF5&amp;quot;&amp;gt;Keypad Address&amp;lt;/span&amp;gt;====&lt;br /&gt;
This is the address of the keypad that generated the event.&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/Supported_Panels</id>
		<title>Supported Panels</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/Supported_Panels"/>
				<updated>2015-09-03T01:23:24Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: /* Panels */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; __TOC__ &lt;br /&gt;
[[Category:FAQ]]&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Specifications]]&lt;br /&gt;
[[Category:Features]]&lt;br /&gt;
== Ademco / Honeywell Systems ==&lt;br /&gt;
; The AlarmDecoder was designed to work with any alarm from the Ademco/Honeywell Vista series from the 90's right up to the latest 2013 Honeywell Vista 21IP and more recently DSC Power series alarms.  This document will help identify if a given panel is compatible with the AlarmDecoder. Many of these alarm panels were sold under different names branded by the alarm monitoring company for example '''Safewatch Pro 3000/3000CN''' which is actually a '''Vista 20P'''.&lt;br /&gt;
&lt;br /&gt;
* Note: The Ademco LYNX Systems are NOT compatible as they do not support the 4 wire expansion bus the AlarmDecoder connects to.&lt;br /&gt;
&lt;br /&gt;
; If '''after''' reading this you still are not sure if your panel is supported and are interested in the AlarmDecoder then send us an email with a picture of your alarm panel filling the full frame of your camera and we will check it out. (Please provide a general statement of release for the photo as we may use them on the website to help others.)&lt;br /&gt;
&lt;br /&gt;
===Keypads===&lt;br /&gt;
; The AlarmDecoder is compatible with any alarm that is also compatible with one of these Ademco/Honeywell keypads.&lt;br /&gt;
{| summary=&amp;quot;Examples of supported keypads&amp;quot;&lt;br /&gt;
|[[File:5839.jpg|thumb|5839]]&lt;br /&gt;
|[[File:6128.jpg|thumb|6127 &amp;amp; 6129]]&lt;br /&gt;
|[[File:6138.jpg|thumb|6138]]&lt;br /&gt;
|[[File:6139.jpg|thumb|&amp;gt;6139]]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:6148.jpg|thumb|6148]]&lt;br /&gt;
|[[File:6150.jpg|thumb|6150]]&lt;br /&gt;
|[[File:6150rf.jpg|thumb|6150RF]]&lt;br /&gt;
|[[File:6160CR.jpg|thumb|6160CR]]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:6160.jpg|thumb|6160]]&lt;br /&gt;
|[[File:6160V.jpg|thumb|6160V]]&lt;br /&gt;
|[[File:6164.jpg|thumb|6164]]&lt;br /&gt;
|[[File:6270_pr.jpg|thumb|6270]]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:6271v.jpg|thumb|6271V]]&lt;br /&gt;
|[[File:blankimage.png|thumb|6128]]&lt;br /&gt;
|[[File:blankimage.png|thumb|6128RF]]&lt;br /&gt;
|[[File:LynxPlus_pr.jpg|thumb|LYNX Touch(L5100)]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Panels===&lt;br /&gt;
; This is a partial list.  Many supported panels were sold under different names and model numbers so here are some tips for seeing if your panel will be compatible.&lt;br /&gt;
&lt;br /&gt;
* Look for a large wiring sticker inside the panel enclosure that shows the word(s): Vista, Ademco, Honeywell, etc.&lt;br /&gt;
* Look on the panel for words like SAVS and a series of letters and numbers like SAVS'''20P'''5 or SAVS'''10SE'''CE.  The model number is embedded inside this string of characters as demonstrated here.&lt;br /&gt;
&lt;br /&gt;
{| summary=&amp;quot;Examples of supported keypads&amp;quot;&lt;br /&gt;
|[[File:10se.jpg|thumb|Vista 10SE]]&lt;br /&gt;
|[[File:20P.jpg|thumb|Vista 20P]]&lt;br /&gt;
|[[File:30se.jpg|thumb|Vista 30SE]]&lt;br /&gt;
|[[File:21IP.jpg|thumb|Vista 21IP]]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:128BP.jpg|thumb|Vista 128BP]]&lt;br /&gt;
|[[File:blankimage.png|thumb|Vista 10P]]&lt;br /&gt;
|[[File:blankimage.png|thumb|Vista 15P]]&lt;br /&gt;
|[[File:blankimage.png|thumb|Vista 20SE]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==DSC Systems==&lt;br /&gt;
; We now support the DSC Power series alarm panels. This requires beta [[Firmware|firmware 2.2a.8]] or later.  This is still in beta and new features are being added every month.&lt;br /&gt;
===Panels===&lt;br /&gt;
{| summary=&amp;quot;Examples of supported DSC panels&amp;quot;&lt;br /&gt;
|[[File:pcb-580.gif|thumb|DSC Power 432/ PC-580]]&lt;br /&gt;
|[[File:Pcb-1555.gif |thumb|DSC Power 632 / PC-1555]]&lt;br /&gt;
|[[File:Pcb-5010.gif|thumb|DSC Power 832 / PC-5010]]&lt;br /&gt;
|[[File:Pcb-5020.gif|thumb|DSC Power 864 / PC-5020]]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:PC1864.jpg|thumb|DSC PowerSeries Control Panel PC1616]]&lt;br /&gt;
|[[File:PC1864.jpg|thumb|DSC PowerSeries Control Panel PC1832]]&lt;br /&gt;
|[[File:PC1864.jpg|thumb|DSC PowerSeries Control Panel PC1864]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/File:PC1864.jpg</id>
		<title>File:PC1864.jpg</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/File:PC1864.jpg"/>
				<updated>2015-09-03T01:22:52Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: Same general design as 1843 and 1616.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Same general design as 1843 and 1616.&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/Supported_Panels</id>
		<title>Supported Panels</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/Supported_Panels"/>
				<updated>2015-09-03T01:21:47Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: /* Panels */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; __TOC__ &lt;br /&gt;
[[Category:FAQ]]&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Specifications]]&lt;br /&gt;
[[Category:Features]]&lt;br /&gt;
== Ademco / Honeywell Systems ==&lt;br /&gt;
; The AlarmDecoder was designed to work with any alarm from the Ademco/Honeywell Vista series from the 90's right up to the latest 2013 Honeywell Vista 21IP and more recently DSC Power series alarms.  This document will help identify if a given panel is compatible with the AlarmDecoder. Many of these alarm panels were sold under different names branded by the alarm monitoring company for example '''Safewatch Pro 3000/3000CN''' which is actually a '''Vista 20P'''.&lt;br /&gt;
&lt;br /&gt;
* Note: The Ademco LYNX Systems are NOT compatible as they do not support the 4 wire expansion bus the AlarmDecoder connects to.&lt;br /&gt;
&lt;br /&gt;
; If '''after''' reading this you still are not sure if your panel is supported and are interested in the AlarmDecoder then send us an email with a picture of your alarm panel filling the full frame of your camera and we will check it out. (Please provide a general statement of release for the photo as we may use them on the website to help others.)&lt;br /&gt;
&lt;br /&gt;
===Keypads===&lt;br /&gt;
; The AlarmDecoder is compatible with any alarm that is also compatible with one of these Ademco/Honeywell keypads.&lt;br /&gt;
{| summary=&amp;quot;Examples of supported keypads&amp;quot;&lt;br /&gt;
|[[File:5839.jpg|thumb|5839]]&lt;br /&gt;
|[[File:6128.jpg|thumb|6127 &amp;amp; 6129]]&lt;br /&gt;
|[[File:6138.jpg|thumb|6138]]&lt;br /&gt;
|[[File:6139.jpg|thumb|&amp;gt;6139]]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:6148.jpg|thumb|6148]]&lt;br /&gt;
|[[File:6150.jpg|thumb|6150]]&lt;br /&gt;
|[[File:6150rf.jpg|thumb|6150RF]]&lt;br /&gt;
|[[File:6160CR.jpg|thumb|6160CR]]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:6160.jpg|thumb|6160]]&lt;br /&gt;
|[[File:6160V.jpg|thumb|6160V]]&lt;br /&gt;
|[[File:6164.jpg|thumb|6164]]&lt;br /&gt;
|[[File:6270_pr.jpg|thumb|6270]]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:6271v.jpg|thumb|6271V]]&lt;br /&gt;
|[[File:blankimage.png|thumb|6128]]&lt;br /&gt;
|[[File:blankimage.png|thumb|6128RF]]&lt;br /&gt;
|[[File:LynxPlus_pr.jpg|thumb|LYNX Touch(L5100)]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Panels===&lt;br /&gt;
; This is a partial list.  Many supported panels were sold under different names and model numbers so here are some tips for seeing if your panel will be compatible.&lt;br /&gt;
&lt;br /&gt;
* Look for a large wiring sticker inside the panel enclosure that shows the word(s): Vista, Ademco, Honeywell, etc.&lt;br /&gt;
* Look on the panel for words like SAVS and a series of letters and numbers like SAVS'''20P'''5 or SAVS'''10SE'''CE.  The model number is embedded inside this string of characters as demonstrated here.&lt;br /&gt;
&lt;br /&gt;
{| summary=&amp;quot;Examples of supported keypads&amp;quot;&lt;br /&gt;
|[[File:10se.jpg|thumb|Vista 10SE]]&lt;br /&gt;
|[[File:20P.jpg|thumb|Vista 20P]]&lt;br /&gt;
|[[File:30se.jpg|thumb|Vista 30SE]]&lt;br /&gt;
|[[File:21IP.jpg|thumb|Vista 21IP]]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:128BP.jpg|thumb|Vista 128BP]]&lt;br /&gt;
|[[File:blankimage.png|thumb|Vista 10P]]&lt;br /&gt;
|[[File:blankimage.png|thumb|Vista 15P]]&lt;br /&gt;
|[[File:blankimage.png|thumb|Vista 20SE]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==DSC Systems==&lt;br /&gt;
; We now support the DSC Power series alarm panels. This requires beta [[Firmware|firmware 2.2a.8]] or later.  This is still in beta and new features are being added every month.&lt;br /&gt;
===Panels===&lt;br /&gt;
{| summary=&amp;quot;Examples of supported DSC panels&amp;quot;&lt;br /&gt;
|[[File:pcb-580.gif|thumb|DSC Power 432/ PC-580]]&lt;br /&gt;
|[[File:Pcb-1555.gif |thumb|DSC Power 632 / PC-1555]]&lt;br /&gt;
|[[File:Pcb-5010.gif|thumb|DSC Power 832 / PC-5010]]&lt;br /&gt;
|[[File:Pcb-5020.gif|thumb|DSC Power 864 / PC-5020]]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:PC1864.jpg|thumb|DSC PowerSeries Control Panel PC1616]]&lt;br /&gt;
|[[File:PC1864.jpg|thumb|DSC PowerSeries Control Panel PC1832]]&lt;br /&gt;
|[[File:PC1864.jpg|thumb|DSC PowerSeries Control Panel PC1864]]&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/AlarmDecoder_WebApp</id>
		<title>AlarmDecoder WebApp</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/AlarmDecoder_WebApp"/>
				<updated>2015-08-24T19:29:51Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: /* Configure IP Cameras */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; __TOC__&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:FAQ]]&lt;br /&gt;
[[Category:Downloads]]&lt;br /&gt;
[[Category:Features]]&lt;br /&gt;
&lt;br /&gt;
=AlarmDecoder WebApp=&lt;br /&gt;
==Overview==&lt;br /&gt;
; The official AlarmDecoder WebApp.  Control your alarm system from your web browser on nearly any device.  Supports all of the AlarmDecoder devices including the AD2USB, AD2SERIAL, and AD2PI.&lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
* Multiple User Accounts&lt;br /&gt;
* Web-based keypad for your alarm system&lt;br /&gt;
* Notifications on alarm events&lt;br /&gt;
* Per-user notifications&lt;br /&gt;
* IP Camera integration&lt;br /&gt;
* Supports all functionality of AlarmDecoder devices&lt;br /&gt;
* Configure your AlarmDecoder device&lt;br /&gt;
* Configure network sharing of your AlarmDecoder device&lt;br /&gt;
* Support for PC/Mac/Linux as well as Mobile and Tablet browsers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:webappkeypad.png|border|Keypad Interface]]&lt;br /&gt;
; The AlarmDecoder WebApp Keypad Interface&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
; The easiest way to install the WebApp is by downloading our pre-built Raspbian image [http://www.alarmdecoder.com/wiki/index.php/Raspberry_Pi here].  However, you can follow the manual installation instructions provided on our github repository [https://github.com/nutechsoftware/alarmdecoder-webapp here]&lt;br /&gt;
&lt;br /&gt;
==Initial Setup==&lt;br /&gt;
; Once the AlarmDecoder WebApp is started (it can take some time to initially start) you may connect to the Application via a web browser and pointing the URL to http://alarmdecoder.local - if this name resolution fails and you are on a Windows System, please download [https://support.apple.com/kb/DL999?locale=en_US Bonjour For Windows] and try again.  This will take you to our first setup screens which will be detailed below.  The device is initially configured for DHCP.&lt;br /&gt;
&lt;br /&gt;
'''IF YOU BOUGHT A BUNDLE FROM US, IT IS ALREADY SET UP.  YOU ONLY NEED TO GO THROUGH SETUP IF YOU NEED TO CHANGE DEFAULT ADDRESS OF DEVICE OTHERWISE CHECK [[Raspberry_Pi|HERE]] FOR DEFAULT PASSWORDS AND CHANGE THEM ACCORDINGLY'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Setup Process Detail===&lt;br /&gt;
; This is your first setup screen when you first visit via your browser&lt;br /&gt;
[[File:01_initial_setup.png|800px|border|First Setup Screen]]&lt;br /&gt;
; Click &amp;quot;Start!&amp;quot; to continue&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Next we will be taken to the device selection screen&lt;br /&gt;
[[File:02_device_type_settings.png|800px|border|Device Type Screen]]&lt;br /&gt;
; Here you are able to select what type of device (AD2USB, AD2SERIAL, AD2PI) as well as the device's location.&lt;br /&gt;
* [[#Local Device]] means the device is connected to the same computer running the WebApp&lt;br /&gt;
* [[#Network Device]] means you have already exposed an AlarmDecoder via ser2sock&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Local Device====&lt;br /&gt;
; If you choose Local Device, this next screen is what you are presented with&lt;br /&gt;
[[File:03_local_device_settings.png|800px|border|Local Device Settings]]&lt;br /&gt;
; Here you will choose your device path and baud rate, usually defaults are fine for the device you chose&lt;br /&gt;
; If you choose &amp;quot;Share AlarmDecoder on your network?&amp;quot; you will be taken to configure ser2sock shown below&lt;br /&gt;
[[File:04_ser2sock_configuration.png|800px|border|Setup Ser2sock]]&lt;br /&gt;
; On this screen you are able to specify the path to your ser2sock configuration file, your hostname or IP address to listen on, as well as the ser2sock port to listen on.  Defaults will work fine.   SSL will force ser2sock into SSL mode - this is typically not needed for your internal network.&lt;br /&gt;
* ser2sock Port is different from the HTTP/WSGI ports - do not choose 80, 443, or 5000.&lt;br /&gt;
&lt;br /&gt;
Skip to [[#Configure Device]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Network Device====&lt;br /&gt;
; If you chose network device instead of local device, you are presented with this screen instead&lt;br /&gt;
[[File:05_network_device_settings.png|800px|border|Network Device Setup]]&lt;br /&gt;
; If you have an AlarmDecoder device shared on your network already via ser2sock, here you can specify the hostname and port for the WebApp to connect to the shared device.&lt;br /&gt;
&lt;br /&gt;
====Configure Device====&lt;br /&gt;
; Once you have told the WebApp what kind of device you have and where it is, you will be presented with a page to configure the AlarmDecoder device itself&lt;br /&gt;
[[File:06_alarmdecoder_settings.png|800px|border|AlarmDecoder Device Settings]]&lt;br /&gt;
; Make sure to set your address correctly!  31 for SE Panels, and for 20P Panels you will have to program an address spot into your panel and assign the AlarmDecoder the newly enabled address.  See [[http://www.alarmdecoder.com/wiki/index.php/Panel_Configuration Panel Configuration]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; After you have completed all of the above steps, you will be taken to a Device Testing screen&lt;br /&gt;
[[File:07_device_testing.png|800px|border|Device Testing]]&lt;br /&gt;
; If any of these tests fail, please make sure your device is configured properly and installed properly.&lt;br /&gt;
;Here is an example of a successful device test&lt;br /&gt;
[[File:Success_device_testing.png|800px|border|Device Testing Success]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Once the device is communicating properly, you will be redirected to a page to create an initial user to log in to the WebApp&lt;br /&gt;
[[File:08_create_initial_account.png|800px|border|Initial User Creation]]&lt;br /&gt;
; After you have created your user, feel free to login and use the WebApp!&lt;br /&gt;
&lt;br /&gt;
==Configure Notifications==&lt;br /&gt;
; Once you are logged in, go to Settings and click on Notifications.  From there, you can edit already configured notifications or click &amp;quot;New Notification&amp;quot; to create a new notification.&lt;br /&gt;
&lt;br /&gt;
[[File:Notifications_main.png|800px|border|Main Notification Interface]]&lt;br /&gt;
; This is the main interface for creating and listing notifications.  Here you can choose to create new or edit existing notifications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Notification_types.png|400px|border|List of Notification Types]]&lt;br /&gt;
; Here is a list of all current supported notification types.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Notification_common_settings.png|800px|border|List of Items to be Notified On]]&lt;br /&gt;
; Here is a list of all of the events that can trigger a notification.  You are able to select which ones you would like to see.  You can also have different notification types alert you for different kinds of notifications.   This interface is common to all notification types.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Email===&lt;br /&gt;
[[File:Notification_email_example.png|800px|border|Email Notification Example using gmail settings]]&lt;br /&gt;
; Here is an example email notification form using gmail settings for example&lt;br /&gt;
* Source Address - Emails appear &amp;quot;From&amp;quot; this address&lt;br /&gt;
* Destination Address - Emails will go &amp;quot;To&amp;quot; this address&lt;br /&gt;
* Email Subject - Emails will contain this subject line&lt;br /&gt;
* Email Server - The server to connect to when sending emails&lt;br /&gt;
* Server Port - The port of the email server to connect to&lt;br /&gt;
* Use TLS? - Enable Transport Layer Security for the session&lt;br /&gt;
* Authenticate with email server? - If a username and password is required by the email server to send, supply them&lt;br /&gt;
* Username - Your email username&lt;br /&gt;
* Password - Your email password&lt;br /&gt;
&lt;br /&gt;
===SMS via Twilio===&lt;br /&gt;
[[File:Twilio_example.png|800px|border|Example of Twilio Notification Configuration]]&lt;br /&gt;
; Here is an example of a Twilio Notification configuration&lt;br /&gt;
* Account SID - Your Twilio Account SID&lt;br /&gt;
* Auth Token - Your Twilio User Auth Token&lt;br /&gt;
* To - Number to Send SMS to&lt;br /&gt;
* From - Your valid Twilio Phone Number&lt;br /&gt;
&lt;br /&gt;
===Google Talk===&lt;br /&gt;
[[File:Googletalk_example.png|800px|border|Example of Google Talk Notification Configuration]]&lt;br /&gt;
; Here is an example of a Google Talk Notification configuration&lt;br /&gt;
* Source Address - Messages will come FROM this address&lt;br /&gt;
* Password - The password for the SOURCE account&lt;br /&gt;
* Destination Address - Messages will go to this address&lt;br /&gt;
&lt;br /&gt;
===Pushover.net===&lt;br /&gt;
[[File:Pushover_example.png|800px|border|Example of Pushover.net Notification Configuration]]&lt;br /&gt;
; Here is the configuration for a Pushover.net notification&lt;br /&gt;
* API Token - The API Token provided by Pushover for your User&lt;br /&gt;
* User/Group Key - The User or Group Key for your account at Pushover&lt;br /&gt;
* Message Priority - In what priority do you want alarm panel notifications&lt;br /&gt;
* Title of Message - Messages sent to Pushover are titled with this text&lt;br /&gt;
&lt;br /&gt;
===Prowl===&lt;br /&gt;
[[File:Prowl_example.png|800px|border|Example of Prowl Notification Configuration]]&lt;br /&gt;
; Here is an example of a Prowl notification configuration&lt;br /&gt;
* API Key - Your Prowl API Key&lt;br /&gt;
* Application Name - Application to Show in Notifications&lt;br /&gt;
* Message Priority - What priority do you want alarm panel notifications to come through as&lt;br /&gt;
&lt;br /&gt;
===NotifyMyAndroid===&lt;br /&gt;
[[File:Notifymyandroid_example.png|800px|border|Example of NotifyMyAndroid configuration]]&lt;br /&gt;
; Here is an example of a NotifyMyAndroid notification configuration&lt;br /&gt;
* API Key - Your NotifyMyAndroid API Key&lt;br /&gt;
* Application Name - Application Name to show in notifications&lt;br /&gt;
* Message Priority - What priority do you want Alarm Panel notifications to come through?&lt;br /&gt;
&lt;br /&gt;
===Growl===&lt;br /&gt;
[[File:Growl_example.png|800px|border|Example of a Growl Notification]]&lt;br /&gt;
; An example of a Growl Notification configuration&lt;br /&gt;
* Hostname - The Growl server to send notification to&lt;br /&gt;
* Port - The Growl Server Port&lt;br /&gt;
* Password - The password for the Growl server&lt;br /&gt;
* Title - Notification Title&lt;br /&gt;
* Message Priority - What priority do you want these messages to come through as?&lt;br /&gt;
&lt;br /&gt;
===Custom URL POST===&lt;br /&gt;
[[File:Custom_example.png|800px|border|Example of a Custom POST notification]]&lt;br /&gt;
; Here is an example configuration for a Custom POST notification&lt;br /&gt;
* POST URL - URL of server to POST data to&lt;br /&gt;
* POST Path - Location on server from URL to post to&lt;br /&gt;
* SSL? - Is the URL SSL or Not&lt;br /&gt;
* POST Type - urlencoded, JSON, or XML POST types supported&lt;br /&gt;
* Custom Values - Here you are able to create your own key/value pairs to send with your notification&lt;br /&gt;
&lt;br /&gt;
==Custom Buttons==&lt;br /&gt;
; Under settings-&amp;gt;Keypad you can define a set of custom buttons which when defined will appear on your keypad as well as your camera view pages.&lt;br /&gt;
; Each user can define their own custom buttons&lt;br /&gt;
[[File:Custom_button_list.png|border|800px|Custom Button List]]&lt;br /&gt;
; These buttons send exactly the set of keypresses defined by the user to the alarm&lt;br /&gt;
; Example - Define a Quick Arm button - press it to instantly arm the alarm&lt;br /&gt;
[[File:Create_custom_button.png|border|800px|Create Custom Button]]&lt;br /&gt;
[[File:Custom_button_on_keypad.png|border|800px|Custom Button on Keypad Page]]&lt;br /&gt;
&lt;br /&gt;
==Configure IP Cameras==&lt;br /&gt;
; '''If you are not using our image, or an older version of the image, you must perform a few steps to enable Camera Support'''&lt;br /&gt;
* in the contrib directory of the webapp there is an opencv directory&lt;br /&gt;
* in the opencv directory execute&lt;br /&gt;
**sudo sh opencv.sh&lt;br /&gt;
&lt;br /&gt;
* Once this is done and installed, you can then configure and view a camera.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Camera_list.png|800px|border|Example of Camera Listings]]&lt;br /&gt;
; Here you see the interface where it lists current cameras as well as a button for creating a new camera.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Create_camera.png|800px|border|Example of Creating Camera]]&lt;br /&gt;
; Here we are creating a camera for view in the system&lt;br /&gt;
* Name - The name of the camera for display purposes&lt;br /&gt;
* Snapshot URL - The full URL of the motion jpeg stream for your IP camera&lt;br /&gt;
* Username - The username for authenticating to the camera&lt;br /&gt;
* Password - The password for authenticating to the camera&lt;br /&gt;
&lt;br /&gt;
==Host Settings==&lt;br /&gt;
; Found under settings-&amp;gt;Host&lt;br /&gt;
[[File:Host_settings.png|800px|border|Example of Host Settings Page]]&lt;br /&gt;
; Here you are able to configure your device's hostname, networking, as well as reboot and shutdown the device.&lt;br /&gt;
===Reboot Device===&lt;br /&gt;
; Found under settings-&amp;gt;Host&lt;br /&gt;
; Click Reboot button&lt;br /&gt;
===Shutdown Device===&lt;br /&gt;
; Found under settings-&amp;gt;Host&lt;br /&gt;
; Click Shutdown button&lt;br /&gt;
&lt;br /&gt;
==Add Users==&lt;br /&gt;
;Under Settings, click on Users - you will be presented with this screen:&lt;br /&gt;
[[File:User_list.png|800px|border|User List]]&lt;br /&gt;
;Here you are able to edit current users, or create new users.&lt;br /&gt;
&lt;br /&gt;
;By clicking New User, you are then taken to this screen:&lt;br /&gt;
[[File:Create_user.png|800px|border|New User Screen]]&lt;br /&gt;
;Here you fill out the user's details and save.   The user can now login to the webapp.&lt;br /&gt;
&lt;br /&gt;
==Configuring SSL==&lt;br /&gt;
'''This is now enabled by default as of the 05-22-2015 software release.'''&lt;br /&gt;
&lt;br /&gt;
;SSH into your raspberry pi&lt;br /&gt;
;First you must create your SSL certificates and put them in the correct location&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/alarmdecoder.key -out /etc/nginx/ssl/alarmdecoder.crt&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
;Just make sure to fill in the values correctly for your certificate when prompted.&lt;br /&gt;
&lt;br /&gt;
;Next you must edit your nginx alarmdecoder config under /etc/nginx/sites-enabled/alarmdecoder&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
server {&lt;br /&gt;
   listen 80;&lt;br /&gt;
   return 301 https://$host$request_uri;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
server {&lt;br /&gt;
    error_page 502 /502.html;&lt;br /&gt;
&lt;br /&gt;
    listen 443 default_server ssl;&lt;br /&gt;
&lt;br /&gt;
    ssl_certificate /etc/nginx/ssl/alarmdecoder.crt;&lt;br /&gt;
    ssl_certificate_key /etc/nginx/ssl/alarmdecoder.key;&lt;br /&gt;
&lt;br /&gt;
    #ssl on;&lt;br /&gt;
    ssl_session_cache builtin:1000 shared:SSL:10m;&lt;br /&gt;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;&lt;br /&gt;
    #ssl_ciphers HIGH:MEDIUM:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;&lt;br /&gt;
    ssl_ciphers &amp;quot;ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4&amp;quot;;&lt;br /&gt;
    ssl_prefer_server_ciphers on;&lt;br /&gt;
&lt;br /&gt;
    #error_page 497 https://$host:$server_port$request_uri;&lt;br /&gt;
&lt;br /&gt;
    gzip on;&lt;br /&gt;
    gzip_disable &amp;quot;msie6&amp;quot;;&lt;br /&gt;
    gzip_vary on;&lt;br /&gt;
    gzip_proxied any;&lt;br /&gt;
    gzip_comp_level 6;&lt;br /&gt;
    gzip_buffers 16 4k;&lt;br /&gt;
    gzip_http_version 1.1;&lt;br /&gt;
    gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;&lt;br /&gt;
&lt;br /&gt;
    location / { &lt;br /&gt;
        try_files $uri @alarmdecoder; &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    location @alarmdecoder {&lt;br /&gt;
        proxy_pass http://127.0.0.1:5000;&lt;br /&gt;
        include uwsgi_params;&lt;br /&gt;
        uwsgi_param UWSGI_SCHEME $scheme;&lt;br /&gt;
        uwsgi_param SERVER_SOFTWARE nginx/$nginx_version;&lt;br /&gt;
&lt;br /&gt;
        proxy_redirect off;&lt;br /&gt;
        proxy_http_version 1.1;&lt;br /&gt;
        proxy_set_header Upgrade $http_upgrade;&lt;br /&gt;
        proxy_set_header Connection &amp;quot;upgrade&amp;quot;;&lt;br /&gt;
        proxy_set_header Host $http_host;&lt;br /&gt;
        proxy_set_header X-Real-IP $remote_addr;&lt;br /&gt;
        proxy_set_header X-Forwarded-Proto $scheme;&lt;br /&gt;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;&lt;br /&gt;
        proxy_set_header X-Forwarded-Host $server_name;&lt;br /&gt;
        proxy_set_header X-Scheme $scheme;&lt;br /&gt;
        proxy_redirect http://localhost:5000 https://$host;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    location /502.html {&lt;br /&gt;
        root /opt/alarmdecoder-webapp/ad2web/static;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    location ~ \.(jpg|jpeg|png|css|js)$ {&lt;br /&gt;
        root /opt/alarmdecoder-webapp/ad2web;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
;After this, restart the nginx service and you will have forced SSL.&lt;br /&gt;
&lt;br /&gt;
==Port Forwarding==&lt;br /&gt;
;To access your WebApplication outside of your network, first you must do a &amp;quot;port forwarding&amp;quot; operation on your networking router/firewall - a NAT.&lt;br /&gt;
;Some ISPs filter standard server ports, so sometimes you will have to choose an external port that is not filtered.  (Not 80, 25, 443).&lt;br /&gt;
;As an example, you may want to forward port 4443 on the outside network to port 443 of your Network Appliance.   You then would hit your external IP Address on port 4443 from your web browser.   https://public_ip_address:4443 which would then forward to port 443 of the network appliance - in SSL mode for security.&lt;br /&gt;
==Diagnostics==&lt;br /&gt;
; A Diagnostics Screen is provided under settings-&amp;gt;Diagnostics&lt;br /&gt;
; This screen will allow you to test the functionality of the AlarmDecoder device as well as showing information about required modules.&lt;br /&gt;
[[File:Diagnostics_screen.png|border|800px|Diagnostics Screen]]&lt;br /&gt;
&lt;br /&gt;
==Disclaimers==&lt;br /&gt;
; All other trademarks are the property of their respective owners.&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/File:Custom_button_on_keypad.png</id>
		<title>File:Custom button on keypad.png</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/File:Custom_button_on_keypad.png"/>
				<updated>2015-08-24T19:27:43Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: Screen showing the custom button interface open on the Keypad page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Screen showing the custom button interface open on the Keypad page&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/File:Custom_button_list.png</id>
		<title>File:Custom button list.png</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/File:Custom_button_list.png"/>
				<updated>2015-08-24T19:27:04Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: Screen showing a list of defined custom buttons for the user&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Screen showing a list of defined custom buttons for the user&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/File:Create_custom_button.png</id>
		<title>File:Create custom button.png</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/File:Create_custom_button.png"/>
				<updated>2015-08-24T19:26:28Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: Screen showing the creation of a custom button&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Screen showing the creation of a custom button&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/AlarmDecoder_WebApp</id>
		<title>AlarmDecoder WebApp</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/AlarmDecoder_WebApp"/>
				<updated>2015-08-24T19:22:05Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: /* Diagnostics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; __TOC__&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:FAQ]]&lt;br /&gt;
[[Category:Downloads]]&lt;br /&gt;
[[Category:Features]]&lt;br /&gt;
&lt;br /&gt;
=AlarmDecoder WebApp=&lt;br /&gt;
==Overview==&lt;br /&gt;
; The official AlarmDecoder WebApp.  Control your alarm system from your web browser on nearly any device.  Supports all of the AlarmDecoder devices including the AD2USB, AD2SERIAL, and AD2PI.&lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
* Multiple User Accounts&lt;br /&gt;
* Web-based keypad for your alarm system&lt;br /&gt;
* Notifications on alarm events&lt;br /&gt;
* Per-user notifications&lt;br /&gt;
* IP Camera integration&lt;br /&gt;
* Supports all functionality of AlarmDecoder devices&lt;br /&gt;
* Configure your AlarmDecoder device&lt;br /&gt;
* Configure network sharing of your AlarmDecoder device&lt;br /&gt;
* Support for PC/Mac/Linux as well as Mobile and Tablet browsers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:webappkeypad.png|border|Keypad Interface]]&lt;br /&gt;
; The AlarmDecoder WebApp Keypad Interface&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
; The easiest way to install the WebApp is by downloading our pre-built Raspbian image [http://www.alarmdecoder.com/wiki/index.php/Raspberry_Pi here].  However, you can follow the manual installation instructions provided on our github repository [https://github.com/nutechsoftware/alarmdecoder-webapp here]&lt;br /&gt;
&lt;br /&gt;
==Initial Setup==&lt;br /&gt;
; Once the AlarmDecoder WebApp is started (it can take some time to initially start) you may connect to the Application via a web browser and pointing the URL to http://alarmdecoder.local - if this name resolution fails and you are on a Windows System, please download [https://support.apple.com/kb/DL999?locale=en_US Bonjour For Windows] and try again.  This will take you to our first setup screens which will be detailed below.  The device is initially configured for DHCP.&lt;br /&gt;
&lt;br /&gt;
'''IF YOU BOUGHT A BUNDLE FROM US, IT IS ALREADY SET UP.  YOU ONLY NEED TO GO THROUGH SETUP IF YOU NEED TO CHANGE DEFAULT ADDRESS OF DEVICE OTHERWISE CHECK [[Raspberry_Pi|HERE]] FOR DEFAULT PASSWORDS AND CHANGE THEM ACCORDINGLY'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Setup Process Detail===&lt;br /&gt;
; This is your first setup screen when you first visit via your browser&lt;br /&gt;
[[File:01_initial_setup.png|800px|border|First Setup Screen]]&lt;br /&gt;
; Click &amp;quot;Start!&amp;quot; to continue&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Next we will be taken to the device selection screen&lt;br /&gt;
[[File:02_device_type_settings.png|800px|border|Device Type Screen]]&lt;br /&gt;
; Here you are able to select what type of device (AD2USB, AD2SERIAL, AD2PI) as well as the device's location.&lt;br /&gt;
* [[#Local Device]] means the device is connected to the same computer running the WebApp&lt;br /&gt;
* [[#Network Device]] means you have already exposed an AlarmDecoder via ser2sock&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Local Device====&lt;br /&gt;
; If you choose Local Device, this next screen is what you are presented with&lt;br /&gt;
[[File:03_local_device_settings.png|800px|border|Local Device Settings]]&lt;br /&gt;
; Here you will choose your device path and baud rate, usually defaults are fine for the device you chose&lt;br /&gt;
; If you choose &amp;quot;Share AlarmDecoder on your network?&amp;quot; you will be taken to configure ser2sock shown below&lt;br /&gt;
[[File:04_ser2sock_configuration.png|800px|border|Setup Ser2sock]]&lt;br /&gt;
; On this screen you are able to specify the path to your ser2sock configuration file, your hostname or IP address to listen on, as well as the ser2sock port to listen on.  Defaults will work fine.   SSL will force ser2sock into SSL mode - this is typically not needed for your internal network.&lt;br /&gt;
* ser2sock Port is different from the HTTP/WSGI ports - do not choose 80, 443, or 5000.&lt;br /&gt;
&lt;br /&gt;
Skip to [[#Configure Device]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Network Device====&lt;br /&gt;
; If you chose network device instead of local device, you are presented with this screen instead&lt;br /&gt;
[[File:05_network_device_settings.png|800px|border|Network Device Setup]]&lt;br /&gt;
; If you have an AlarmDecoder device shared on your network already via ser2sock, here you can specify the hostname and port for the WebApp to connect to the shared device.&lt;br /&gt;
&lt;br /&gt;
====Configure Device====&lt;br /&gt;
; Once you have told the WebApp what kind of device you have and where it is, you will be presented with a page to configure the AlarmDecoder device itself&lt;br /&gt;
[[File:06_alarmdecoder_settings.png|800px|border|AlarmDecoder Device Settings]]&lt;br /&gt;
; Make sure to set your address correctly!  31 for SE Panels, and for 20P Panels you will have to program an address spot into your panel and assign the AlarmDecoder the newly enabled address.  See [[http://www.alarmdecoder.com/wiki/index.php/Panel_Configuration Panel Configuration]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; After you have completed all of the above steps, you will be taken to a Device Testing screen&lt;br /&gt;
[[File:07_device_testing.png|800px|border|Device Testing]]&lt;br /&gt;
; If any of these tests fail, please make sure your device is configured properly and installed properly.&lt;br /&gt;
;Here is an example of a successful device test&lt;br /&gt;
[[File:Success_device_testing.png|800px|border|Device Testing Success]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Once the device is communicating properly, you will be redirected to a page to create an initial user to log in to the WebApp&lt;br /&gt;
[[File:08_create_initial_account.png|800px|border|Initial User Creation]]&lt;br /&gt;
; After you have created your user, feel free to login and use the WebApp!&lt;br /&gt;
&lt;br /&gt;
==Configure Notifications==&lt;br /&gt;
; Once you are logged in, go to Settings and click on Notifications.  From there, you can edit already configured notifications or click &amp;quot;New Notification&amp;quot; to create a new notification.&lt;br /&gt;
&lt;br /&gt;
[[File:Notifications_main.png|800px|border|Main Notification Interface]]&lt;br /&gt;
; This is the main interface for creating and listing notifications.  Here you can choose to create new or edit existing notifications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Notification_types.png|400px|border|List of Notification Types]]&lt;br /&gt;
; Here is a list of all current supported notification types.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Notification_common_settings.png|800px|border|List of Items to be Notified On]]&lt;br /&gt;
; Here is a list of all of the events that can trigger a notification.  You are able to select which ones you would like to see.  You can also have different notification types alert you for different kinds of notifications.   This interface is common to all notification types.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Email===&lt;br /&gt;
[[File:Notification_email_example.png|800px|border|Email Notification Example using gmail settings]]&lt;br /&gt;
; Here is an example email notification form using gmail settings for example&lt;br /&gt;
* Source Address - Emails appear &amp;quot;From&amp;quot; this address&lt;br /&gt;
* Destination Address - Emails will go &amp;quot;To&amp;quot; this address&lt;br /&gt;
* Email Subject - Emails will contain this subject line&lt;br /&gt;
* Email Server - The server to connect to when sending emails&lt;br /&gt;
* Server Port - The port of the email server to connect to&lt;br /&gt;
* Use TLS? - Enable Transport Layer Security for the session&lt;br /&gt;
* Authenticate with email server? - If a username and password is required by the email server to send, supply them&lt;br /&gt;
* Username - Your email username&lt;br /&gt;
* Password - Your email password&lt;br /&gt;
&lt;br /&gt;
===SMS via Twilio===&lt;br /&gt;
[[File:Twilio_example.png|800px|border|Example of Twilio Notification Configuration]]&lt;br /&gt;
; Here is an example of a Twilio Notification configuration&lt;br /&gt;
* Account SID - Your Twilio Account SID&lt;br /&gt;
* Auth Token - Your Twilio User Auth Token&lt;br /&gt;
* To - Number to Send SMS to&lt;br /&gt;
* From - Your valid Twilio Phone Number&lt;br /&gt;
&lt;br /&gt;
===Google Talk===&lt;br /&gt;
[[File:Googletalk_example.png|800px|border|Example of Google Talk Notification Configuration]]&lt;br /&gt;
; Here is an example of a Google Talk Notification configuration&lt;br /&gt;
* Source Address - Messages will come FROM this address&lt;br /&gt;
* Password - The password for the SOURCE account&lt;br /&gt;
* Destination Address - Messages will go to this address&lt;br /&gt;
&lt;br /&gt;
===Pushover.net===&lt;br /&gt;
[[File:Pushover_example.png|800px|border|Example of Pushover.net Notification Configuration]]&lt;br /&gt;
; Here is the configuration for a Pushover.net notification&lt;br /&gt;
* API Token - The API Token provided by Pushover for your User&lt;br /&gt;
* User/Group Key - The User or Group Key for your account at Pushover&lt;br /&gt;
* Message Priority - In what priority do you want alarm panel notifications&lt;br /&gt;
* Title of Message - Messages sent to Pushover are titled with this text&lt;br /&gt;
&lt;br /&gt;
===Prowl===&lt;br /&gt;
[[File:Prowl_example.png|800px|border|Example of Prowl Notification Configuration]]&lt;br /&gt;
; Here is an example of a Prowl notification configuration&lt;br /&gt;
* API Key - Your Prowl API Key&lt;br /&gt;
* Application Name - Application to Show in Notifications&lt;br /&gt;
* Message Priority - What priority do you want alarm panel notifications to come through as&lt;br /&gt;
&lt;br /&gt;
===NotifyMyAndroid===&lt;br /&gt;
[[File:Notifymyandroid_example.png|800px|border|Example of NotifyMyAndroid configuration]]&lt;br /&gt;
; Here is an example of a NotifyMyAndroid notification configuration&lt;br /&gt;
* API Key - Your NotifyMyAndroid API Key&lt;br /&gt;
* Application Name - Application Name to show in notifications&lt;br /&gt;
* Message Priority - What priority do you want Alarm Panel notifications to come through?&lt;br /&gt;
&lt;br /&gt;
===Growl===&lt;br /&gt;
[[File:Growl_example.png|800px|border|Example of a Growl Notification]]&lt;br /&gt;
; An example of a Growl Notification configuration&lt;br /&gt;
* Hostname - The Growl server to send notification to&lt;br /&gt;
* Port - The Growl Server Port&lt;br /&gt;
* Password - The password for the Growl server&lt;br /&gt;
* Title - Notification Title&lt;br /&gt;
* Message Priority - What priority do you want these messages to come through as?&lt;br /&gt;
&lt;br /&gt;
===Custom URL POST===&lt;br /&gt;
[[File:Custom_example.png|800px|border|Example of a Custom POST notification]]&lt;br /&gt;
; Here is an example configuration for a Custom POST notification&lt;br /&gt;
* POST URL - URL of server to POST data to&lt;br /&gt;
* POST Path - Location on server from URL to post to&lt;br /&gt;
* SSL? - Is the URL SSL or Not&lt;br /&gt;
* POST Type - urlencoded, JSON, or XML POST types supported&lt;br /&gt;
* Custom Values - Here you are able to create your own key/value pairs to send with your notification&lt;br /&gt;
&lt;br /&gt;
==Configure IP Cameras==&lt;br /&gt;
; '''If you are not using our image, or an older version of the image, you must perform a few steps to enable Camera Support'''&lt;br /&gt;
* in the contrib directory of the webapp there is an opencv directory&lt;br /&gt;
* in the opencv directory execute&lt;br /&gt;
**sudo sh opencv.sh&lt;br /&gt;
&lt;br /&gt;
* Once this is done and installed, you can then configure and view a camera.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Camera_list.png|800px|border|Example of Camera Listings]]&lt;br /&gt;
; Here you see the interface where it lists current cameras as well as a button for creating a new camera.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Create_camera.png|800px|border|Example of Creating Camera]]&lt;br /&gt;
; Here we are creating a camera for view in the system&lt;br /&gt;
* Name - The name of the camera for display purposes&lt;br /&gt;
* Snapshot URL - The full URL of the motion jpeg stream for your IP camera&lt;br /&gt;
* Username - The username for authenticating to the camera&lt;br /&gt;
* Password - The password for authenticating to the camera&lt;br /&gt;
&lt;br /&gt;
==Host Settings==&lt;br /&gt;
; Found under settings-&amp;gt;Host&lt;br /&gt;
[[File:Host_settings.png|800px|border|Example of Host Settings Page]]&lt;br /&gt;
; Here you are able to configure your device's hostname, networking, as well as reboot and shutdown the device.&lt;br /&gt;
===Reboot Device===&lt;br /&gt;
; Found under settings-&amp;gt;Host&lt;br /&gt;
; Click Reboot button&lt;br /&gt;
===Shutdown Device===&lt;br /&gt;
; Found under settings-&amp;gt;Host&lt;br /&gt;
; Click Shutdown button&lt;br /&gt;
&lt;br /&gt;
==Add Users==&lt;br /&gt;
;Under Settings, click on Users - you will be presented with this screen:&lt;br /&gt;
[[File:User_list.png|800px|border|User List]]&lt;br /&gt;
;Here you are able to edit current users, or create new users.&lt;br /&gt;
&lt;br /&gt;
;By clicking New User, you are then taken to this screen:&lt;br /&gt;
[[File:Create_user.png|800px|border|New User Screen]]&lt;br /&gt;
;Here you fill out the user's details and save.   The user can now login to the webapp.&lt;br /&gt;
&lt;br /&gt;
==Configuring SSL==&lt;br /&gt;
'''This is now enabled by default as of the 05-22-2015 software release.'''&lt;br /&gt;
&lt;br /&gt;
;SSH into your raspberry pi&lt;br /&gt;
;First you must create your SSL certificates and put them in the correct location&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/alarmdecoder.key -out /etc/nginx/ssl/alarmdecoder.crt&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
;Just make sure to fill in the values correctly for your certificate when prompted.&lt;br /&gt;
&lt;br /&gt;
;Next you must edit your nginx alarmdecoder config under /etc/nginx/sites-enabled/alarmdecoder&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
server {&lt;br /&gt;
   listen 80;&lt;br /&gt;
   return 301 https://$host$request_uri;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
server {&lt;br /&gt;
    error_page 502 /502.html;&lt;br /&gt;
&lt;br /&gt;
    listen 443 default_server ssl;&lt;br /&gt;
&lt;br /&gt;
    ssl_certificate /etc/nginx/ssl/alarmdecoder.crt;&lt;br /&gt;
    ssl_certificate_key /etc/nginx/ssl/alarmdecoder.key;&lt;br /&gt;
&lt;br /&gt;
    #ssl on;&lt;br /&gt;
    ssl_session_cache builtin:1000 shared:SSL:10m;&lt;br /&gt;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;&lt;br /&gt;
    #ssl_ciphers HIGH:MEDIUM:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;&lt;br /&gt;
    ssl_ciphers &amp;quot;ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4&amp;quot;;&lt;br /&gt;
    ssl_prefer_server_ciphers on;&lt;br /&gt;
&lt;br /&gt;
    #error_page 497 https://$host:$server_port$request_uri;&lt;br /&gt;
&lt;br /&gt;
    gzip on;&lt;br /&gt;
    gzip_disable &amp;quot;msie6&amp;quot;;&lt;br /&gt;
    gzip_vary on;&lt;br /&gt;
    gzip_proxied any;&lt;br /&gt;
    gzip_comp_level 6;&lt;br /&gt;
    gzip_buffers 16 4k;&lt;br /&gt;
    gzip_http_version 1.1;&lt;br /&gt;
    gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;&lt;br /&gt;
&lt;br /&gt;
    location / { &lt;br /&gt;
        try_files $uri @alarmdecoder; &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    location @alarmdecoder {&lt;br /&gt;
        proxy_pass http://127.0.0.1:5000;&lt;br /&gt;
        include uwsgi_params;&lt;br /&gt;
        uwsgi_param UWSGI_SCHEME $scheme;&lt;br /&gt;
        uwsgi_param SERVER_SOFTWARE nginx/$nginx_version;&lt;br /&gt;
&lt;br /&gt;
        proxy_redirect off;&lt;br /&gt;
        proxy_http_version 1.1;&lt;br /&gt;
        proxy_set_header Upgrade $http_upgrade;&lt;br /&gt;
        proxy_set_header Connection &amp;quot;upgrade&amp;quot;;&lt;br /&gt;
        proxy_set_header Host $http_host;&lt;br /&gt;
        proxy_set_header X-Real-IP $remote_addr;&lt;br /&gt;
        proxy_set_header X-Forwarded-Proto $scheme;&lt;br /&gt;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;&lt;br /&gt;
        proxy_set_header X-Forwarded-Host $server_name;&lt;br /&gt;
        proxy_set_header X-Scheme $scheme;&lt;br /&gt;
        proxy_redirect http://localhost:5000 https://$host;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    location /502.html {&lt;br /&gt;
        root /opt/alarmdecoder-webapp/ad2web/static;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    location ~ \.(jpg|jpeg|png|css|js)$ {&lt;br /&gt;
        root /opt/alarmdecoder-webapp/ad2web;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
;After this, restart the nginx service and you will have forced SSL.&lt;br /&gt;
&lt;br /&gt;
==Port Forwarding==&lt;br /&gt;
;To access your WebApplication outside of your network, first you must do a &amp;quot;port forwarding&amp;quot; operation on your networking router/firewall - a NAT.&lt;br /&gt;
;Some ISPs filter standard server ports, so sometimes you will have to choose an external port that is not filtered.  (Not 80, 25, 443).&lt;br /&gt;
;As an example, you may want to forward port 4443 on the outside network to port 443 of your Network Appliance.   You then would hit your external IP Address on port 4443 from your web browser.   https://public_ip_address:4443 which would then forward to port 443 of the network appliance - in SSL mode for security.&lt;br /&gt;
==Diagnostics==&lt;br /&gt;
; A Diagnostics Screen is provided under settings-&amp;gt;Diagnostics&lt;br /&gt;
; This screen will allow you to test the functionality of the AlarmDecoder device as well as showing information about required modules.&lt;br /&gt;
[[File:Diagnostics_screen.png|border|800px|Diagnostics Screen]]&lt;br /&gt;
&lt;br /&gt;
==Disclaimers==&lt;br /&gt;
; All other trademarks are the property of their respective owners.&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/AlarmDecoder_WebApp</id>
		<title>AlarmDecoder WebApp</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/AlarmDecoder_WebApp"/>
				<updated>2015-08-24T19:21:37Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: /* Port Forwarding */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; __TOC__&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:FAQ]]&lt;br /&gt;
[[Category:Downloads]]&lt;br /&gt;
[[Category:Features]]&lt;br /&gt;
&lt;br /&gt;
=AlarmDecoder WebApp=&lt;br /&gt;
==Overview==&lt;br /&gt;
; The official AlarmDecoder WebApp.  Control your alarm system from your web browser on nearly any device.  Supports all of the AlarmDecoder devices including the AD2USB, AD2SERIAL, and AD2PI.&lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
* Multiple User Accounts&lt;br /&gt;
* Web-based keypad for your alarm system&lt;br /&gt;
* Notifications on alarm events&lt;br /&gt;
* Per-user notifications&lt;br /&gt;
* IP Camera integration&lt;br /&gt;
* Supports all functionality of AlarmDecoder devices&lt;br /&gt;
* Configure your AlarmDecoder device&lt;br /&gt;
* Configure network sharing of your AlarmDecoder device&lt;br /&gt;
* Support for PC/Mac/Linux as well as Mobile and Tablet browsers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:webappkeypad.png|border|Keypad Interface]]&lt;br /&gt;
; The AlarmDecoder WebApp Keypad Interface&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
; The easiest way to install the WebApp is by downloading our pre-built Raspbian image [http://www.alarmdecoder.com/wiki/index.php/Raspberry_Pi here].  However, you can follow the manual installation instructions provided on our github repository [https://github.com/nutechsoftware/alarmdecoder-webapp here]&lt;br /&gt;
&lt;br /&gt;
==Initial Setup==&lt;br /&gt;
; Once the AlarmDecoder WebApp is started (it can take some time to initially start) you may connect to the Application via a web browser and pointing the URL to http://alarmdecoder.local - if this name resolution fails and you are on a Windows System, please download [https://support.apple.com/kb/DL999?locale=en_US Bonjour For Windows] and try again.  This will take you to our first setup screens which will be detailed below.  The device is initially configured for DHCP.&lt;br /&gt;
&lt;br /&gt;
'''IF YOU BOUGHT A BUNDLE FROM US, IT IS ALREADY SET UP.  YOU ONLY NEED TO GO THROUGH SETUP IF YOU NEED TO CHANGE DEFAULT ADDRESS OF DEVICE OTHERWISE CHECK [[Raspberry_Pi|HERE]] FOR DEFAULT PASSWORDS AND CHANGE THEM ACCORDINGLY'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Setup Process Detail===&lt;br /&gt;
; This is your first setup screen when you first visit via your browser&lt;br /&gt;
[[File:01_initial_setup.png|800px|border|First Setup Screen]]&lt;br /&gt;
; Click &amp;quot;Start!&amp;quot; to continue&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Next we will be taken to the device selection screen&lt;br /&gt;
[[File:02_device_type_settings.png|800px|border|Device Type Screen]]&lt;br /&gt;
; Here you are able to select what type of device (AD2USB, AD2SERIAL, AD2PI) as well as the device's location.&lt;br /&gt;
* [[#Local Device]] means the device is connected to the same computer running the WebApp&lt;br /&gt;
* [[#Network Device]] means you have already exposed an AlarmDecoder via ser2sock&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Local Device====&lt;br /&gt;
; If you choose Local Device, this next screen is what you are presented with&lt;br /&gt;
[[File:03_local_device_settings.png|800px|border|Local Device Settings]]&lt;br /&gt;
; Here you will choose your device path and baud rate, usually defaults are fine for the device you chose&lt;br /&gt;
; If you choose &amp;quot;Share AlarmDecoder on your network?&amp;quot; you will be taken to configure ser2sock shown below&lt;br /&gt;
[[File:04_ser2sock_configuration.png|800px|border|Setup Ser2sock]]&lt;br /&gt;
; On this screen you are able to specify the path to your ser2sock configuration file, your hostname or IP address to listen on, as well as the ser2sock port to listen on.  Defaults will work fine.   SSL will force ser2sock into SSL mode - this is typically not needed for your internal network.&lt;br /&gt;
* ser2sock Port is different from the HTTP/WSGI ports - do not choose 80, 443, or 5000.&lt;br /&gt;
&lt;br /&gt;
Skip to [[#Configure Device]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Network Device====&lt;br /&gt;
; If you chose network device instead of local device, you are presented with this screen instead&lt;br /&gt;
[[File:05_network_device_settings.png|800px|border|Network Device Setup]]&lt;br /&gt;
; If you have an AlarmDecoder device shared on your network already via ser2sock, here you can specify the hostname and port for the WebApp to connect to the shared device.&lt;br /&gt;
&lt;br /&gt;
====Configure Device====&lt;br /&gt;
; Once you have told the WebApp what kind of device you have and where it is, you will be presented with a page to configure the AlarmDecoder device itself&lt;br /&gt;
[[File:06_alarmdecoder_settings.png|800px|border|AlarmDecoder Device Settings]]&lt;br /&gt;
; Make sure to set your address correctly!  31 for SE Panels, and for 20P Panels you will have to program an address spot into your panel and assign the AlarmDecoder the newly enabled address.  See [[http://www.alarmdecoder.com/wiki/index.php/Panel_Configuration Panel Configuration]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; After you have completed all of the above steps, you will be taken to a Device Testing screen&lt;br /&gt;
[[File:07_device_testing.png|800px|border|Device Testing]]&lt;br /&gt;
; If any of these tests fail, please make sure your device is configured properly and installed properly.&lt;br /&gt;
;Here is an example of a successful device test&lt;br /&gt;
[[File:Success_device_testing.png|800px|border|Device Testing Success]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Once the device is communicating properly, you will be redirected to a page to create an initial user to log in to the WebApp&lt;br /&gt;
[[File:08_create_initial_account.png|800px|border|Initial User Creation]]&lt;br /&gt;
; After you have created your user, feel free to login and use the WebApp!&lt;br /&gt;
&lt;br /&gt;
==Configure Notifications==&lt;br /&gt;
; Once you are logged in, go to Settings and click on Notifications.  From there, you can edit already configured notifications or click &amp;quot;New Notification&amp;quot; to create a new notification.&lt;br /&gt;
&lt;br /&gt;
[[File:Notifications_main.png|800px|border|Main Notification Interface]]&lt;br /&gt;
; This is the main interface for creating and listing notifications.  Here you can choose to create new or edit existing notifications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Notification_types.png|400px|border|List of Notification Types]]&lt;br /&gt;
; Here is a list of all current supported notification types.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Notification_common_settings.png|800px|border|List of Items to be Notified On]]&lt;br /&gt;
; Here is a list of all of the events that can trigger a notification.  You are able to select which ones you would like to see.  You can also have different notification types alert you for different kinds of notifications.   This interface is common to all notification types.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Email===&lt;br /&gt;
[[File:Notification_email_example.png|800px|border|Email Notification Example using gmail settings]]&lt;br /&gt;
; Here is an example email notification form using gmail settings for example&lt;br /&gt;
* Source Address - Emails appear &amp;quot;From&amp;quot; this address&lt;br /&gt;
* Destination Address - Emails will go &amp;quot;To&amp;quot; this address&lt;br /&gt;
* Email Subject - Emails will contain this subject line&lt;br /&gt;
* Email Server - The server to connect to when sending emails&lt;br /&gt;
* Server Port - The port of the email server to connect to&lt;br /&gt;
* Use TLS? - Enable Transport Layer Security for the session&lt;br /&gt;
* Authenticate with email server? - If a username and password is required by the email server to send, supply them&lt;br /&gt;
* Username - Your email username&lt;br /&gt;
* Password - Your email password&lt;br /&gt;
&lt;br /&gt;
===SMS via Twilio===&lt;br /&gt;
[[File:Twilio_example.png|800px|border|Example of Twilio Notification Configuration]]&lt;br /&gt;
; Here is an example of a Twilio Notification configuration&lt;br /&gt;
* Account SID - Your Twilio Account SID&lt;br /&gt;
* Auth Token - Your Twilio User Auth Token&lt;br /&gt;
* To - Number to Send SMS to&lt;br /&gt;
* From - Your valid Twilio Phone Number&lt;br /&gt;
&lt;br /&gt;
===Google Talk===&lt;br /&gt;
[[File:Googletalk_example.png|800px|border|Example of Google Talk Notification Configuration]]&lt;br /&gt;
; Here is an example of a Google Talk Notification configuration&lt;br /&gt;
* Source Address - Messages will come FROM this address&lt;br /&gt;
* Password - The password for the SOURCE account&lt;br /&gt;
* Destination Address - Messages will go to this address&lt;br /&gt;
&lt;br /&gt;
===Pushover.net===&lt;br /&gt;
[[File:Pushover_example.png|800px|border|Example of Pushover.net Notification Configuration]]&lt;br /&gt;
; Here is the configuration for a Pushover.net notification&lt;br /&gt;
* API Token - The API Token provided by Pushover for your User&lt;br /&gt;
* User/Group Key - The User or Group Key for your account at Pushover&lt;br /&gt;
* Message Priority - In what priority do you want alarm panel notifications&lt;br /&gt;
* Title of Message - Messages sent to Pushover are titled with this text&lt;br /&gt;
&lt;br /&gt;
===Prowl===&lt;br /&gt;
[[File:Prowl_example.png|800px|border|Example of Prowl Notification Configuration]]&lt;br /&gt;
; Here is an example of a Prowl notification configuration&lt;br /&gt;
* API Key - Your Prowl API Key&lt;br /&gt;
* Application Name - Application to Show in Notifications&lt;br /&gt;
* Message Priority - What priority do you want alarm panel notifications to come through as&lt;br /&gt;
&lt;br /&gt;
===NotifyMyAndroid===&lt;br /&gt;
[[File:Notifymyandroid_example.png|800px|border|Example of NotifyMyAndroid configuration]]&lt;br /&gt;
; Here is an example of a NotifyMyAndroid notification configuration&lt;br /&gt;
* API Key - Your NotifyMyAndroid API Key&lt;br /&gt;
* Application Name - Application Name to show in notifications&lt;br /&gt;
* Message Priority - What priority do you want Alarm Panel notifications to come through?&lt;br /&gt;
&lt;br /&gt;
===Growl===&lt;br /&gt;
[[File:Growl_example.png|800px|border|Example of a Growl Notification]]&lt;br /&gt;
; An example of a Growl Notification configuration&lt;br /&gt;
* Hostname - The Growl server to send notification to&lt;br /&gt;
* Port - The Growl Server Port&lt;br /&gt;
* Password - The password for the Growl server&lt;br /&gt;
* Title - Notification Title&lt;br /&gt;
* Message Priority - What priority do you want these messages to come through as?&lt;br /&gt;
&lt;br /&gt;
===Custom URL POST===&lt;br /&gt;
[[File:Custom_example.png|800px|border|Example of a Custom POST notification]]&lt;br /&gt;
; Here is an example configuration for a Custom POST notification&lt;br /&gt;
* POST URL - URL of server to POST data to&lt;br /&gt;
* POST Path - Location on server from URL to post to&lt;br /&gt;
* SSL? - Is the URL SSL or Not&lt;br /&gt;
* POST Type - urlencoded, JSON, or XML POST types supported&lt;br /&gt;
* Custom Values - Here you are able to create your own key/value pairs to send with your notification&lt;br /&gt;
&lt;br /&gt;
==Configure IP Cameras==&lt;br /&gt;
; '''If you are not using our image, or an older version of the image, you must perform a few steps to enable Camera Support'''&lt;br /&gt;
* in the contrib directory of the webapp there is an opencv directory&lt;br /&gt;
* in the opencv directory execute&lt;br /&gt;
**sudo sh opencv.sh&lt;br /&gt;
&lt;br /&gt;
* Once this is done and installed, you can then configure and view a camera.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Camera_list.png|800px|border|Example of Camera Listings]]&lt;br /&gt;
; Here you see the interface where it lists current cameras as well as a button for creating a new camera.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Create_camera.png|800px|border|Example of Creating Camera]]&lt;br /&gt;
; Here we are creating a camera for view in the system&lt;br /&gt;
* Name - The name of the camera for display purposes&lt;br /&gt;
* Snapshot URL - The full URL of the motion jpeg stream for your IP camera&lt;br /&gt;
* Username - The username for authenticating to the camera&lt;br /&gt;
* Password - The password for authenticating to the camera&lt;br /&gt;
&lt;br /&gt;
==Host Settings==&lt;br /&gt;
; Found under settings-&amp;gt;Host&lt;br /&gt;
[[File:Host_settings.png|800px|border|Example of Host Settings Page]]&lt;br /&gt;
; Here you are able to configure your device's hostname, networking, as well as reboot and shutdown the device.&lt;br /&gt;
===Reboot Device===&lt;br /&gt;
; Found under settings-&amp;gt;Host&lt;br /&gt;
; Click Reboot button&lt;br /&gt;
===Shutdown Device===&lt;br /&gt;
; Found under settings-&amp;gt;Host&lt;br /&gt;
; Click Shutdown button&lt;br /&gt;
&lt;br /&gt;
==Add Users==&lt;br /&gt;
;Under Settings, click on Users - you will be presented with this screen:&lt;br /&gt;
[[File:User_list.png|800px|border|User List]]&lt;br /&gt;
;Here you are able to edit current users, or create new users.&lt;br /&gt;
&lt;br /&gt;
;By clicking New User, you are then taken to this screen:&lt;br /&gt;
[[File:Create_user.png|800px|border|New User Screen]]&lt;br /&gt;
;Here you fill out the user's details and save.   The user can now login to the webapp.&lt;br /&gt;
&lt;br /&gt;
==Configuring SSL==&lt;br /&gt;
'''This is now enabled by default as of the 05-22-2015 software release.'''&lt;br /&gt;
&lt;br /&gt;
;SSH into your raspberry pi&lt;br /&gt;
;First you must create your SSL certificates and put them in the correct location&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/alarmdecoder.key -out /etc/nginx/ssl/alarmdecoder.crt&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
;Just make sure to fill in the values correctly for your certificate when prompted.&lt;br /&gt;
&lt;br /&gt;
;Next you must edit your nginx alarmdecoder config under /etc/nginx/sites-enabled/alarmdecoder&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
server {&lt;br /&gt;
   listen 80;&lt;br /&gt;
   return 301 https://$host$request_uri;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
server {&lt;br /&gt;
    error_page 502 /502.html;&lt;br /&gt;
&lt;br /&gt;
    listen 443 default_server ssl;&lt;br /&gt;
&lt;br /&gt;
    ssl_certificate /etc/nginx/ssl/alarmdecoder.crt;&lt;br /&gt;
    ssl_certificate_key /etc/nginx/ssl/alarmdecoder.key;&lt;br /&gt;
&lt;br /&gt;
    #ssl on;&lt;br /&gt;
    ssl_session_cache builtin:1000 shared:SSL:10m;&lt;br /&gt;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;&lt;br /&gt;
    #ssl_ciphers HIGH:MEDIUM:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;&lt;br /&gt;
    ssl_ciphers &amp;quot;ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4&amp;quot;;&lt;br /&gt;
    ssl_prefer_server_ciphers on;&lt;br /&gt;
&lt;br /&gt;
    #error_page 497 https://$host:$server_port$request_uri;&lt;br /&gt;
&lt;br /&gt;
    gzip on;&lt;br /&gt;
    gzip_disable &amp;quot;msie6&amp;quot;;&lt;br /&gt;
    gzip_vary on;&lt;br /&gt;
    gzip_proxied any;&lt;br /&gt;
    gzip_comp_level 6;&lt;br /&gt;
    gzip_buffers 16 4k;&lt;br /&gt;
    gzip_http_version 1.1;&lt;br /&gt;
    gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;&lt;br /&gt;
&lt;br /&gt;
    location / { &lt;br /&gt;
        try_files $uri @alarmdecoder; &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    location @alarmdecoder {&lt;br /&gt;
        proxy_pass http://127.0.0.1:5000;&lt;br /&gt;
        include uwsgi_params;&lt;br /&gt;
        uwsgi_param UWSGI_SCHEME $scheme;&lt;br /&gt;
        uwsgi_param SERVER_SOFTWARE nginx/$nginx_version;&lt;br /&gt;
&lt;br /&gt;
        proxy_redirect off;&lt;br /&gt;
        proxy_http_version 1.1;&lt;br /&gt;
        proxy_set_header Upgrade $http_upgrade;&lt;br /&gt;
        proxy_set_header Connection &amp;quot;upgrade&amp;quot;;&lt;br /&gt;
        proxy_set_header Host $http_host;&lt;br /&gt;
        proxy_set_header X-Real-IP $remote_addr;&lt;br /&gt;
        proxy_set_header X-Forwarded-Proto $scheme;&lt;br /&gt;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;&lt;br /&gt;
        proxy_set_header X-Forwarded-Host $server_name;&lt;br /&gt;
        proxy_set_header X-Scheme $scheme;&lt;br /&gt;
        proxy_redirect http://localhost:5000 https://$host;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    location /502.html {&lt;br /&gt;
        root /opt/alarmdecoder-webapp/ad2web/static;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    location ~ \.(jpg|jpeg|png|css|js)$ {&lt;br /&gt;
        root /opt/alarmdecoder-webapp/ad2web;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
;After this, restart the nginx service and you will have forced SSL.&lt;br /&gt;
&lt;br /&gt;
==Port Forwarding==&lt;br /&gt;
;To access your WebApplication outside of your network, first you must do a &amp;quot;port forwarding&amp;quot; operation on your networking router/firewall - a NAT.&lt;br /&gt;
;Some ISPs filter standard server ports, so sometimes you will have to choose an external port that is not filtered.  (Not 80, 25, 443).&lt;br /&gt;
;As an example, you may want to forward port 4443 on the outside network to port 443 of your Network Appliance.   You then would hit your external IP Address on port 4443 from your web browser.   https://public_ip_address:4443 which would then forward to port 443 of the network appliance - in SSL mode for security.&lt;br /&gt;
==Diagnostics==&lt;br /&gt;
; A Diagnostics Screen is provided under settings-&amp;gt;Diagnostics&lt;br /&gt;
; This screen will allow you to test the functionality of the AlarmDecoder device as well as showing information about required modules.&lt;br /&gt;
[[File:Diagnostics_screen.png|border|800px]]&lt;br /&gt;
&lt;br /&gt;
==Disclaimers==&lt;br /&gt;
; All other trademarks are the property of their respective owners.&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/File:Diagnostics_screen.png</id>
		<title>File:Diagnostics screen.png</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/File:Diagnostics_screen.png"/>
				<updated>2015-08-24T19:19:15Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: The AlarmDecoder WebApp Diagnostics Screen - Here you can test your device as well as show information about required modules.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The AlarmDecoder WebApp Diagnostics Screen - Here you can test your device as well as show information about required modules.&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/AlarmDecoder_WebApp</id>
		<title>AlarmDecoder WebApp</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/AlarmDecoder_WebApp"/>
				<updated>2015-08-24T19:17:10Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: /* Host Settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; __TOC__&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:FAQ]]&lt;br /&gt;
[[Category:Downloads]]&lt;br /&gt;
[[Category:Features]]&lt;br /&gt;
&lt;br /&gt;
=AlarmDecoder WebApp=&lt;br /&gt;
==Overview==&lt;br /&gt;
; The official AlarmDecoder WebApp.  Control your alarm system from your web browser on nearly any device.  Supports all of the AlarmDecoder devices including the AD2USB, AD2SERIAL, and AD2PI.&lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
* Multiple User Accounts&lt;br /&gt;
* Web-based keypad for your alarm system&lt;br /&gt;
* Notifications on alarm events&lt;br /&gt;
* Per-user notifications&lt;br /&gt;
* IP Camera integration&lt;br /&gt;
* Supports all functionality of AlarmDecoder devices&lt;br /&gt;
* Configure your AlarmDecoder device&lt;br /&gt;
* Configure network sharing of your AlarmDecoder device&lt;br /&gt;
* Support for PC/Mac/Linux as well as Mobile and Tablet browsers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:webappkeypad.png|border|Keypad Interface]]&lt;br /&gt;
; The AlarmDecoder WebApp Keypad Interface&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
; The easiest way to install the WebApp is by downloading our pre-built Raspbian image [http://www.alarmdecoder.com/wiki/index.php/Raspberry_Pi here].  However, you can follow the manual installation instructions provided on our github repository [https://github.com/nutechsoftware/alarmdecoder-webapp here]&lt;br /&gt;
&lt;br /&gt;
==Initial Setup==&lt;br /&gt;
; Once the AlarmDecoder WebApp is started (it can take some time to initially start) you may connect to the Application via a web browser and pointing the URL to http://alarmdecoder.local - if this name resolution fails and you are on a Windows System, please download [https://support.apple.com/kb/DL999?locale=en_US Bonjour For Windows] and try again.  This will take you to our first setup screens which will be detailed below.  The device is initially configured for DHCP.&lt;br /&gt;
&lt;br /&gt;
'''IF YOU BOUGHT A BUNDLE FROM US, IT IS ALREADY SET UP.  YOU ONLY NEED TO GO THROUGH SETUP IF YOU NEED TO CHANGE DEFAULT ADDRESS OF DEVICE OTHERWISE CHECK [[Raspberry_Pi|HERE]] FOR DEFAULT PASSWORDS AND CHANGE THEM ACCORDINGLY'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Setup Process Detail===&lt;br /&gt;
; This is your first setup screen when you first visit via your browser&lt;br /&gt;
[[File:01_initial_setup.png|800px|border|First Setup Screen]]&lt;br /&gt;
; Click &amp;quot;Start!&amp;quot; to continue&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Next we will be taken to the device selection screen&lt;br /&gt;
[[File:02_device_type_settings.png|800px|border|Device Type Screen]]&lt;br /&gt;
; Here you are able to select what type of device (AD2USB, AD2SERIAL, AD2PI) as well as the device's location.&lt;br /&gt;
* [[#Local Device]] means the device is connected to the same computer running the WebApp&lt;br /&gt;
* [[#Network Device]] means you have already exposed an AlarmDecoder via ser2sock&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Local Device====&lt;br /&gt;
; If you choose Local Device, this next screen is what you are presented with&lt;br /&gt;
[[File:03_local_device_settings.png|800px|border|Local Device Settings]]&lt;br /&gt;
; Here you will choose your device path and baud rate, usually defaults are fine for the device you chose&lt;br /&gt;
; If you choose &amp;quot;Share AlarmDecoder on your network?&amp;quot; you will be taken to configure ser2sock shown below&lt;br /&gt;
[[File:04_ser2sock_configuration.png|800px|border|Setup Ser2sock]]&lt;br /&gt;
; On this screen you are able to specify the path to your ser2sock configuration file, your hostname or IP address to listen on, as well as the ser2sock port to listen on.  Defaults will work fine.   SSL will force ser2sock into SSL mode - this is typically not needed for your internal network.&lt;br /&gt;
* ser2sock Port is different from the HTTP/WSGI ports - do not choose 80, 443, or 5000.&lt;br /&gt;
&lt;br /&gt;
Skip to [[#Configure Device]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Network Device====&lt;br /&gt;
; If you chose network device instead of local device, you are presented with this screen instead&lt;br /&gt;
[[File:05_network_device_settings.png|800px|border|Network Device Setup]]&lt;br /&gt;
; If you have an AlarmDecoder device shared on your network already via ser2sock, here you can specify the hostname and port for the WebApp to connect to the shared device.&lt;br /&gt;
&lt;br /&gt;
====Configure Device====&lt;br /&gt;
; Once you have told the WebApp what kind of device you have and where it is, you will be presented with a page to configure the AlarmDecoder device itself&lt;br /&gt;
[[File:06_alarmdecoder_settings.png|800px|border|AlarmDecoder Device Settings]]&lt;br /&gt;
; Make sure to set your address correctly!  31 for SE Panels, and for 20P Panels you will have to program an address spot into your panel and assign the AlarmDecoder the newly enabled address.  See [[http://www.alarmdecoder.com/wiki/index.php/Panel_Configuration Panel Configuration]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; After you have completed all of the above steps, you will be taken to a Device Testing screen&lt;br /&gt;
[[File:07_device_testing.png|800px|border|Device Testing]]&lt;br /&gt;
; If any of these tests fail, please make sure your device is configured properly and installed properly.&lt;br /&gt;
;Here is an example of a successful device test&lt;br /&gt;
[[File:Success_device_testing.png|800px|border|Device Testing Success]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Once the device is communicating properly, you will be redirected to a page to create an initial user to log in to the WebApp&lt;br /&gt;
[[File:08_create_initial_account.png|800px|border|Initial User Creation]]&lt;br /&gt;
; After you have created your user, feel free to login and use the WebApp!&lt;br /&gt;
&lt;br /&gt;
==Configure Notifications==&lt;br /&gt;
; Once you are logged in, go to Settings and click on Notifications.  From there, you can edit already configured notifications or click &amp;quot;New Notification&amp;quot; to create a new notification.&lt;br /&gt;
&lt;br /&gt;
[[File:Notifications_main.png|800px|border|Main Notification Interface]]&lt;br /&gt;
; This is the main interface for creating and listing notifications.  Here you can choose to create new or edit existing notifications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Notification_types.png|400px|border|List of Notification Types]]&lt;br /&gt;
; Here is a list of all current supported notification types.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Notification_common_settings.png|800px|border|List of Items to be Notified On]]&lt;br /&gt;
; Here is a list of all of the events that can trigger a notification.  You are able to select which ones you would like to see.  You can also have different notification types alert you for different kinds of notifications.   This interface is common to all notification types.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Email===&lt;br /&gt;
[[File:Notification_email_example.png|800px|border|Email Notification Example using gmail settings]]&lt;br /&gt;
; Here is an example email notification form using gmail settings for example&lt;br /&gt;
* Source Address - Emails appear &amp;quot;From&amp;quot; this address&lt;br /&gt;
* Destination Address - Emails will go &amp;quot;To&amp;quot; this address&lt;br /&gt;
* Email Subject - Emails will contain this subject line&lt;br /&gt;
* Email Server - The server to connect to when sending emails&lt;br /&gt;
* Server Port - The port of the email server to connect to&lt;br /&gt;
* Use TLS? - Enable Transport Layer Security for the session&lt;br /&gt;
* Authenticate with email server? - If a username and password is required by the email server to send, supply them&lt;br /&gt;
* Username - Your email username&lt;br /&gt;
* Password - Your email password&lt;br /&gt;
&lt;br /&gt;
===SMS via Twilio===&lt;br /&gt;
[[File:Twilio_example.png|800px|border|Example of Twilio Notification Configuration]]&lt;br /&gt;
; Here is an example of a Twilio Notification configuration&lt;br /&gt;
* Account SID - Your Twilio Account SID&lt;br /&gt;
* Auth Token - Your Twilio User Auth Token&lt;br /&gt;
* To - Number to Send SMS to&lt;br /&gt;
* From - Your valid Twilio Phone Number&lt;br /&gt;
&lt;br /&gt;
===Google Talk===&lt;br /&gt;
[[File:Googletalk_example.png|800px|border|Example of Google Talk Notification Configuration]]&lt;br /&gt;
; Here is an example of a Google Talk Notification configuration&lt;br /&gt;
* Source Address - Messages will come FROM this address&lt;br /&gt;
* Password - The password for the SOURCE account&lt;br /&gt;
* Destination Address - Messages will go to this address&lt;br /&gt;
&lt;br /&gt;
===Pushover.net===&lt;br /&gt;
[[File:Pushover_example.png|800px|border|Example of Pushover.net Notification Configuration]]&lt;br /&gt;
; Here is the configuration for a Pushover.net notification&lt;br /&gt;
* API Token - The API Token provided by Pushover for your User&lt;br /&gt;
* User/Group Key - The User or Group Key for your account at Pushover&lt;br /&gt;
* Message Priority - In what priority do you want alarm panel notifications&lt;br /&gt;
* Title of Message - Messages sent to Pushover are titled with this text&lt;br /&gt;
&lt;br /&gt;
===Prowl===&lt;br /&gt;
[[File:Prowl_example.png|800px|border|Example of Prowl Notification Configuration]]&lt;br /&gt;
; Here is an example of a Prowl notification configuration&lt;br /&gt;
* API Key - Your Prowl API Key&lt;br /&gt;
* Application Name - Application to Show in Notifications&lt;br /&gt;
* Message Priority - What priority do you want alarm panel notifications to come through as&lt;br /&gt;
&lt;br /&gt;
===NotifyMyAndroid===&lt;br /&gt;
[[File:Notifymyandroid_example.png|800px|border|Example of NotifyMyAndroid configuration]]&lt;br /&gt;
; Here is an example of a NotifyMyAndroid notification configuration&lt;br /&gt;
* API Key - Your NotifyMyAndroid API Key&lt;br /&gt;
* Application Name - Application Name to show in notifications&lt;br /&gt;
* Message Priority - What priority do you want Alarm Panel notifications to come through?&lt;br /&gt;
&lt;br /&gt;
===Growl===&lt;br /&gt;
[[File:Growl_example.png|800px|border|Example of a Growl Notification]]&lt;br /&gt;
; An example of a Growl Notification configuration&lt;br /&gt;
* Hostname - The Growl server to send notification to&lt;br /&gt;
* Port - The Growl Server Port&lt;br /&gt;
* Password - The password for the Growl server&lt;br /&gt;
* Title - Notification Title&lt;br /&gt;
* Message Priority - What priority do you want these messages to come through as?&lt;br /&gt;
&lt;br /&gt;
===Custom URL POST===&lt;br /&gt;
[[File:Custom_example.png|800px|border|Example of a Custom POST notification]]&lt;br /&gt;
; Here is an example configuration for a Custom POST notification&lt;br /&gt;
* POST URL - URL of server to POST data to&lt;br /&gt;
* POST Path - Location on server from URL to post to&lt;br /&gt;
* SSL? - Is the URL SSL or Not&lt;br /&gt;
* POST Type - urlencoded, JSON, or XML POST types supported&lt;br /&gt;
* Custom Values - Here you are able to create your own key/value pairs to send with your notification&lt;br /&gt;
&lt;br /&gt;
==Configure IP Cameras==&lt;br /&gt;
; '''If you are not using our image, or an older version of the image, you must perform a few steps to enable Camera Support'''&lt;br /&gt;
* in the contrib directory of the webapp there is an opencv directory&lt;br /&gt;
* in the opencv directory execute&lt;br /&gt;
**sudo sh opencv.sh&lt;br /&gt;
&lt;br /&gt;
* Once this is done and installed, you can then configure and view a camera.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Camera_list.png|800px|border|Example of Camera Listings]]&lt;br /&gt;
; Here you see the interface where it lists current cameras as well as a button for creating a new camera.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Create_camera.png|800px|border|Example of Creating Camera]]&lt;br /&gt;
; Here we are creating a camera for view in the system&lt;br /&gt;
* Name - The name of the camera for display purposes&lt;br /&gt;
* Snapshot URL - The full URL of the motion jpeg stream for your IP camera&lt;br /&gt;
* Username - The username for authenticating to the camera&lt;br /&gt;
* Password - The password for authenticating to the camera&lt;br /&gt;
&lt;br /&gt;
==Host Settings==&lt;br /&gt;
; Found under settings-&amp;gt;Host&lt;br /&gt;
[[File:Host_settings.png|800px|border|Example of Host Settings Page]]&lt;br /&gt;
; Here you are able to configure your device's hostname, networking, as well as reboot and shutdown the device.&lt;br /&gt;
===Reboot Device===&lt;br /&gt;
; Found under settings-&amp;gt;Host&lt;br /&gt;
; Click Reboot button&lt;br /&gt;
===Shutdown Device===&lt;br /&gt;
; Found under settings-&amp;gt;Host&lt;br /&gt;
; Click Shutdown button&lt;br /&gt;
&lt;br /&gt;
==Add Users==&lt;br /&gt;
;Under Settings, click on Users - you will be presented with this screen:&lt;br /&gt;
[[File:User_list.png|800px|border|User List]]&lt;br /&gt;
;Here you are able to edit current users, or create new users.&lt;br /&gt;
&lt;br /&gt;
;By clicking New User, you are then taken to this screen:&lt;br /&gt;
[[File:Create_user.png|800px|border|New User Screen]]&lt;br /&gt;
;Here you fill out the user's details and save.   The user can now login to the webapp.&lt;br /&gt;
&lt;br /&gt;
==Configuring SSL==&lt;br /&gt;
'''This is now enabled by default as of the 05-22-2015 software release.'''&lt;br /&gt;
&lt;br /&gt;
;SSH into your raspberry pi&lt;br /&gt;
;First you must create your SSL certificates and put them in the correct location&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/alarmdecoder.key -out /etc/nginx/ssl/alarmdecoder.crt&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
;Just make sure to fill in the values correctly for your certificate when prompted.&lt;br /&gt;
&lt;br /&gt;
;Next you must edit your nginx alarmdecoder config under /etc/nginx/sites-enabled/alarmdecoder&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
server {&lt;br /&gt;
   listen 80;&lt;br /&gt;
   return 301 https://$host$request_uri;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
server {&lt;br /&gt;
    error_page 502 /502.html;&lt;br /&gt;
&lt;br /&gt;
    listen 443 default_server ssl;&lt;br /&gt;
&lt;br /&gt;
    ssl_certificate /etc/nginx/ssl/alarmdecoder.crt;&lt;br /&gt;
    ssl_certificate_key /etc/nginx/ssl/alarmdecoder.key;&lt;br /&gt;
&lt;br /&gt;
    #ssl on;&lt;br /&gt;
    ssl_session_cache builtin:1000 shared:SSL:10m;&lt;br /&gt;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;&lt;br /&gt;
    #ssl_ciphers HIGH:MEDIUM:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;&lt;br /&gt;
    ssl_ciphers &amp;quot;ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4&amp;quot;;&lt;br /&gt;
    ssl_prefer_server_ciphers on;&lt;br /&gt;
&lt;br /&gt;
    #error_page 497 https://$host:$server_port$request_uri;&lt;br /&gt;
&lt;br /&gt;
    gzip on;&lt;br /&gt;
    gzip_disable &amp;quot;msie6&amp;quot;;&lt;br /&gt;
    gzip_vary on;&lt;br /&gt;
    gzip_proxied any;&lt;br /&gt;
    gzip_comp_level 6;&lt;br /&gt;
    gzip_buffers 16 4k;&lt;br /&gt;
    gzip_http_version 1.1;&lt;br /&gt;
    gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;&lt;br /&gt;
&lt;br /&gt;
    location / { &lt;br /&gt;
        try_files $uri @alarmdecoder; &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    location @alarmdecoder {&lt;br /&gt;
        proxy_pass http://127.0.0.1:5000;&lt;br /&gt;
        include uwsgi_params;&lt;br /&gt;
        uwsgi_param UWSGI_SCHEME $scheme;&lt;br /&gt;
        uwsgi_param SERVER_SOFTWARE nginx/$nginx_version;&lt;br /&gt;
&lt;br /&gt;
        proxy_redirect off;&lt;br /&gt;
        proxy_http_version 1.1;&lt;br /&gt;
        proxy_set_header Upgrade $http_upgrade;&lt;br /&gt;
        proxy_set_header Connection &amp;quot;upgrade&amp;quot;;&lt;br /&gt;
        proxy_set_header Host $http_host;&lt;br /&gt;
        proxy_set_header X-Real-IP $remote_addr;&lt;br /&gt;
        proxy_set_header X-Forwarded-Proto $scheme;&lt;br /&gt;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;&lt;br /&gt;
        proxy_set_header X-Forwarded-Host $server_name;&lt;br /&gt;
        proxy_set_header X-Scheme $scheme;&lt;br /&gt;
        proxy_redirect http://localhost:5000 https://$host;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    location /502.html {&lt;br /&gt;
        root /opt/alarmdecoder-webapp/ad2web/static;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    location ~ \.(jpg|jpeg|png|css|js)$ {&lt;br /&gt;
        root /opt/alarmdecoder-webapp/ad2web;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
;After this, restart the nginx service and you will have forced SSL.&lt;br /&gt;
&lt;br /&gt;
==Port Forwarding==&lt;br /&gt;
;To access your WebApplication outside of your network, first you must do a &amp;quot;port forwarding&amp;quot; operation on your networking router/firewall - a NAT.&lt;br /&gt;
;Some ISPs filter standard server ports, so sometimes you will have to choose an external port that is not filtered.  (Not 80, 25, 443).&lt;br /&gt;
;As an example, you may want to forward port 4443 on the outside network to port 443 of your Network Appliance.   You then would hit your external IP Address on port 4443 from your web browser.   https://public_ip_address:4443 which would then forward to port 443 of the network appliance - in SSL mode for security.&lt;br /&gt;
&lt;br /&gt;
==Disclaimers==&lt;br /&gt;
; All other trademarks are the property of their respective owners.&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	<entry>
		<id>http://www.alarmdecoder.com/wiki/index.php/AlarmDecoder_WebApp</id>
		<title>AlarmDecoder WebApp</title>
		<link rel="alternate" type="text/html" href="http://www.alarmdecoder.com/wiki/index.php/AlarmDecoder_WebApp"/>
				<updated>2015-08-10T19:12:30Z</updated>
		
		<summary type="html">&lt;p&gt;204.10.16.29: /* Configuring SSL */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; __TOC__&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:FAQ]]&lt;br /&gt;
[[Category:Downloads]]&lt;br /&gt;
[[Category:Features]]&lt;br /&gt;
&lt;br /&gt;
=AlarmDecoder WebApp=&lt;br /&gt;
==Overview==&lt;br /&gt;
; The official AlarmDecoder WebApp.  Control your alarm system from your web browser on nearly any device.  Supports all of the AlarmDecoder devices including the AD2USB, AD2SERIAL, and AD2PI.&lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
* Multiple User Accounts&lt;br /&gt;
* Web-based keypad for your alarm system&lt;br /&gt;
* Notifications on alarm events&lt;br /&gt;
* Per-user notifications&lt;br /&gt;
* IP Camera integration&lt;br /&gt;
* Supports all functionality of AlarmDecoder devices&lt;br /&gt;
* Configure your AlarmDecoder device&lt;br /&gt;
* Configure network sharing of your AlarmDecoder device&lt;br /&gt;
* Support for PC/Mac/Linux as well as Mobile and Tablet browsers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:webappkeypad.png|border|Keypad Interface]]&lt;br /&gt;
; The AlarmDecoder WebApp Keypad Interface&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
; The easiest way to install the WebApp is by downloading our pre-built Raspbian image [http://www.alarmdecoder.com/wiki/index.php/Raspberry_Pi here].  However, you can follow the manual installation instructions provided on our github repository [https://github.com/nutechsoftware/alarmdecoder-webapp here]&lt;br /&gt;
&lt;br /&gt;
==Initial Setup==&lt;br /&gt;
; Once the AlarmDecoder WebApp is started (it can take some time to initially start) you may connect to the Application via a web browser and pointing the URL to http://alarmdecoder.local - if this name resolution fails and you are on a Windows System, please download [https://support.apple.com/kb/DL999?locale=en_US Bonjour For Windows] and try again.  This will take you to our first setup screens which will be detailed below.  The device is initially configured for DHCP.&lt;br /&gt;
&lt;br /&gt;
'''IF YOU BOUGHT A BUNDLE FROM US, IT IS ALREADY SET UP.  YOU ONLY NEED TO GO THROUGH SETUP IF YOU NEED TO CHANGE DEFAULT ADDRESS OF DEVICE OTHERWISE CHECK [[Raspberry_Pi|HERE]] FOR DEFAULT PASSWORDS AND CHANGE THEM ACCORDINGLY'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Setup Process Detail===&lt;br /&gt;
; This is your first setup screen when you first visit via your browser&lt;br /&gt;
[[File:01_initial_setup.png|800px|border|First Setup Screen]]&lt;br /&gt;
; Click &amp;quot;Start!&amp;quot; to continue&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Next we will be taken to the device selection screen&lt;br /&gt;
[[File:02_device_type_settings.png|800px|border|Device Type Screen]]&lt;br /&gt;
; Here you are able to select what type of device (AD2USB, AD2SERIAL, AD2PI) as well as the device's location.&lt;br /&gt;
* [[#Local Device]] means the device is connected to the same computer running the WebApp&lt;br /&gt;
* [[#Network Device]] means you have already exposed an AlarmDecoder via ser2sock&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Local Device====&lt;br /&gt;
; If you choose Local Device, this next screen is what you are presented with&lt;br /&gt;
[[File:03_local_device_settings.png|800px|border|Local Device Settings]]&lt;br /&gt;
; Here you will choose your device path and baud rate, usually defaults are fine for the device you chose&lt;br /&gt;
; If you choose &amp;quot;Share AlarmDecoder on your network?&amp;quot; you will be taken to configure ser2sock shown below&lt;br /&gt;
[[File:04_ser2sock_configuration.png|800px|border|Setup Ser2sock]]&lt;br /&gt;
; On this screen you are able to specify the path to your ser2sock configuration file, your hostname or IP address to listen on, as well as the ser2sock port to listen on.  Defaults will work fine.   SSL will force ser2sock into SSL mode - this is typically not needed for your internal network.&lt;br /&gt;
* ser2sock Port is different from the HTTP/WSGI ports - do not choose 80, 443, or 5000.&lt;br /&gt;
&lt;br /&gt;
Skip to [[#Configure Device]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Network Device====&lt;br /&gt;
; If you chose network device instead of local device, you are presented with this screen instead&lt;br /&gt;
[[File:05_network_device_settings.png|800px|border|Network Device Setup]]&lt;br /&gt;
; If you have an AlarmDecoder device shared on your network already via ser2sock, here you can specify the hostname and port for the WebApp to connect to the shared device.&lt;br /&gt;
&lt;br /&gt;
====Configure Device====&lt;br /&gt;
; Once you have told the WebApp what kind of device you have and where it is, you will be presented with a page to configure the AlarmDecoder device itself&lt;br /&gt;
[[File:06_alarmdecoder_settings.png|800px|border|AlarmDecoder Device Settings]]&lt;br /&gt;
; Make sure to set your address correctly!  31 for SE Panels, and for 20P Panels you will have to program an address spot into your panel and assign the AlarmDecoder the newly enabled address.  See [[http://www.alarmdecoder.com/wiki/index.php/Panel_Configuration Panel Configuration]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; After you have completed all of the above steps, you will be taken to a Device Testing screen&lt;br /&gt;
[[File:07_device_testing.png|800px|border|Device Testing]]&lt;br /&gt;
; If any of these tests fail, please make sure your device is configured properly and installed properly.&lt;br /&gt;
;Here is an example of a successful device test&lt;br /&gt;
[[File:Success_device_testing.png|800px|border|Device Testing Success]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Once the device is communicating properly, you will be redirected to a page to create an initial user to log in to the WebApp&lt;br /&gt;
[[File:08_create_initial_account.png|800px|border|Initial User Creation]]&lt;br /&gt;
; After you have created your user, feel free to login and use the WebApp!&lt;br /&gt;
&lt;br /&gt;
==Configure Notifications==&lt;br /&gt;
; Once you are logged in, go to Settings and click on Notifications.  From there, you can edit already configured notifications or click &amp;quot;New Notification&amp;quot; to create a new notification.&lt;br /&gt;
&lt;br /&gt;
[[File:Notifications_main.png|800px|border|Main Notification Interface]]&lt;br /&gt;
; This is the main interface for creating and listing notifications.  Here you can choose to create new or edit existing notifications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Notification_types.png|400px|border|List of Notification Types]]&lt;br /&gt;
; Here is a list of all current supported notification types.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Notification_common_settings.png|800px|border|List of Items to be Notified On]]&lt;br /&gt;
; Here is a list of all of the events that can trigger a notification.  You are able to select which ones you would like to see.  You can also have different notification types alert you for different kinds of notifications.   This interface is common to all notification types.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Email===&lt;br /&gt;
[[File:Notification_email_example.png|800px|border|Email Notification Example using gmail settings]]&lt;br /&gt;
; Here is an example email notification form using gmail settings for example&lt;br /&gt;
* Source Address - Emails appear &amp;quot;From&amp;quot; this address&lt;br /&gt;
* Destination Address - Emails will go &amp;quot;To&amp;quot; this address&lt;br /&gt;
* Email Subject - Emails will contain this subject line&lt;br /&gt;
* Email Server - The server to connect to when sending emails&lt;br /&gt;
* Server Port - The port of the email server to connect to&lt;br /&gt;
* Use TLS? - Enable Transport Layer Security for the session&lt;br /&gt;
* Authenticate with email server? - If a username and password is required by the email server to send, supply them&lt;br /&gt;
* Username - Your email username&lt;br /&gt;
* Password - Your email password&lt;br /&gt;
&lt;br /&gt;
===SMS via Twilio===&lt;br /&gt;
[[File:Twilio_example.png|800px|border|Example of Twilio Notification Configuration]]&lt;br /&gt;
; Here is an example of a Twilio Notification configuration&lt;br /&gt;
* Account SID - Your Twilio Account SID&lt;br /&gt;
* Auth Token - Your Twilio User Auth Token&lt;br /&gt;
* To - Number to Send SMS to&lt;br /&gt;
* From - Your valid Twilio Phone Number&lt;br /&gt;
&lt;br /&gt;
===Google Talk===&lt;br /&gt;
[[File:Googletalk_example.png|800px|border|Example of Google Talk Notification Configuration]]&lt;br /&gt;
; Here is an example of a Google Talk Notification configuration&lt;br /&gt;
* Source Address - Messages will come FROM this address&lt;br /&gt;
* Password - The password for the SOURCE account&lt;br /&gt;
* Destination Address - Messages will go to this address&lt;br /&gt;
&lt;br /&gt;
===Pushover.net===&lt;br /&gt;
[[File:Pushover_example.png|800px|border|Example of Pushover.net Notification Configuration]]&lt;br /&gt;
; Here is the configuration for a Pushover.net notification&lt;br /&gt;
* API Token - The API Token provided by Pushover for your User&lt;br /&gt;
* User/Group Key - The User or Group Key for your account at Pushover&lt;br /&gt;
* Message Priority - In what priority do you want alarm panel notifications&lt;br /&gt;
* Title of Message - Messages sent to Pushover are titled with this text&lt;br /&gt;
&lt;br /&gt;
===Prowl===&lt;br /&gt;
[[File:Prowl_example.png|800px|border|Example of Prowl Notification Configuration]]&lt;br /&gt;
; Here is an example of a Prowl notification configuration&lt;br /&gt;
* API Key - Your Prowl API Key&lt;br /&gt;
* Application Name - Application to Show in Notifications&lt;br /&gt;
* Message Priority - What priority do you want alarm panel notifications to come through as&lt;br /&gt;
&lt;br /&gt;
===NotifyMyAndroid===&lt;br /&gt;
[[File:Notifymyandroid_example.png|800px|border|Example of NotifyMyAndroid configuration]]&lt;br /&gt;
; Here is an example of a NotifyMyAndroid notification configuration&lt;br /&gt;
* API Key - Your NotifyMyAndroid API Key&lt;br /&gt;
* Application Name - Application Name to show in notifications&lt;br /&gt;
* Message Priority - What priority do you want Alarm Panel notifications to come through?&lt;br /&gt;
&lt;br /&gt;
===Growl===&lt;br /&gt;
[[File:Growl_example.png|800px|border|Example of a Growl Notification]]&lt;br /&gt;
; An example of a Growl Notification configuration&lt;br /&gt;
* Hostname - The Growl server to send notification to&lt;br /&gt;
* Port - The Growl Server Port&lt;br /&gt;
* Password - The password for the Growl server&lt;br /&gt;
* Title - Notification Title&lt;br /&gt;
* Message Priority - What priority do you want these messages to come through as?&lt;br /&gt;
&lt;br /&gt;
===Custom URL POST===&lt;br /&gt;
[[File:Custom_example.png|800px|border|Example of a Custom POST notification]]&lt;br /&gt;
; Here is an example configuration for a Custom POST notification&lt;br /&gt;
* POST URL - URL of server to POST data to&lt;br /&gt;
* POST Path - Location on server from URL to post to&lt;br /&gt;
* SSL? - Is the URL SSL or Not&lt;br /&gt;
* POST Type - urlencoded, JSON, or XML POST types supported&lt;br /&gt;
* Custom Values - Here you are able to create your own key/value pairs to send with your notification&lt;br /&gt;
&lt;br /&gt;
==Configure IP Cameras==&lt;br /&gt;
; '''If you are not using our image, or an older version of the image, you must perform a few steps to enable Camera Support'''&lt;br /&gt;
* in the contrib directory of the webapp there is an opencv directory&lt;br /&gt;
* in the opencv directory execute&lt;br /&gt;
**sudo sh opencv.sh&lt;br /&gt;
&lt;br /&gt;
* Once this is done and installed, you can then configure and view a camera.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Camera_list.png|800px|border|Example of Camera Listings]]&lt;br /&gt;
; Here you see the interface where it lists current cameras as well as a button for creating a new camera.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Create_camera.png|800px|border|Example of Creating Camera]]&lt;br /&gt;
; Here we are creating a camera for view in the system&lt;br /&gt;
* Name - The name of the camera for display purposes&lt;br /&gt;
* Snapshot URL - The full URL of the motion jpeg stream for your IP camera&lt;br /&gt;
* Username - The username for authenticating to the camera&lt;br /&gt;
* Password - The password for authenticating to the camera&lt;br /&gt;
&lt;br /&gt;
==Host Settings==&lt;br /&gt;
; Found under settings-&amp;gt;Host&lt;br /&gt;
[[File:Host_settings.png|800px|border|Example of Host Settings Page]]&lt;br /&gt;
; Here you are able to configure your device's hostname, networking, as well as reboot and shutdown the device.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Add Users==&lt;br /&gt;
;Under Settings, click on Users - you will be presented with this screen:&lt;br /&gt;
[[File:User_list.png|800px|border|User List]]&lt;br /&gt;
;Here you are able to edit current users, or create new users.&lt;br /&gt;
&lt;br /&gt;
;By clicking New User, you are then taken to this screen:&lt;br /&gt;
[[File:Create_user.png|800px|border|New User Screen]]&lt;br /&gt;
;Here you fill out the user's details and save.   The user can now login to the webapp.&lt;br /&gt;
&lt;br /&gt;
==Configuring SSL==&lt;br /&gt;
'''This is now enabled by default as of the 05-22-2015 software release.'''&lt;br /&gt;
&lt;br /&gt;
;SSH into your raspberry pi&lt;br /&gt;
;First you must create your SSL certificates and put them in the correct location&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/alarmdecoder.key -out /etc/nginx/ssl/alarmdecoder.crt&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
;Just make sure to fill in the values correctly for your certificate when prompted.&lt;br /&gt;
&lt;br /&gt;
;Next you must edit your nginx alarmdecoder config under /etc/nginx/sites-enabled/alarmdecoder&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
server {&lt;br /&gt;
   listen 80;&lt;br /&gt;
   return 301 https://$host$request_uri;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
server {&lt;br /&gt;
    error_page 502 /502.html;&lt;br /&gt;
&lt;br /&gt;
    listen 443 default_server ssl;&lt;br /&gt;
&lt;br /&gt;
    ssl_certificate /etc/nginx/ssl/alarmdecoder.crt;&lt;br /&gt;
    ssl_certificate_key /etc/nginx/ssl/alarmdecoder.key;&lt;br /&gt;
&lt;br /&gt;
    #ssl on;&lt;br /&gt;
    ssl_session_cache builtin:1000 shared:SSL:10m;&lt;br /&gt;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;&lt;br /&gt;
    #ssl_ciphers HIGH:MEDIUM:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;&lt;br /&gt;
    ssl_ciphers &amp;quot;ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4&amp;quot;;&lt;br /&gt;
    ssl_prefer_server_ciphers on;&lt;br /&gt;
&lt;br /&gt;
    #error_page 497 https://$host:$server_port$request_uri;&lt;br /&gt;
&lt;br /&gt;
    gzip on;&lt;br /&gt;
    gzip_disable &amp;quot;msie6&amp;quot;;&lt;br /&gt;
    gzip_vary on;&lt;br /&gt;
    gzip_proxied any;&lt;br /&gt;
    gzip_comp_level 6;&lt;br /&gt;
    gzip_buffers 16 4k;&lt;br /&gt;
    gzip_http_version 1.1;&lt;br /&gt;
    gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;&lt;br /&gt;
&lt;br /&gt;
    location / { &lt;br /&gt;
        try_files $uri @alarmdecoder; &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    location @alarmdecoder {&lt;br /&gt;
        proxy_pass http://127.0.0.1:5000;&lt;br /&gt;
        include uwsgi_params;&lt;br /&gt;
        uwsgi_param UWSGI_SCHEME $scheme;&lt;br /&gt;
        uwsgi_param SERVER_SOFTWARE nginx/$nginx_version;&lt;br /&gt;
&lt;br /&gt;
        proxy_redirect off;&lt;br /&gt;
        proxy_http_version 1.1;&lt;br /&gt;
        proxy_set_header Upgrade $http_upgrade;&lt;br /&gt;
        proxy_set_header Connection &amp;quot;upgrade&amp;quot;;&lt;br /&gt;
        proxy_set_header Host $http_host;&lt;br /&gt;
        proxy_set_header X-Real-IP $remote_addr;&lt;br /&gt;
        proxy_set_header X-Forwarded-Proto $scheme;&lt;br /&gt;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;&lt;br /&gt;
        proxy_set_header X-Forwarded-Host $server_name;&lt;br /&gt;
        proxy_set_header X-Scheme $scheme;&lt;br /&gt;
        proxy_redirect http://localhost:5000 https://$host;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    location /502.html {&lt;br /&gt;
        root /opt/alarmdecoder-webapp/ad2web/static;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    location ~ \.(jpg|jpeg|png|css|js)$ {&lt;br /&gt;
        root /opt/alarmdecoder-webapp/ad2web;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
;After this, restart the nginx service and you will have forced SSL.&lt;br /&gt;
&lt;br /&gt;
==Port Forwarding==&lt;br /&gt;
;To access your WebApplication outside of your network, first you must do a &amp;quot;port forwarding&amp;quot; operation on your networking router/firewall - a NAT.&lt;br /&gt;
;Some ISPs filter standard server ports, so sometimes you will have to choose an external port that is not filtered.  (Not 80, 25, 443).&lt;br /&gt;
;As an example, you may want to forward port 4443 on the outside network to port 443 of your Network Appliance.   You then would hit your external IP Address on port 4443 from your web browser.   https://public_ip_address:4443 which would then forward to port 443 of the network appliance - in SSL mode for security.&lt;br /&gt;
&lt;br /&gt;
==Disclaimers==&lt;br /&gt;
; All other trademarks are the property of their respective owners.&lt;/div&gt;</summary>
		<author><name>204.10.16.29</name></author>	</entry>

	</feed>