Zigbee Data Types
The ZigBee Cluster Library identifies the data types used for attributes. The information in the following table comes from the ZigBee Cluster Library Specification dated May 31, 2012.
ZCL Data Types and Data Type IDs
Data Class | Data Type | Data Type ID | Invalid Number |
---|---|---|---|
Null | No data | 0x00 | - |
General Data | 8-bit data | 0x08 | - |
Logical | Boolean | 0x10 | 0xff |
Bitmap | 8-bit data | 0x18 | - |
Unsigned integer | Unsigned 8-bit integer | 0x20 | 0xff |
Signed integer | Signed 8-bit integer | 0x28 | 0x80 |
Enumeration | 8-bit enumeration | 0x30 | 0xff |
Floating point | Semi-precision | 0x38 | Not a number |
String | Reserved | 0x40 | - |
Ordered sequence | Array | 0x48 | 0xffff in first two octets |
Collection | Set | 0x50 | 0xffff returned as # of elements |
Reserved | - | 0x58—0xdf | - |
Time | Time of day | 0xe0 | 0xffffffff |
Identifier | Cluster ID | 0xe8 | 0xffff |
Miscellaneous | IEEE Address | 0xf0 | 0xffffffffffffffff |
Unknown | Unknown | 0xff | - |
Zigbee Status Codes
Where a ZCL command contains a status field, the value of the enumerated statuses are listed here. The information in the following table comes from the ZigBee Cluster Library Specification dated May 31, 2012.
ZCL Status Codes / Enumerations
Enumerated Status | Value | Description |
---|---|---|
SUCCESS | 0x00 | Operation was successful. |
FAILURE | 0x01 | Operation was not successful. |
- | 0x02 – 0x7d | Reserved. |
NOT_AUTHORIZED | 0x7e | The sender of the command does not have authorization to carry out this command. |
RESERVED_FIELD_NOT_ZERO | 0x7f | A reserved field/subfield/bit contains a non-zero value. |
MALFORMED_COMMAND | 0x80 | The command appears to contain the wrong fields, as detected either by the presence of one or more invalid field entries or by there being missing fields. Command not carried out. Implementer has discretion as to whether to return this error or INVALID_FIELD. |
UNSUP_CLUSTER_COMMAND | 0x81 | The specified cluster command is not supported on the device. Command not carried out. |
UNSUP_GENERAL_COMMAND | 0x82 | The specified general ZCL command is not supported on the device. |
UNSUP_MANUF_CLUSTER_COMMAND | 0x83 | A manufacturer specific unicast, cluster specific command was received with an unknown manufacturer code, or the manufacturer code was recognized but the command is not supported. |
UNSUP_MANUF_GENERAL_COMMAND | 0x84 | A manufacturer specific unicast, ZCL specific command was received with an unknown manufacturer code, or the manufacturer code was recognized but the command is not supported. |
INVALID_FIELD | 0x85 | At least one field of the command contains an incorrect value, according to the specification the device is implemented to. |
UNSUPPORTED_ATTRIBUTE | 0x86 | The specified attribute does not exist on the device. |
INVALID_VALUE | 0x87 | Out of range error, or set to a reserved value. Attribute keeps its old value. Note that an attribute value may be out of range if an attribute is related to another, e.g. with minimum and maximum attributes. See the individual attribute descriptions for specific details. |
READ_ONLY | 0x88 | Attempt to write a read only attribute. |
INSUFFICIENT_SPACE | 0x89 | An operation (e.g., an attempt to create an entry in a table) failed due to an insufficient amount of free space available. |
DUPLICATE_EXISTS | 0x8a | An attempt to create an entry in a table failed due to a duplicate entry already being present in the table. |
NOT_FOUND | 0x8b | The requested information (e.g., table entry) could not be found. |
UNREPORTABLE_ATTRIBUTE | 0x8c | Periodic reports cannot be issued for this attribute. |
INVALID_DATA_TYPE | 0x8d | The data type given for an attribute is incorrect. Command not carried out. |
INVALID_SELECTOR | 0x8e | The selector for an attribute is incorrect. |
WRITE _ONLY | 0x8f | A request has been made to read an attribute that the requestor is not authorized to read. No action taken. |
INCONSISTENT_STARTUP_STATE | 0x90 | Setting the requested values would put the device in an inconsistent state on startup. No action taken. |
DEFINED_OUT_OF_BAND | 0x91 | An attempt has been made to write an attribute that is present but is defined using an out-of-band method and not over the air. |
INCONSISTENT | 0x92 | The supplied values (e.g., contents of table cells) are inconsistent. |
ACTION_DENIED | 0x93 | The credentials presented by the device sending the command are not sufficient to perform this action. |
TIMEOUT | 0x94 | The exchange was aborted due to excessive response time. |
ABORT | 0x95 | Failed case when a client or a server decides to abort the upgrade process. |
INVALID_IMAGE | 0x96 | Invalid OTA upgrade image (ex. failed signature validation or signer information check or CRC check). |
WAIT_FOR_DATA | 0x97 | Server does not have data block available yet. |
NO_IMAGE_AVAILABLE | 0x98 | No OTA upgrade image available for a particular client. |
REQUIRE_MORE_IMAGE | 0x99 | The client still requires more OTA upgrade image files in order to successfully upgrade. |
NOTIFICATION_PENDING | 0x9a | The command has been received and is being processed. |
HARDWARE_FAILURE | 0xc0 | An operation was unsuccessful due to a hardware failure. |
SOFTWARE_FAILURE | 0xc1 | An operation was unsuccessful due to a software failure. |
CALIBRATION_ERROR | 0xc2 | An error occurred during calibration. |
Zigbee Device ID's
The information listed here came from the ZigBee Home Automation Profile Specification for HA 1.2.
Devices Specified in the HA Profile
Device Name | Device ID |
---|---|
Generic | |
On/Off Switch | 0x0000 |
Level Control Switch | 0x0001 |
On/Off Output | 0x0002 |
Level Controllable Output | 0x0003 |
Scene Selector | 0x0004 |
Configuration Tool | 0x0005 |
Remote Control | 0x0006 |
Combined Interface | 0x0007 |
Range Extender | 0x0008 |
Mains Power Outlet | 0x0009 |
Door Lock | 0x000A |
Door Lock Controller | 0x000B |
Simple Sensor | 0x000C |
Reserved | 0x000C—0x00FF |
Lighting | |
On/Off Light | 0x0100 |
Dimmable Light | 0x0101 |
Color Dimmable Light | 0x0102 |
On/Off Light Switch | 0x0103 |
Dimmer Switch | 0x0104 |
Color Dimmer Switch | 0x0105 |
Light Sensor | 0x0106 |
Occupancy Sensor | 0x0107 |
Reserved | 0x0108—0x01FF |
Closures | |
Shade | 0x0200 |
Shade Controller | 0x0201 |
Window Covering Device | 0x0202 |
Window Covering Controller | 0x0203 |
Reserved | 0x0204—0x02FF |
HVAC | |
Heating/Cooling Unit | 0x0300 |
Thermostat | 0x0301 |
Temperature Sensor | 0x0302 |
Pump | 0x0303 |
Pump Controller | 0x0304 |
Pressure Sensor | 0x0305 |
Flow Sensor | 0x0306 |
Reserved | 0x0307—0x3FF |
Intruder Alarm Systems | |
IAS Control and Indicating Equipment | 0x0400 |
IAS Ancillary Control Equipment | 0x0401 |
IAS Zone | 0x0402 |
IAS Warning Device | 0x0403 |
Reserved | 0x0404—0xFFFF |