Previous Topic

Next Topic

Book Contents

Book Index

ZigBee (deprecated)

The ZigBee protocol adapter enables you to control all kinds of devices that support

Protocol Information

The ZigBee protocol adapter exports the connected ZigBee devices and their endpoints as home devices.

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.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.

cluster.id

R

Specifies the ZigBee cluster ID for a given device class property.

attribute.id

R

Specifies the ZigBee attribute ID for a given device class property.

command.id

R

Specifies the ZigBee command ID for a given device class operation.

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.

ZigBee to HDM Mapping

The ZigBee protocol provides mapping of the physical devices (endpoints) to the abstraction layer provided by the Home Device Manager (HDM) Module.

Overview

For each physical ZigBee device an HDM home device is created. For each endpoint there is a child home device attached. The "endpoint" device has device class objects (DCO) corresponding to the clusters on the ZigBee endpoint.

ZigBee Alliance Clusters to Device Class Mappings

The mapping between the ZigBee cluster types and the device classes of the parent and endpoint device class objects is as follows:

Cluster Type

Device Class

Adapter Device Class Objects

Power Configuration Cluster

com.prosyst.mbs.services.zigbee.hdm.deviceclasses.BatteryLevelEx

IAS Zone

com.prosyst.mbs.services.hdm.deviceclasses.BatteryLevel

OTA Upgrade

com.prosyst.mbs.services.hdm.deviceclasses.FirmwareUpdate

Identify Cluster

com.prosyst.mbs.services.hdm.deviceclasses.Identifier

Poll Control

com.prosyst.mbs.services.zigbee.hdm.deviceclasses.WakeUpExt

 

com.prosyst.mbs.services.hdm.deviceclasses.Key

 

com.prosyst.mbs.services.hdm.deviceclasses.QualityOfService

General Device Class Objects

Pump Configuration and Control

com.prosyst.mbs.services.zigbee.hdm.deviceclasses.provider.general.PumpControl

On/Off

com.prosyst.mbs.services.hdm.deviceclasses.BooleanControl

Occupancy Sensing

com.prosyst.mbs.services.hdm.deviceclasses.BooleanState

IAS Zone

com.prosyst.mbs.services.hdm.deviceclasses.BooleanState

Level Control

com.prosyst.mbs.services.hdm.deviceclasses.MultiLevelControl

Thermostat

com.prosyst.mbs.services.hdm.deviceclasses.MultiLevelControl (cooling)

Thermostat

com.prosyst.mbs.services.hdm.deviceclasses.MultiLevelControl (heating)

Illuminance Measurement

com.prosyst.mbs.services.hdm.deviceclasses.MultiLevelState

Temperature Measurement

com.prosyst.mbs.services.hdm.deviceclasses.MultiLevelState

Pressure Measurement

com.prosyst.mbs.services.hdm.deviceclasses.MultiLevelState

Flow Measurement

com.prosyst.mbs.services.hdm.deviceclasses.MultiLevelState

Relative Humidity Measurement

com.prosyst.mbs.services.hdm.deviceclasses.MultiLevelState

Thermostat User Interface Configuration

com.prosyst.mbs.services.zigbee.hdm.deviceclasses.provider.general.ThermostatUIConfiguration

Device Temperature Configuration

com.prosyst.mbs.services.zigbee.hdm.deviceclasses.provider.general.InternalTemperatureSensor

Dehumidification Control

com.prosyst.mbs.services.zigbee.hdm.deviceclasses.provider.general.Dehumidification

Shade Configuration

com.prosyst.mbs.services.zigbee.hdm.deviceclasses.provider.general.ShadeControl

Door Lock

com.prosyst.mbs.services.hdm.deviceclasses.DoorActuator

Fan Control

com.prosyst.mbs.services.zigbee.hdm.deviceclasses.provider.general.FanActuator

Color Control

