Zigbee Specification References

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
Reserved

0x00
0x01—0x07

-
-

General Data

8-bit data
16-bit data
24-bit data
32-bit data
40-bit data
48-bit data
56-bit data
64-bit data

0x08
0x09
0x0a
0x0b
0x0c
0x0d
0x0e
0x0f

-
-
-
-
-
-
-
-

Logical

Boolean
Reserved

0x10
0x11—0x17

0xff
-

Bitmap

8-bit data
16-bit data
24-bit data
32-bit data
40-bit data
48-bit data
56-bit data
64-bit data

0x18
0x19
0x1a
0x1b
0x1c
0x1d
0x1e
0x1f

-
-
-
-
-
-
-
-

Unsigned integer

Unsigned 8-bit integer
Unsigned 16-bit integer
Unsigned 24-bit integer
Unsigned 32-bit integer
Unsigned 40-bit integer
Unsigned 48-bit integer
Unsigned 56-bit integer
Unsigned 64-bit integer

0x20
0x21
0x22
0x23
0x24
0x25
0x26
0x27

0xff
0xffff
0xffffff
0xffffffff
0xffffffffff
0xffffffffffff
0xffffffffffffff
0xffffffffffffffff

Signed integer

Signed 8-bit integer
Signed 16-bit integer
Signed 24-bit integer
Signed 32-bit integer
Signed 40-bit integer
Signed 48-bit integer
Signed 56-bit integer
Signed 64-bit integer

0x28
0x29
0x2a
0x2b
0x2c
0x2d
0x2e
0x2f

0x80
0x8000
0x800000
0x80000000
0x8000000000
0x800000000000
0x80000000000000
0x8000000000000000

Enumeration

8-bit enumeration
16-bit enumeration
Reserved

0x30
0x31
0x32—0x37

0xff
0xffff
-

Floating point

Semi-precision
Single precision
Double precision
Reserved

0x38
0x39
0x3a
0x3b—0x3f

Not a number
Not a number
Not a number
-

String

Reserved
Octet string
Character string
Long octet string
Long character string
Reserved

0x40
0x41
0x42
0x43
0x44
0x45—0x47

-
0xff in first octet
0xff in first octet
0xffff in first two octets
0xffff in first two octets
-

Ordered sequence

Array
Reserved
Structure
Reserved

0x48
0x49—0x4b
0x4c
0x4d—0x4f

0xffff in first two octets
-
0xffff in first two octets
-

Collection

Set
Bag
Reserved

0x50
0x51
0x52—0x57

0xffff returned as # of elements
0xffff returned as # of elements
-

Reserved

-

0x58—0xdf

-

Time

Time of day
Date
UTC Time
Reserved

0xe0
0xe1
0xe2
0xe3—0xe7

0xffffffff
0xffffffff
0xffffffff
-

Identifier

Cluster ID
Attribute ID
BACnet ID
Reserved

0xe8
0xe9
0xea
0xeb—0xef

0xffff
0xffff
0xffffffff
-

Miscellaneous

IEEE Address
128-bit security key
Reserved

0xf0
0xf1
0xf2—0xfe

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_ONLY0x88

Attempt to write a read only attribute.

INSUFFICIENT_SPACE0x89

An operation (e.g., an attempt to create an entry in a table) failed due to an insufficient amount of free space available.

DUPLICATE_EXISTS0x8a

An attempt to create an entry in a table failed due to a duplicate entry already being present in the table.

NOT_FOUND0x8b

The requested information (e.g., table entry) could not be found.

UNREPORTABLE_ATTRIBUTE0x8cPeriodic reports cannot be issued for this attribute.
INVALID_DATA_TYPE0x8d

The data type given for an attribute is incorrect. Command not carried out.

INVALID_SELECTOR0x8e

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_STATE0x90

Setting the requested values would put the device in an inconsistent state on startup. No action taken.

DEFINED_OUT_OF_BAND0x91

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.

INCONSISTENT0x92

The supplied values (e.g., contents of table cells) are inconsistent.

ACTION_DENIED0x93

The credentials presented by the device sending the command are not sufficient to perform this action.

TIMEOUT0x94

The exchange was aborted due to excessive response time.

ABORT0x95

Failed case when a client or a server decides to abort the upgrade process.

INVALID_IMAGE0x96

Invalid OTA upgrade image (ex. failed signature validation or signer information check or CRC check).

WAIT_FOR_DATA0x97

Server does not have data block available yet.

NO_IMAGE_AVAILABLE0x98

No OTA upgrade image available for a particular client.

REQUIRE_MORE_IMAGE0x99

The client still requires more OTA upgrade image files in order to successfully upgrade.

NOTIFICATION_PENDING0x9a

The command has been received and is being processed.

HARDWARE_FAILURE0xc0

An operation was unsuccessful due to a hardware failure.

SOFTWARE_FAILURE0xc1

An operation was unsuccessful due to a software failure.

CALIBRATION_ERROR0xc2

An error occurred during calibration.




Zigbee Device Descriptors

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

Legal Notices

Copyright © 2020 MMB Networks, Inc. All rights reserved.
Confidential materials prepared and delivered by MMB Networks for receipt and review only by any partner subject to a valid and enforceable MMB Networks confidentiality agreement. Any receipt, review, or misuse of any of the content exchanged hereunder by any party not a party to this confidential exchange shall be subject to any and all rights available under the law. All rights, title and interest to the materials shall remain with MMB Networks.
Any suggestions provided to MMB Networks with respect to MMB Networks' products or services shall be collectively deemed “Feedback.” You, on behalf of yourself, or if you are providing Feedback on behalf of your employer or another entity, represent and warrant that you have full legal authority to bind such entity to these terms, agree to grant and hereby grant to MMB Networks a nonexclusive, perpetual, irrevocable, royalty free, worldwide license to use and otherwise exploit such Feedback within any MMB Networks products and services.