ProXR controllers are available in many varieties.  The following commands can help identify the ProXR controller and feature set available.

CK = Checksum (00-FF)
TX:23456CKFunction:Receive DataNOTES
AA04FE35F304D8Get Device Identification DataAAHeader Fixed Value
05Number of Bytes in Payload
63Device ID Byte 1
09Device ID Byte 2
00Device ID Byte 3
80Device ID Byte 4
00Device ID Byte 5
9BChecksum

Each Device ID Byte above contains a very specific meaning, indicating available features for the controller.  It will be necessary to test each bit of every byte to obtain the complete feature set.  If you are not familiar with bitwise operations, examples are available in the Base Station Source Code at https://ncd.io/start

Device ID Byte 1

In the example Shown, the device returned &h63.

Convert the value &h63 to Binary to See Each Bit: %01100011 (8-Bit Binary Always Begins with Bit 7 and Ends with Bit 0)

If Bit 7 is Set, This Controller Supports Current Monitoring Command Set (External Hardware May Be Required)
If Bit 6 is Set, This Controller Supports AVA Security Protocols Command Set
If Bit 5 is Set, This Controller Supports the Scratchpad Memory Command Set
If Bit 4 is Set, This Controller Supports the AD1216 Analog to Digital Converter Command Set (External Hardware May Be Required)
If Bit 3 is Set, This Controller Supports the Programmable Potentiometer Command Set (External Hardware May Be Required)
If Bit 2 is Set, This Controller Supports Input Contact Closure SCAN Features (External Hardware May Be Required)
If Bit 1 is Set, This Controller Supports the AD8 Command Set Using Built-In Hardware
If Bit 0 is Set, This is a ProXR Class Controller

In the above example, Bits 6, 5, 1, and 0 are set, so the example controller supports the following features:

Bit 6 = 1: This Controller Supports AVA Security Protocols Command Set 
Bit 5 = 1: This Controller Supports the Scratchpad Memory Command Set
Bit 1 = 1: This Controller Supports the AD8 Command Set Using Built-In Hardware 
Bit 0 = 1: This is a ProXR Class Controller

Device ID Byte 2

In the example Shown, the device returned &h09.

Convert the value &h09 to Binary to See Each Bit: %00001001 (8-Bit Binary Always Begins with Bit 7 and Ends with Bit 0)

If Bit 7 is Set, This Controller Supports Fusion Decision Maker Logic
If Bit 6 is Set, This Controller Supports a Lifetime Counter
If Bit 5 is Set, This Controller Supports 8-Bit Digital I/O on Port 2
If Bit 4 is Set, This Controller Supports 8-Bit Digital I/O on Port 1
If Bit 3 is Set, This Controller Supports the AD8 Relay Activator Event Generator
If Bit 2 is Set, Reserved for Future Use
If Bit 1 is Set, This Controller Supports the Pulsar Light Dimmer Command Set
If Bit 0 is Set, This Controller Supports the E3C Command Set

In the above example, Bits 3 and 0 are set, so the example controller supports the following features:

Bit 3 = 1: This Controller Supports the AD8 Relay Activator Event Generator
Bit 0 = 1: This Controller Supports the E3C Command Set

Device ID Byte 3

In the example Shown, the device returned &h00, so none of the features below are supported.

If Bit 7 is Set, Fusion Class Controller 
If Bit 6 is Set, This Controller Supports Sonar Distance Measurement on Port 2
If Bit 5 is Set, This Controller Supports Sonar Distance Measurement on Port 1
If Bit 4 is Set, This Controller Supports the AD1216 Analog to Digital Converter on Port 2
If Bit 3 is Set, This Controller Supports the Programmable Potentiometer Command Set on Port 2
If Bit 2 is Set, This Controller Supports the Input Contact Closure SCAN Features on Port 2
If Bit 1 is Set, This Controller Supports the AD8 Command Set on Port 2
If Bit 0 is Set, This Controller Supports the Taralist Time Activated Relay Command Set

Device ID Byte 4

In the example Shown, the device returned &h80.

Convert the value &h80 to Binary to See Each Bit: %10000000 (8-Bit Binary Always Begins with Bit 7 and Ends with Bit 0)

If Bit 7 is Set, This Controller Supports the API Command Set
If Bit 6 is Set, This Controller Supports Dual Communication Ports
If Bit 5 is Set, This Controller Supports External Bus I2C Communications
If Bit 4 is Set, This Controller Supports Internal Bus I2C Communications
If Bit 3 is Set, Reserved for Future Use
If Bit 2 is Set, Reserved for Future Use
If Bit 1 is Set, Reserved for Future Use
If Bit 0 is Set, Reserved for Future Use

In the above example, Bits 7 is set, so the example controller supports API Communications.

Device ID Byte 5

In the example Shown, the device returned &h00, so none of the features below are supported.

If Bit 7 is Set, Reserved for Future Use
If Bit 6 is Set, Reserved for Future Use
If Bit 5 is Set, This Controller Supports MirW Control Functions
If Bit 4 is Set, This Controller Supports KFX Key Fob Configuration
If Bit 3 is Set, Reserved for Future Use
If Bit 2 is Set, Reserved for Future Use
If Bit 1 is Set, Reserved for Future Use
If Bit 0 is Set, This Controller Supports Push Notification