com.prosyst.mbs.services.zigbee.hdm.deviceclasses.provider.general.ColorActuator

Alarms

com.prosyst.mbs.services.zigbee.hdm.deviceclasses.provider.general.ZigBeeAlarmSensor

Time

com.prosyst.mbs.services.zigbee.hdm.deviceclasses.provider.general.TimeControl

Occupancy Sensing

com.prosyst.mbs.services.zigbee.hdm.deviceclasses.provider.general.PIROccupancySensing

IAS Zone

com.prosyst.mbs.services.zigbee.hdm.deviceclasses.provider.general.IASZoneExtension

IAS Zone

com.prosyst.mbs.services.zigbee.hdm.deviceclasses.provider.general.IASZoneConfiguration

IAS Warning Device

com.prosyst.mbs.services.zigbee.hdm.deviceclasses.provider.general.AlarmActuatorExtension

Scenes

com.prosyst.mbs.services.zigbee.hdm.deviceclasses.provider.general.SceneControl

Thermostat

com.prosyst.mbs.services.zigbee.hdm.deviceclasses.provider.ha.hvac.ThermostatHA12

Thermostat

com.prosyst.mbs.services.hdm.deviceclasses.TemperatureActuator (cooling)

Thermostat

com.prosyst.mbs.services.hdm.deviceclasses.TemperatureActuator (heating)

Home Аutomation Clusters/Device Classes

 

Window Covering

com.prosyst.mbs.services.hdm.deviceclasses.Blinds

Thermostat

com.prosyst.mbs.services.hdm.deviceclasses.MultiLevelState

Electrical Measurement

com.prosyst.mbs.services.zigbee.hdm.deviceclasses.provider.ha.em.ACElectricalMeasurement

Electrical Measurement

com.prosyst.mbs.services.zigbee.hdm.deviceclasses.provider.ha.em.DCElectricalMeasurement

Electrical Measurement

com.prosyst.mbs.services.zigbee.hdm.deviceclasses.provider.ha.em.PhaseElectricalMeasurement

Power Profile

com.prosyst.mbs.services.zigbee.hdm.deviceclasses.provider.ha.smartgrid.EnergyAwareAppliance

Power Profile

com.prosyst.mbs.services.zigbee.hdm.deviceclasses.provider.ha.smartgrid.EnergyManagementAppliance

EN50523 Appliance Control

com.prosyst.mbs.services.zigbee.hdm.deviceclasses.provider.ha.whitegoods.ApplianceControl

EN50523 Appliance Control

com.prosyst.mbs.services.zigbee.hdm.deviceclasses.provider.ha.whitegoods.ApplianceControlExtension

EN50523 Appliance Identification

com.prosyst.mbs.services.zigbee.hdm.deviceclasses.provider.ha.whitegoods.ApplianceIdentification

EN50523 Appliance Control

com.prosyst.mbs.services.zigbee.hdm.deviceclasses.provider.ha.whitegoods.ApplianceOverloadControl

Appliance Statistics

com.prosyst.mbs.services.zigbee.hdm.deviceclasses.provider.ha.whitegoods.ApplianceStatistics

EN50523 Appliance Control

com.prosyst.mbs.services.hdm.deviceclasses.whitegoods.CoffeeSystem

EN50523 Appliance Control

com.prosyst.mbs.services.hdm.deviceclasses.whitegoods.Dishwasher

EN50523 Appliance Control

com.prosyst.mbs.services.hdm.deviceclasses.whitegoods.Freezer

EN50523 Appliance Control

com.prosyst.mbs.services.hdm.deviceclasses.whitegoods.Fridge

EN50523 Appliance Control

com.prosyst.mbs.services.hdm.deviceclasses.whitegoods.GasConsumingActuator

EN50523 Appliance Control

com.prosyst.mbs.services.hdm.deviceclasses.whitegoods.Hob

EN50523 Appliance Control

