The ZigBee protocol adapter exports the connected ZigBee devices and their endpoints as home devices.
Overview
The ZigBee Module provides a protocol adapter which exports the connected ZigBee devices and their endpoints as home devices with device class objects for the Home Device Manager system. By using the interfaces of the system to the connected devices, you can easily control a home system with a heterogeneous device network, from a central place. In addition, devices of all supported types can participate in common automation logic. Refer to the documentation of the Device Access module for detailed information about the concept and capabilities of a Home Device Manager system.
Protocol Name
HDM allows for controlling home devices in the management system through a specified protocol adapter. As a result, to be able to manage ZigBee devices, the ZigBee protocol adapter exports its devices under the ZigBee name (com.prosyst.mbs.services.zigbee.hdm.adapter.ZigBeeConstants.PROTOCOL_NAME), and describes to the Home Device Manager and the management applications its support for:
Protocol Operations
The ZigBee protocol adapter supports two types of device administration operations:
The "remove parent only" support ensures that you cannot remove the home devices created for the endpoints of the joined physical devices.
Protocol Properties
The created ZigBee home devices have the following properties related to the nature of the ZigBee protocol. Some of them are available only for endpoint home devices.
Property Name |
Access |
Resolution |
Description |
|---|---|---|---|
controller.id |
R |
Mandatory
|
The ID of the coordinator in charge of the device. The ID is configured at setup of the coordinator connection. |
connection.comm.port |
R |
The COMM port to which the coordinator, handling the device, is attached as specified in its connection settings. |
|
connection.baud.rate |
R |
Specifies the Baud Rate of the Coordinator |
|
ieee.address |
R |
The IEEE address of the device in the ZigBee network. |
|
nwk.address |
R |
The network address of the device in the ZigBee network. |
|
connection.pan.id |
R |
Specifies the ID of current PAN. |
|
connection.channel |
R |
Specifies the current channel. |
|
connection.baud.rate |
R |
Optional |
The baud rate for data exchange with the handling coordinator as configured in its connection settings. |
connection.keep.child.timeout |
R |
XStick coordinator only. The timeout in milliseconds for a coordinator/router to keep a non-responding sleep-capable device in its children table. It is equal to cyclicSleepPeriod * numberOfCycles * 30, where cyclicSleepPeriod and numberOfCycles correspond respectively to the SP and SN settings of the coordinator. The properties are included in the connection settings to the coordinator. |
|
connection.keep.request.timeout |
R |
XStick coordinator only. The timeout in milliseconds for a coordinator/router to keep an undelivered message addressed to a non-responding sleep-capable device. It is equal to the cyclicSleepPeriod (SP) setting of the coordinator. |
|
connection.friendly.name |
R |
The friendly name of the active coordinator connection as specified in its connection settings. |
|
serial.number |
R |
Specifies the serial number of the ZigBee device. |
|
firmware.version |
R |
The firmware version of the ZigBee device. |
|
firmware.vendor |
R |
The firmware vendor for the ZigBee device. |
|
model |
R |
The model of the ZigBee device. |
|
profile.id |
R |
The ID of the profile that the endpoint home device supports. |
|
profile.name |
R |
The name of the profile that the endpoint home device supports. |
|
device.id |
R |
The ID of the device describing its capabilities as defined for its profile. |
|
device.name |
R |
The friendly name of the device as defined for its profile. |
|
active.endpoint |
R |
The active endpoint ID of the ZigBee home device. |
|
input.clusters |
R |
A comma-separated list of the 16-bit IDs of the input clusters located on the endpoint. |
|
output.clusters |
R |
A comma-separated list of the 16-bit IDs of the output clusters located on the endpoint. |
|
primary.power.source |
R |
Specifies the source of power available to the device. |
|
mobile |
R |
Applies for devices which are likely to be mobile and often be out of reach of the network. |
|
strict.poll.control |
R |
Specifies a device with strict poll control. Some sleepy devices needs to receive Check-In, before device activation. |
|
status.polling.interval |
R |
Specifies a status polling interval. |
You can retrieve the values of these properties for each device by using the getProperties or getPropertyMetadata method of the corresponding HomeDevice object.
Polling
By default the ZigBee protocol adapter does not poll device class properties. You can change this behavior by changing the mbs.zigbee.hdmadapter.polling property, as described here.
Protocol Metadata
The ZigBee protocol adapter extends conventional HDM metadata attributes with cluster.id (ZigBeeConstants.CLUSTER_ID), attribute.id (ZigBeeConstants.ATTRIBUTE_ID) and command.id (ZigBeeConstants.COMMAND_ID). They indicate the cluster related to the device class object, the attribute to which a device class object property is mapped and the command which is represented by a device class object operation.