Protocol

Revision as of 13:33, 17 December 2013 by 204.10.16.29 (Talk)

Contents

Commands

Command Description
= Reboot the device.
 ! Configure the device via prompts.
C Sets or retrieves configuration parameters.
L Emulate virtual zone opens and closes.
\x01\x01\x01 Send Function Key #1
\x02\x02\x02 Send Function Key #2
\x03\x03\x03 Send Function Key #3
\x04\x04\x04 Send Function Key #4
0123456789*# Send key to panel

Reboot

TODO

Zone Emulation

TODO

Function Keys

TODO

Device Configuration

The AlarmDecoder configuration can be viewed or modified in one of two ways: prompted or programmatically.

Name Default Value Valid Values (Regex) Description
ADDRESS 18 [0-9]{2} Keypad address assigned to the AlarmDecoder.
CONFIGBITS FF00 [0-9a-f]{4} Special settings for the device. See CONFIGBITS for more information.
MASK FFFFFFFF [0-9a-f]{8} Address mask used to filter for keypad alphanumeric messages.
EXP NNNNN [YN]{5} Emulation of zone expanders 1-5
REL NNNNN [YN]{4} Emulation of relay expanders 1-4
LRR N [YN] Emulation of Long Range Radio expander
DEDUPLICATE N [YN] If enabled, removes duplicate alphanumeric keypad messages.

CONFIGBITS

CONFIGBITS is a setting that's used to enable special functionality on the AlarmDecoder. You can enable these by masking the correct bits.

Mask Description
0x0001 Enable reporting of AUI messages.
0x0002 Enable reporting of keypress events.
0x0004 Disable prompts for L and | commands.
0x0008 Enable the prefixing of panel messages with !KMP.
0x0100 Enable reporting of RFX messages.

Prompted

If you send ! followed by a carriage return you will be prompted to configure each field. This prompt also includes a basic description of the setting as well as it's current value.

You may hit enter to keep the current value or provide a new one.

Example:

!>Ademco/DSC  Mode A/D  (A) :>
!>Keypad Address       (18) :>
!WARNING. Do not enable a module if the physical module exists on the system.
!Zone Expanders Y/N Max allowed: 02
!>expander module #01 ZN 09-16 (N) :>
!>expander module #02 ZN 17-24 (N) :>
!>expander module #03 ZN 25-32 (N) :>
!>expander module #04 ZN 33-40 (N) :>
!>expander module #05 ZN 41-48 (Y) :>
!Relay Modules Y/N Max allowed: 04
!>relay module #01 (Y) :>
!>relay module #02 (N) :>
!>relay module #03 (N) :>
!>relay module #04 (N) :>
!>Emulate Long Range Radio Y/N: (Y) :>
!>ZoneTracker track zone restore Y/N: (N) :>
!>Address Filter Mask  (ffffffff) :>
!>Deduplicate          (N) :>
!>Config Bits        (ff04) :>

Programmatic

You may retrieve all of the current device settings by sending C to the panel followed by a carriage return (\r).

Retrieving settings:

  • Send: C\r
  • Response: !CONFIG>ADDRESS=18&CONFIGBITS=ff00&LRR=N&EXP=NNNNN&REL=NNNN&MASK=ffffffff&DEDUPLICATE=N

It can also be used to set values:

  • Send: CADDRESS=20\r
  • Response: !>ADDRESS=20

The same command may be used to set multiple values:

  • Send: CADDRESS=20&DEDUPLICATE=Y\r
  • Response: !>ADDRESS=20&DEDUPLICATE=Y

Message Types

There are several types of messages produced by the AlarmDecoder. These include: Keypad, Relay Expander, Zone Expander, RFX, LRR, and AUI.

Keypad

Keypad messages are by far the most common message type produced by the AlarmDecoder. These messages also have an optional header that can be enabled in the CONFIGBITS. This setting prefixes all keypad messages with !KPM:.

Keypad Format
[001000010000--------],010,[f70700060010808c08020000],"ARMED ***STAY** ZONE BYPASSED "
 
Bit field Numeric code Raw data Alphanumeric Keypad Message
[001000010000--------] 010 [f70700060010808c08020000] "ARMED ***STAY** ZONE BYPASSED "

Zone Expander

 !EXP Format
!EXP:07,01,01
 
Header Zone Expander Address Expander Channel Data
 !EXP 07 01 01

Relay Expander

 !REL Format
!REL:12,01,01
 
Header Relay Expander Address Expander Channel Data
 !REL 12 01 01

RFX

 !RFX Format
!RFX:0180036,80
 
Header Serial Number Data
 !RFX 0180036 80

LRR

 !LRR Format
!LRR:012,1,ARM_STAY
 
Header Event Data Partition Event Type
 !LRR 012 1 ARM_STAY

AUI

TODO

Keypress Events

TODO