com.prosyst.mbs.services.hdm.deviceclasses.whitegoods.Hood

EN50523 Appliance Control

com.prosyst.mbs.services.hdm.deviceclasses.whitegoods.Oven

EN50523 Appliance Control

com.prosyst.mbs.services.hdm.deviceclasses.whitegoods.TumbleDryer

EN50523 Appliance Control

com.prosyst.mbs.services.hdm.deviceclasses.whitegoods.WashingMachine

EN50523 Appliance Control

com.prosyst.mbs.services.hdm.deviceclasses.whitegoods.WineStorage

Level Control

com.prosyst.mbs.services.hdm.deviceclasses.HSBColorTransition

Color Control

com.prosyst.mbs.services.hdm.deviceclasses.HSBColorTransition

Color Control

com.prosyst.mbs.services.zigbee.hdm.deviceclasses.provider.ll.ColorMode

Smart Energy Devices

You can additionally add support for smart energy (SE) devices in the Home Device Manager - you need the ZigBee SE Profile Handler bundle installed. Following are the device classes introduced for device types from the SE profile.

Cluster Type

Device Class

Demand Response Load Control

com.prosyst.mbs.services.zigbee.hdm.deviceclasses.provider.se.LoadControl

Messaging

com.prosyst.mbs.services.zigbee.hdm.deviceclasses.provider.se.MessagingControl

Electrical Measurement

com.prosyst.mbs.services.hdm.deviceclasses.MeterV3

Prepayment

com.prosyst.mbs.services.zigbee.hdm.deviceclasses.provider.se.PrepaymentControl

Price

com.prosyst.mbs.services.zigbee.hdm.deviceclasses.provider.se.PriceControl

Light Link Devices

You can add support for Light Link (LL) devices in the Home Device Manager - you need the ZigBee LL Profile Handler bundle installed. Following are the device classes introduced for device types from the LL profile.

Cluster Type

Device Class

Level Control

com.prosyst.mbs.services.hdm.deviceclasses.HSBColorTransition

Color Control

com.prosyst.mbs.services.hdm.deviceclasses.HSBColorTransition

Color Control

com.prosyst.mbs.services.zigbee.hdm.deviceclasses.provider.ll.ColorMode

ZigBee Network Controller

The ZigBee protocol adapter represents the attached coordinators as Network Controller Ext (com.prosyst.mbs.services.hdm.deviceclasses.NetworkControllerExt) device class objects. By using these objects, you can command the coordinator to join new devices by putting it into "pairing" mode, as well as configure the duration of the normal and of the pairing modes.

More information about the features defined the Network Controller Ext device class is available in NetworkControllerExt.

ControllerInterface

The ControllerInterface allows direct operation calls on the coordinator device. Possible actions are channel switching or resetting the device. It is registered as Device Class Object for each connected coordinator.

Reporting Control

The Reporting Control device class (com.prosyst.mbs.services.zigbee.hdm.deviceclasses.ReportingControl) represents the functionality of the Configure Reporting general command from the ZCL Specification. The ZigBee adapter provides a Reporting Control device class object for each endpoint home device thus allowing you to configure the reports from the device about the state of a specific attribute.

To get the cluster ID and attribute ID needed for report configuration related to a cluster attribute, you can read the value of the cluster.id (ZigBeeConstants.CLUSTER_ID) and attribute.id (ZigBeeConstants.ATTRIBUTE_ID) metadata attributes returned for the corresponding property of the cluster device class object (see the table from "General ZCL Clusters"). For example, to configure the reporting of the OnOff attribute from the On/Off cluster, you can retrieve the metadata for the state property of the analog Binary Switch device class object and then check the value of cluster.id and attribute.id metadata attributes. In this case, cluster.id will be 0x0006 and attribute.id - 0x00. Finally, invoke the setReportingConfiguration operation on the Reporting Control device class object of the binary switch device passing the obtained cluster ID and attribute ID.