m |
|||
(2 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | + | [[Category:Documentation]] | |
− | AUI | + | [[Category:Specifications]] |
+ | {{PageHeading| | ||
+ | This document outlines the AUI protocol used on Ademco Vista series alarm panels. The AUI protocol is the more advanced communication from the panel to touch screen keypads such as the 6270 | ||
+ | }} | ||
+ | [[File:6270_pr.jpg]] | ||
=Messages Received= | =Messages Received= | ||
==System Response Packet== | ==System Response Packet== | ||
− | + | <br> | |
− | + | LL 0 A 00000000 T S M..M | |
− | < | + | |
Line 14: | Line 17: | ||
encoded ASCII error number. Spaces above are inserted for ease of reading. | encoded ASCII error number. Spaces above are inserted for ease of reading. | ||
− | {| | + | {| class="wikitable" border="1" |
! scope="col" | Field | ! scope="col" | Field | ||
! scope="col" | Description | ! scope="col" | Description | ||
Line 37: | Line 40: | ||
|- | |- | ||
|} | |} | ||
− | One or both bits may be set (for a broadcast message). | + | One or both bits may be set (for a broadcast message). AlarmDecoder may not filter |
out messages sent to other addresses, which is only a concern in environments | out messages sent to other addresses, which is only a concern in environments | ||
with multiple AUI’s. The examples used herein specify address 1. | with multiple AUI’s. The examples used herein specify address 1. | ||
Line 67: | Line 70: | ||
restoring a zone. Typical messages received on a zone fault, again with spacing inserted: | restoring a zone. Typical messages received on a zone fault, again with spacing inserted: | ||
− | + | 120600000000 60 6c0245 6c f5ec0101010000 | |
− | 120600000000 60 6c0245 6c f5ec0101010000 | + | 160600000000 60 630245 43f531fb45 6c f5ec01010101 |
− | 160600000000 60 630245 43f531fb45 6c f5ec01010101 | + | |
− | + | ||
Line 78: | Line 79: | ||
represented below: | represented below: | ||
− | {| | + | {| class="wikitable" border="1" |
|+ | |+ | ||
|- | |- | ||
Line 125: | Line 126: | ||
</pre> | </pre> | ||
− | {| | + | {| class="wikitable" border="1" |
! scope="col" | Field | ! scope="col" | Field | ||
! scope="col" | Description | ! scope="col" | Description | ||
Line 169: | Line 170: | ||
</pre> | </pre> | ||
− | {| | + | {| class="wikitable" border="1" |
! scope="col" | Field | ! scope="col" | Field | ||
! scope="col" | Description | ! scope="col" | Description | ||
|- | |- | ||
| 02 | | 02 | ||
− | | Queried many times while in programming mode by an AUI. | + | | '''Unknown''' |
− | Example: | + | Queried many times while in programming mode by an AUI. |
+ | Example: | ||
+ | 0060 620245 43f531fb 43 6c | ||
+ | |||
+ | |||
Returns data very similar to the asynchronous notification: | Returns data very similar to the asynchronous notification: | ||
− | + | 0e020000000050 fefe ec 01010101 | |
+ | |||
+ | |||
Asynchronous comparison: | Asynchronous comparison: | ||
− | + | 160600000000 60 630245 43f531fb 45 6c f5ec01010101 | |
+ | |||
+ | |||
The ASCII 1 parameter has no known purpose and does not appear to be related to the partition. When sent during Programming Mode the message returns a different status: | The ASCII 1 parameter has no known purpose and does not appear to be related to the partition. When sent during Programming Mode the message returns a different status: | ||
− | + | 0b040000000050 fefe ec 05 | |
|- | |- | ||
| 03 | | 03 | ||
− | | Secure commands | + | | '''Secure commands''' |
− | This sub-type requires a password. These commands do not function outside of an AUI scenario. There is likely some initialization sequence which is not being correctly followed (single character messages can be substituted). The first parameter contains a hex encoded ASCII password (1234), and the second parameter specifies the operation, in this example ARM STAY. | + | This sub-type requires a password. These commands do not function outside of an AUI scenario. There is likely some initialization sequence which is not being correctly followed (single character messages can be substituted). The first parameter contains a hex encoded ASCII password (1234), and the second parameter specifies the operation, in this example ARM STAY. |
− | Example: | + | |
+ | Example: | ||
+ | 00606203 88 ec 31323334 fb 456c f5 ec 010201010101 | ||
+ | |||
+ | |||
Returns an apparent status: | Returns an apparent status: | ||
− | + | 0d020000000050 fefe ec 010001 | |
− | Arm Message Format: | + | |
− | + | ||
− | {| | + | '''Arm Message Format:''' |
+ | 00606203 88 ec P..P fb 456c f5 ec 010A0W010I01 | ||
+ | {| class="wikitable" border="1" | ||
! scope="col" | Field | ! scope="col" | Field | ||
! scope="col" | Description | ! scope="col" | Description | ||
Line 208: | Line 223: | ||
|} | |} | ||
− | Disarm Message Format: | + | '''Disarm Message Format:''' |
− | + | 00606203 88 ec P..P fb 456c f5 ec 010101 | |
− | {| | + | {| class="wikitable" border="1" |
! scope="col" | Field | ! scope="col" | Field | ||
! scope="col" | Description | ! scope="col" | Description | ||
Line 219: | Line 234: | ||
|} | |} | ||
− | Chime Mode Message: | + | '''Chime Mode Message:''' |
− | + | 00606203 88 ec p..p fb 456c f5 ec 010C0F01 | |
− | {| | + | {| class="wikitable" border="1" |
! scope="col" | Field | ! scope="col" | Field | ||
! scope="col" | Description | ! scope="col" | Description | ||
Line 243: | Line 258: | ||
</pre> | </pre> | ||
− | {| | + | {| class="wikitable" border="1" |
! scope="col" | Field | ! scope="col" | Field | ||
! scope="col" | Description | ! scope="col" | Description | ||
|- | |- | ||
| 02 | | 02 | ||
− | | Various Unknown | + | | '''Various Unknown''' |
− | Unknown messages sent by an AUI. | + | Unknown messages sent by an AUI. |
− | Unknown 1<br> | + | |
− | Sent periodically, even during Programming Mode. The first message sent by an AUI during startup. | + | '''Unknown 1'''<br> |
− | Example: | + | Sent periodically, even during Programming Mode. The first message sent by an AUI during startup. |
+ | |||
+ | Example: | ||
+ | 00606b02 4343 | ||
+ | |||
+ | |||
Returns: | Returns: | ||
− | + | 0e020000000050 fe ec 0201010000 (Programming Mode) | |
− | + | 0e020000000050 fe ec 0101010000 (Immediately after booting) | |
− | + | 0e020000000050 fe ec 01017f0000 (Normal return) | |
|- | |- | ||
| 09 | | 09 | ||
− | | Logs | + | | '''Logs''' |
− | Used to query log entries. | + | Used to query log entries. |
− | Query Log Entry Count<br> | + | |
− | Query the count of log entries using parameters. | + | '''Query Log Entry Count'''<br> |
− | Example: | + | Query the count of log entries using parameters. |
+ | |||
+ | Example: | ||
+ | 00606b09 4549 f5 A..A fb454a f5 B..B fb 4361 | ||
− | {| | + | {| class="wikitable" border="1" |
! scope="col" | Field | ! scope="col" | Field | ||
! scope="col" | Description | ! scope="col" | Description | ||
Line 276: | Line 299: | ||
|} | |} | ||
− | Returns: | + | Returns: |
− | Returns the number of entries in the log as a hex encoded ASCII value, in this example 100. Other parameters return different numbers. Using 1 or 2 for the first value appear to be valid, and using up to 14 - 24 appear to be valid for the second value. Reading logs does not function outside of an AUI device, likely due to incorrect initialization. Using the ASCII keypad method to retrieve entries after querying the total count does function.<br> | + | 0d020000000050 fefefe 313030 |
+ | |||
+ | |||
+ | Returns the number of entries in the log as a hex encoded ASCII value, in this example 100. Other parameters return different numbers. Using 1 or 2 for the first value appear to be valid, and using up to 14 - 24 appear to be valid for the second value. Reading logs does not function outside of an AUI device, likely due to incorrect initialization. Using the ASCII keypad method to retrieve entries after querying the total count does function. | ||
+ | |||
+ | '''Query Log Entry'''<br> | ||
+ | Query a specific log entry using parameters. | ||
− | + | Example: | |
− | + | 00606b09 4549 f5 A..A fb 454a f5 B..B fb 4543f5 N..N fb 436c | |
− | Example: | + | |
− | {| | + | {| class="wikitable" border="1" |
! scope="col" | Field | ! scope="col" | Field | ||
! scope="col" | Description | ! scope="col" | Description | ||
Line 297: | Line 325: | ||
|} | |} | ||
− | Returns: | + | Returns: |
− | Returns the hex encoded ASCII log entry, | + | 26020000000050 fefefefe ec 50302030312f30312030323a3330414d2045333032205a303030 |
− | example. Note that querying log entries does not currently work. | + | |
+ | |||
+ | Returns the hex encoded ASCII log entry, “P0 01/01 02:30AM E302 Z000” in this example. Note that querying log entries does not currently work. | ||
|- | |- | ||
| 0a | | 0a | ||
− | | Password, Various Unknown | + | | '''Password, Various Unknown''' |
A collection of password-oriented message types (T) all using the 0a message sub-type: | A collection of password-oriented message types (T) all using the 0a message sub-type: | ||
− | + | 006 S 6b 0a T M..M | |
− | User Information (80)<br> | + | |
− | Query access information of a user based on a given password. | + | |
− | Example: | + | '''User Information (80)'''<br> |
+ | Query access information of a user based on a given password. | ||
+ | |||
+ | Example: | ||
+ | 00600a 80 ec P..P f5ec U..U | ||
− | {| | + | {| class="wikitable" border="1" |
! scope="col" | Field | ! scope="col" | Field | ||
! scope="col" | Description | ! scope="col" | Description | ||
Line 319: | Line 353: | ||
| Password of a user whose access is to be returned. | | Password of a user whose access is to be returned. | ||
Returns: <pre>0f020000000050 feec X..X 00 U..U 00</pre> | Returns: <pre>0f020000000050 feec X..X 00 U..U 00</pre> | ||
+ | {| class="wikitable" border="1" | ||
+ | ! scope="col" | Field | ||
+ | ! scope="col" | Description | ||
|- | |- | ||
| X..X | | X..X | ||
| Hex encoded ASCII digits representing access flags for each partition. The digits are terminated by a zero byte. In the case of a Vista 20P this would be partitions 1, 2, 3. | | Hex encoded ASCII digits representing access flags for each partition. The digits are terminated by a zero byte. In the case of a Vista 20P this would be partitions 1, 2, 3. | ||
− | + | {| class="wikitable" border="1" | |
− | {| | + | |
! scope="col" | Field | ! scope="col" | Field | ||
! scope="col" | Description | ! scope="col" | Description | ||
Line 353: | Line 389: | ||
Example: <pre>0f040000000050 feec 30303000 3100</pre> | Example: <pre>0f040000000050 feec 30303000 3100</pre> | ||
This example shows the Installer User ID one with Installer access (zero) to each partition. An unknown password returns “???” for the partition access with no User ID field. | This example shows the Installer User ID one with Installer access (zero) to each partition. An unknown password returns “???” for the partition access with no User ID field. | ||
+ | |} | ||
|} | |} | ||
− | Installer Code (81)<br> | + | '''Installer Code (81)'''<br> |
− | Query the installer code. | + | Query the installer code. |
− | Example: | + | |
− | Returns: | + | Example: |
+ | 00606b 0a 81 | ||
+ | |||
+ | Returns: | ||
+ | 0d040000000050 feec P..P | ||
− | {| | + | {| class="wikitable" border="1" |
! scope="col" | Field | ! scope="col" | Field | ||
! scope="col" | Description | ! scope="col" | Description | ||
Line 368: | Line 409: | ||
|} | |} | ||
− | Unknown 1 (8e)<br> | + | '''Unknown 1 (8e)'''<br> |
− | Unknown query sent by an AUI near the end of initialization. Appears to return a hex encoded ASCII zero. | + | Unknown query sent by an AUI near the end of initialization. Appears to return a hex encoded ASCII zero. |
− | + | ||
− | + | ||
− | Unknown 2 (8f)<br> | + | Example: |
− | Unknown query sent by an AUI near the end of initialization. Appears to return a hex encoded ASCII one. | + | 00606b 0a 8e |
− | Example: | + | |
− | Returns: | + | Returns: |
+ | 09040000000050 fe 30 | ||
+ | |||
+ | |||
+ | '''Unknown 2 (8f)'''<br> | ||
+ | Unknown query sent by an AUI near the end of initialization. Appears to return a hex encoded ASCII one. | ||
+ | |||
+ | Example: | ||
+ | 00606b 0a 8f | ||
+ | |||
+ | Returns: | ||
+ | 09040000000050 fe 31 | ||
|- | |- | ||
| 0b | | 0b | ||
− | | System Information, Various Unknown | + | | '''System Information, Various Unknown''' |
A collection of system information message types (T) all using the 0b message sub-type: | A collection of system information message types (T) all using the 0b message sub-type: | ||
− | + | 006 S 6b 0b T M..M | |
− | Unknown 1<br> | + | '''Unknown 1'''<br> |
− | Sent during AUI startup. Appears to be sent in error, as it returns an error. It used to be sent three times on older 128BP units returning fe with no content, and possibly one of the occurrences may have been missed. | + | Sent during AUI startup. Appears to be sent in error, as it returns an error. It used to be sent three times on older 128BP units returning fe with no content, and possibly one of the occurrences may have been missed. |
− | + | ||
− | + | ||
− | + | ||
− | + | Example: | |
− | + | 00606b0b 456c 32 | |
− | Example: | + | |
− | + | ||
− | + | ||
− | + | Returns: | |
− | Returns | + | 09020000000050 fd 32 |
− | + | ||
− | + | ||
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | + | Appears to be complaining about the extraneous trailing 32. | |
− | + | ||
− | + | ||
− | + | ||
− | + | '''System Description (31)'''<br> | |
− | + | Returns a hex encoded ASCII system description. | |
− | + | ||
− | + | ||
− | + | Example: | |
− | + | 00606b0b 4543 f5 31 fb 436c | |
− | Example: | + | |
− | + | ||
− | Unknown | + | Returns: |
− | Sent near the end of AUI initialization as part of a set of unknown queries (34 - 37). Always returns the same two zero terminated hex encoded ASCII digit parameters.<br> | + | 13020000000050 fefeec 56495354412d323050 |
− | Example: < | + | |
− | Returns: | + | |
+ | Returns “Vista-20P” in this example. | ||
+ | |||
+ | '''Firmware Version (32)'''<br> | ||
+ | Returns a hex encoded ASCII system firmware version. | ||
+ | |||
+ | Example: | ||
+ | 00606b0b 4543 f5 32 fb 436c | ||
+ | |||
+ | Returns: | ||
+ | 15020000000050 fefeec 30372e30302030342e3031 | ||
+ | |||
+ | |||
+ | Returns “07.00 04.01” in this example. | ||
+ | |||
+ | '''Unknown 2 (33)'''<br> | ||
+ | Sent occasionally by an AUI, returning variously one or two as a hex encoded ASCII digit. | ||
+ | |||
+ | Example: | ||
+ | 00606b0b 4543 f5 33 fb 436c | ||
+ | |||
+ | Returns: | ||
+ | 0a020000000050 fefe 31 | ||
+ | |||
+ | |||
+ | '''Unknown 3 (34)'''<br> | ||
+ | Sent near the end of AUI initialization as part of a set of unknown queries (34 - 37). Always returns 1f | ||
+ | |||
+ | Example: | ||
+ | 00606b0b 4543 f5 34 fb 436c | ||
+ | |||
+ | Returns: | ||
+ | 0b020000000050 fefeec 1f | ||
+ | |||
+ | |||
+ | '''Unknown 4 (35)'''<br> | ||
+ | Sent near the end of AUI initialization as part of a set of unknown queries (34 - 37). Always returns the same two zero terminated hex encoded ASCII digit parameters. | ||
+ | |||
+ | Example: | ||
+ | 00606b0b 4543 f5 35 fb 436c | ||
+ | |||
+ | Returns: | ||
+ | 0d020000000050 fefeec 300031 | ||
+ | |||
+ | |||
+ | '''Unknown 5 (36)'''<br> | ||
+ | Sent near the end of AUI initialization as part of a set of unknown queries (34 - 37). Always returns the same two zero terminated hex encoded ASCII digit parameters. | ||
+ | |||
+ | Example: | ||
+ | 00606b0b 4543 f5 36 fb 436c | ||
+ | |||
+ | Returns: | ||
+ | 0e020000000050 fefeec 33003439 | ||
+ | |||
+ | |||
+ | '''Unknown 6 (37)'''<br> | ||
+ | Sent near the end of AUI initialization as part of a set of unknown queries (34 - 37). Always returns the same two zero terminated hex encoded ASCII digit parameters. | ||
+ | |||
+ | Example: | ||
+ | 00606b0b 4543 f5 37 fb 436c | ||
+ | |||
+ | Returns: | ||
+ | 0e020000000050 fefeec 39003634 | ||
|- | |- | ||
| 0c | | 0c | ||
− | | Partition Information | + | | '''Partition Information''' |
− | A collection of partition information messages, distinguished by parameters, all using the 0c message sub-type: | + | A collection of partition information messages, distinguished by parameters, all using the 0c message sub-type: |
− | + | 006 S 6b 0c M..M | |
− | Partition Count<br> | + | |
− | Query the number of partitions. Returns the entry count as a hex encoded ASCII digit, typically returning three. | + | '''Partition Count'''<br> |
− | Example: | + | Query the number of partitions. Returns the entry count as a hex encoded ASCII digit, typically returning three. |
− | Returns: | + | |
+ | Example: | ||
+ | 00606b0c 4361 | ||
+ | |||
+ | Returns: | ||
+ | 09020000000050 fe C..C | ||
− | {| | + | {| class="wikitable" border="1" |
! scope="col" | Field | ! scope="col" | Field | ||
! scope="col" | Description | ! scope="col" | Description | ||
Line 443: | Line 540: | ||
|} | |} | ||
− | Partition Identifier<br> | + | '''Partition Identifier'''<br> |
− | Query the identifier used for a partition. The number of partitions would previously be queried using Partition Count. | + | Query the identifier used for a partition. The number of partitions would previously be queried using Partition Count. |
− | + | ||
− | {| | + | Example: |
+ | 00606b0c 4543 f5 E..E fb 436c | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
! scope="col" | Field | ! scope="col" | Field | ||
! scope="col" | Description | ! scope="col" | Description | ||
Line 453: | Line 552: | ||
| E..E | | E..E | ||
| The hex encoded ASCII partition entry, typically 1 - 3 (31 - 33). | | The hex encoded ASCII partition entry, typically 1 - 3 (31 - 33). | ||
− | Returns: | + | Returns: |
+ | 0b020000000050 fefeec P..P | ||
|- | |- | ||
| P..P | | P..P | ||
Line 459: | Line 559: | ||
|} | |} | ||
− | Partition Entries<br> | + | '''Partition Entries'''<br> |
− | Query the entries present for a specified partition identifier. Entries include zones and other zone-like items. The partition identifier would previously be queried using Partition Identifier. | + | Query the entries present for a specified partition identifier. Entries include zones and other zone-like items. The partition identifier would previously be queried using Partition Identifier. |
− | + | ||
− | {| | + | Example: |
+ | 00606b0c 4549 f5 P..P fb 4361 | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
! scope="col" | Field | ! scope="col" | Field | ||
! scope="col" | Description | ! scope="col" | Description | ||
Line 472: | Line 574: | ||
| P..P | | P..P | ||
| The hex encoded ASCII partition identifier. | | The hex encoded ASCII partition identifier. | ||
− | Returns: | + | Returns: |
+ | LL020000000050 fefe C..C | ||
|- | |- | ||
| C..C | | C..C | ||
Line 478: | Line 581: | ||
|} | |} | ||
− | Partition Entry<br> | + | '''Partition Entry'''<br> |
− | Queries information on a specific entry in a partition. This returns zero terminated hex encoded ASCII fields. The last field is not zero-terminated. Note undocumented Device Types: Onboard zones 1 - 8 is one; Zone number 99 is six; Hardware is zero. | + | Queries information on a specific entry in a partition. This returns zero terminated hex encoded ASCII fields. The last field is not zero-terminated. Note undocumented Device Types: Onboard zones 1 - 8 is one; Zone number 99 is six; Hardware is zero. |
− | + | ||
− | {| | + | Example: |
+ | 00606b0c 4549 f5 P..P fb 4543 f5 E..E fb 436c | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
! scope="col" | Field | ! scope="col" | Field | ||
! scope="col" | Description | ! scope="col" | Description | ||
Line 491: | Line 596: | ||
| E..E | | E..E | ||
| The one-based hex encoded ASCII entry to enumerate. | | The one-based hex encoded ASCII entry to enumerate. | ||
− | Returns: | + | Returns: |
+ | LL020000000050 fefefeec Z..Z 00 T..T 00 D..D 00 N..N | ||
+ | {| class="wikitable" border="1" | ||
+ | ! scope="col" | Field | ||
+ | ! scope="col" | Description | ||
+ | |- | ||
|- | |- | ||
| LL | | LL | ||
Line 508: | Line 618: | ||
| Optional zone name. | | Optional zone name. | ||
|} | |} | ||
− | + | |} | |
|- | |- | ||
| 0d | | 0d | ||
− | | Unknown | + | | '''Unknown''' |
Sent as the sixth message during AUI boot. Always returns hex encoded ASCII one. | Sent as the sixth message during AUI boot. Always returns hex encoded ASCII one. | ||
− | Example: | + | |
− | Returns: | + | Example: |
+ | 0060 6b0d4343 | ||
+ | |||
+ | Returns: | ||
+ | 09020000000050 fe 31 | ||
|- | |- | ||
| 0e | | 0e | ||
− | | Set Current Partition | + | | '''Set Current Partition''' |
Sent as the seventh message during AUI boot defaulting a keypad to the first partition entry. Used to set the AUI keypad to a particular partition entry (as opposed to partition ID, as the message is sent before the partition IDs are enumerated). | Sent as the seventh message during AUI boot defaulting a keypad to the first partition entry. Used to set the AUI keypad to a particular partition entry (as opposed to partition ID, as the message is sent before the partition IDs are enumerated). | ||
− | |||
− | {| | + | Example: |
+ | 0060 6b0e4543f5 P..P | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
! scope="col" | Field | ! scope="col" | Field | ||
! scope="col" | Description | ! scope="col" | Description | ||
Line 532: | Line 648: | ||
|- | |- | ||
| 0f | | 0f | ||
− | | Device Enumeration | + | | '''Device Enumeration''' |
A collection of what appear to be device enumeration messages, distinguished by parameters, all using the 0f message sub-type: | A collection of what appear to be device enumeration messages, distinguished by parameters, all using the 0f message sub-type: | ||
− | 006 S 6b 0f M..M | + | 006 S 6b 0f M..M |
− | Device Count<br> | + | '''Device Count'''<br> |
− | Query the count of consoles and expansion cards. Sent during AUI boot after enumerating the partitions. | + | Query the count of consoles and expansion cards. Sent during AUI boot after enumerating the partitions. |
− | + | ||
− | + | ||
− | {| | + | Example: |
+ | 00606b0f 4361 | ||
+ | |||
+ | Returns: | ||
+ | LL020000000050 fe D..D | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
! scope="col" | Field | ! scope="col" | Field | ||
! scope="col" | Description | ! scope="col" | Description | ||
Line 552: | Line 672: | ||
|} | |} | ||
− | Device Entry<br> | + | '''Device Entry'''<br> |
− | Query the specified device entry. Sent during AUI boot after sending a Device Count. Appears to return entries for graphic consoles, expansion boards, and text consoles. Returned fields are zero-terminated hex encoded ASCII numbers, excluding the last entry which is not zero-terminated. | + | Query the specified device entry. Sent during AUI boot after sending a Device Count. Appears to return entries for graphic consoles, expansion boards, and text consoles. Returned fields are zero-terminated hex encoded ASCII numbers, excluding the last entry which is not zero-terminated. |
− | + | ||
− | {| | + | Example: |
+ | 006d6b0f 4543 f5 E..E fb 436c | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
! scope="col" | Field | ! scope="col" | Field | ||
! scope="col" | Description | ! scope="col" | Description | ||
Line 562: | Line 684: | ||
| E..E | | E..E | ||
| The one-based hex encoded ASCII entry to enumerate. | | The one-based hex encoded ASCII entry to enumerate. | ||
− | Returns: LL020000000055 fefeec A..A 00 U..U 00 X..X 00 Y..Y 00 Z..Z | + | Returns: |
+ | LL020000000055 fefeec A..A 00 U..U 00 X..X 00 Y..Y 00 Z..Z | ||
+ | {| class="wikitable" border="1" | ||
+ | ! scope="col" | Field | ||
+ | ! scope="col" | Description | ||
+ | |- | ||
|- | |- | ||
| LL | | LL | ||
Line 581: | Line 708: | ||
| Z..Z | | Z..Z | ||
| Unknown. Set to 0. | | Unknown. Set to 0. | ||
+ | |} | ||
|} | |} | ||
|} | |} |
Latest revision as of 15:27, 3 January 2014
This document outlines the AUI protocol used on Ademco Vista series alarm panels. The AUI protocol is the more advanced communication from the panel to touch screen keypads such as the 6270
Contents |
Messages Received
System Response Packet
LL 0 A 00000000 T S M..M
There are two basic packet types received from the system: A response to a previous request,
and asynchronous broadcast packet. Most message data (M..M) typically begin with one or more
“fe” bytes. The presence of “fd” or “fc” indicates an error return, sometimes followed by a hex
encoded ASCII error number. Spaces above are inserted for ease of reading.
Field | Description | ||||||
---|---|---|---|---|---|---|---|
LL | Inclusive packet length. | ||||||
0 | Unknown. | ||||||
A | Destination address bitmask.
One or both bits may be set (for a broadcast message). AlarmDecoder may not filter out messages sent to other addresses, which is only a concern in environments with multiple AUI’s. The examples used herein specify address 1. | ||||||
00000000 | Unknown. | ||||||
T | Message type (binary data).
| ||||||
S | Message sequence ID based either on the message sent, or a sequence number
used by the controller (binary data). |
System Asynchronous Response Packet
The asynchronous messages are sent on various events, such as a zone fault, arming, disarming, etc. The two known types of asynchronous packets do not appear to contain any zone-specific information, nor are there differences between messages received from faulting or restoring a zone. Typical messages received on a zone fault, again with spacing inserted:
120600000000 60 6c0245 6c f5ec0101010000 160600000000 60 630245 43f531fb45 6c f5ec01010101
The messages are likely partition-specific. That is, broadcast to all keypads set to a specific
partition. The second message contains bits below that indicate a state change. The bits are for
the most part only set for a specific instance of a message. Each non-zero nibble after the “ec” is
represented below:
Notify Type | State |
---|---|
0001 0001 0001 0001 | disarmed |
0011 0001 0001 0001 | chime mode on |
0010 0001 0001 0010 | armed stay, counting down |
0010 0010 0001 0010 | armed away, counting down |
0010 0001 0010 0010 | armed instant, counting down |
0010 0001 0001 0001 | armed stay/away |
0010 0001 0010 0001 | armed instant |
0010 0001 0001 0100 | armed, alarming |
0101 | in programming mode |
Messages Sent
Single byte messages representing key presses on the keypad are accepted by the controller. These use the same values as the alpha keypad: 00 - 09 for the numbers, 0a = *, 0b = #, and F1 - F4 = 1c - 1f.
Request header
Messages otherwise follow the basic format:
006 S TT tt M..M
Field | Description | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
006 | Unknown. | ||||||||||
S | Optional sequence count which generates a related return sequence count in the response message. The AUI keypads rotate through the sequence 8 - f. Setting this to zero returns a zero in the corresponding response, and seems to have no other effect. | ||||||||||
TT | The type of packet, of which there are typically multiple sub-types. | ||||||||||
tt | The sub-type of packet, of which there are at times multiple parameters that differentiate sub-types. | ||||||||||
M..M | The message parameters. These parameters are typically separated by very similar-looking bytes, and almost always terminated by one of two bytes. The exact purpose and meaning of these different separators is not currently known. A 43 starts many parameters, and a 45 terminates many of those same parameters.
|
Information, Arm/Disarm, Chime
Various known and unknown message sub-types all using the 62 message group:
006 S 62 tt M..M
Field | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
02 | Unknown
Queried many times while in programming mode by an AUI. Example: 0060 620245 43f531fb 43 6c
0e020000000050 fefe ec 01010101
160600000000 60 630245 43f531fb 45 6c f5ec01010101
0b040000000050 fefe ec 05 | ||||||||||||||||||||||
03 | Secure commands
This sub-type requires a password. These commands do not function outside of an AUI scenario. There is likely some initialization sequence which is not being correctly followed (single character messages can be substituted). The first parameter contains a hex encoded ASCII password (1234), and the second parameter specifies the operation, in this example ARM STAY. Example: 00606203 88 ec 31323334 fb 456c f5 ec 010201010101
0d020000000050 fefe ec 010001
00606203 88 ec P..P fb 456c f5 ec 010A0W010I01
Disarm Message Format: 00606203 88 ec P..P fb 456c f5 ec 010101
Chime Mode Message: 00606203 88 ec p..p fb 456c f5 ec 010C0F01
|
Information, Enumeration
Various known and unknown message sub-types all using the 6b message group:
006 S 6b tt M..M
Field | Description | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
02 | Various Unknown
Unknown messages sent by an AUI. Unknown 1 Example: 00606b02 4343
0e020000000050 fe ec 0201010000 (Programming Mode) 0e020000000050 fe ec 0101010000 (Immediately after booting) 0e020000000050 fe ec 01017f0000 (Normal return) | ||||||||||||||||||||||||||||||||||||
09 | Logs
Used to query log entries. Query Log Entry Count Example: 00606b09 4549 f5 A..A fb454a f5 B..B fb 4361
Returns: 0d020000000050 fefefe 313030
Query Log Entry Example: 00606b09 4549 f5 A..A fb 454a f5 B..B fb 4543f5 N..N fb 436c
Returns: 26020000000050 fefefefe ec 50302030312f30312030323a3330414d2045333032205a303030
| ||||||||||||||||||||||||||||||||||||
0a | Password, Various Unknown
A collection of password-oriented message types (T) all using the 0a message sub-type: 006 S 6b 0a T M..M
Example: 00600a 80 ec P..P f5ec U..U
Installer Code (81) Example: 00606b 0a 81 Returns: 0d040000000050 feec P..P
Unknown 1 (8e) Example: 00606b 0a 8e Returns: 09040000000050 fe 30
Example: 00606b 0a 8f Returns: 09040000000050 fe 31 | ||||||||||||||||||||||||||||||||||||
0b | System Information, Various Unknown
A collection of system information message types (T) all using the 0b message sub-type: 006 S 6b 0b T M..M Unknown 1 Example: 00606b0b 456c 32 Returns: 09020000000050 fd 32
System Description (31) Example: 00606b0b 4543 f5 31 fb 436c Returns: 13020000000050 fefeec 56495354412d323050
Firmware Version (32) Example: 00606b0b 4543 f5 32 fb 436c Returns: 15020000000050 fefeec 30372e30302030342e3031
Unknown 2 (33) Example: 00606b0b 4543 f5 33 fb 436c Returns: 0a020000000050 fefe 31
Example: 00606b0b 4543 f5 34 fb 436c Returns: 0b020000000050 fefeec 1f
Example: 00606b0b 4543 f5 35 fb 436c Returns: 0d020000000050 fefeec 300031
Example: 00606b0b 4543 f5 36 fb 436c Returns: 0e020000000050 fefeec 33003439
Example: 00606b0b 4543 f5 37 fb 436c Returns: 0e020000000050 fefeec 39003634 | ||||||||||||||||||||||||||||||||||||
0c | Partition Information
A collection of partition information messages, distinguished by parameters, all using the 0c message sub-type: 006 S 6b 0c M..M Partition Count Example: 00606b0c 4361 Returns: 09020000000050 fe C..C
Partition Identifier Example: 00606b0c 4543 f5 E..E fb 436c
Partition Entries Example: 00606b0c 4549 f5 P..P fb 4361
Partition Entry Example: 00606b0c 4549 f5 P..P fb 4543 f5 E..E fb 436c
| ||||||||||||||||||||||||||||||||||||
0d | Unknown
Sent as the sixth message during AUI boot. Always returns hex encoded ASCII one. Example: 0060 6b0d4343 Returns: 09020000000050 fe 31 | ||||||||||||||||||||||||||||||||||||
0e | Set Current Partition
Sent as the seventh message during AUI boot defaulting a keypad to the first partition entry. Used to set the AUI keypad to a particular partition entry (as opposed to partition ID, as the message is sent before the partition IDs are enumerated). Example: 0060 6b0e4543f5 P..P
| ||||||||||||||||||||||||||||||||||||
0f | Device Enumeration
A collection of what appear to be device enumeration messages, distinguished by parameters, all using the 0f message sub-type: 006 S 6b 0f M..M Device Count Example: 00606b0f 4361 Returns: LL020000000050 fe D..D
Device Entry Example: 006d6b0f 4543 f5 E..E fb 436c
|