MG245X-ZigBeePRO ZigBee Device Profile ZigBee Cluster Library (VER.1.1)

Similar documents
Z-Stack Application Programming Interface

Introduction to the ZigBee Application Framework

Wireless Sensor Networks

Lecture 6 ZigBee Device Object (ZDO) and Network Layer (NWK)

Content 1/28/2013. Lecture 6. Network Layer (NWK) Z-Stack ZDO Interface

How to Reach Us: Home Page: USA/Europe or Locations Not Listed: Freescale Semiconductor Technical Info

ZigBee Mesh Networking - In Control

Davide Quaglia Assistant CS depart University of Verona, Italy

Mesh networking with ZigBee. A dive into the ZigBee ecosystem

Standard for wireless sensor networks. Developed and promoted by the ZigBee alliance

ZIGBEE UNIVERSAL DIMMER D1(-R) REFERENCE MANUAL

1. Overview Thank you for purchasing this ubisys ZigBee Router. You have decided for a high-quality product with first-rate support! This reference ma

Freescale BeeStack Software Reference Manual

Freescale BeeStack. Software Reference Manual for ZigBee 2007

ZigBee Security Specification Overview

Legal Notice. Page 2. Copyright MMB Research Inc. 2014

Zigbee protocol stack overview

ZIGBEE POWER SWITCH S1(-R) REFERENCE MANUAL

Public Review Draft. ASHRAE Standard

ZIGBEE UNIVERSAL DIMMER D1(-R) REFERENCE MANUAL

Management Objects for ZigBee Devices

OSGi ZigBee Base Driver

ZigBee Democase User Guide 1vv Rev.2 25/03/2010

ZigBee Lighting & Occupancy Device Specification Version 1.0

deconz Serial Protocol

Accepted for release by: This document has not yet been accepted for release by the ZigBee Alliance Board of Directors.

ZigBee PRO Stack User Guide

ZigBee Green Power (for ZigBee 3.0) User Guide

Freescale Test Tool. User s Guide

RELEASE NOTES. JN517x ZigBee 3.0 SDK JN-SW Build NXP Semiconductors

Getting Started with ZigBee and IEEE

By Nick Giannaris. ZigBee

ZIGBEE. Erkan Ünal CSE 401 SPECIAL TOPICS IN COMPUTER NETWORKS

ZigBee TM - Measurement and Switch Socket. User Manual. Measurement and Switch Socket Model: Z809A. Firmware: V3.5 Hardware: V1.2

Zongle. Summary. ZigBee RFD NWK/APS layer firmware for UZBee USB adapter

Outline. TWR Module. Different Wireless Protocols. Section 7. Wireless Communication. Wireless Communication with

Comparing the Digi XBee API with EmberZNet EM260 API

Key Fob ZHKF-101. Technical manual

深圳市鼎泰克电子有限公司. Zigbee Module User Guide. Shenzhen DTK Electronics Co., Ltd V5.7. Shenzhen DTK Electronics CO., LTD. Zigbee Module User Guide DRF Series

CEL Profile-Builder Software Manual

DRF1605H Zigbee Module 1.6km Transfer CC2530 Wireless Module UART to Zigbee

MiWi Software Design Guide

Version. Table of Contents

ZIGBEE HOME AUTOMATION PUBLIC APPLICATION PROFILE. ZigBee Home Automation Public Application Profile Document r26.

Wireless Sensor Networks - ZigBee

Zigbee Module User Guide

Z-Stack Home TI-RTOS Developer s Guide

Configuring Dynamic ARP Inspection

ZICM357SPx Thermostat Application Note: ESI

UG103.2: Zigbee Fundamentals

Chapter 6 Addressing the Network- IPv4

13 Extended OAM for EPON

ZigBee pro API. ZigBee / IEEE ZM101, ZM101PA, ZM102, ZM201 EZport, SZport, ZIOport

UPB US1-40 Single Rocker Wall Switch with Dimmer Firmware Specification

UG103.2: Zigbee Fundamentals

ZIGBEE HOME AUTOMATION PUBLIC APPLICATION PROFILE

Annex B UMT Peer Discovery and Tunnel Auto-Configuration

WPAN/WBANs: ZigBee. Dmitri A. Moltchanov kurssit/elt-53306/

Politecnico di Milano Advanced Network Technologies Laboratory. ZigBee Revealed

Daintree Light Sensor Demo Application Note

Embit Binary Interface - IEEE Specific Documentation. embit s.r.l.

Token Ring VLANs and Related Protocols

RFP ZigBee API

Simple API for Z-Stack

Introduction to IEEE

Mobile Communications

Topics. Introduction Architecture Node Types Network Topologies Traffic Modes Frame Format Applications Conclusion

Configuring Dynamic ARP Inspection

Modbus Register Map: Galaxy 5000 & Galaxy 5500

UG103.11: Thread Fundamentals

University of New Hampshire InterOperability Laboratory Ethernet in the First Mile Consortium

Internet Networking recitation #2 IP Checksum, Fragmentation

Z-Stack Developer s Guide

WiMOD LR Base Plus Host Controller Interface

Internet Protocols (chapter 18)

Table of Contents 1 WLAN Service Configuration 1-1

Token Ring VLANs and Related Protocols

CTT MODBUS-RTU COMMUNICATION PROTOCOL TEMPERATURE MONITOR DEVICE

Project IEEE P G Working Group for Wireless Personal Area Networks

Internet Engineering Task Force INTERNET DRAFT. C. Perkins Nokia Research Center R. Droms(ed.) Cisco Systems 1 March 2001

CODA Online Data Formats

KNX ZigBee Gateway for Home Automation

Touch Encoder. Interface Control Document (CANBUS J1939 Protocol)

ZigBee Technology: Wireless Control that Simply Works

Commissioning ZigBee Networks

LORD MANUAL. Wireless Sensor Networks LXRS Data Communications Protocol

Session Capabilities in OBEX

1. Implemented CM11 protocol

ZigBee Applications CHAPTER 4.

Aeroflex Colorado Springs Application Note

EmberZNet Stack Release Notes

CAN / RS485. Product Description. Technical Reference Note. Interface Adapter. Special Features

Chapter 7. ZigBee (IEEE ) Liang Zhao, Andreas Timm-Giel

Lecture 8. Network Layer (cont d) Network Layer 1-1

[MS-QDP]: Quality Windows Audio/Video Experience (qwave): Wireless Diagnostics Protocol

Pixie Switcher Message Reference

PLC Suite Host Message Protocol Specification Version May 3, 2012 Copyright Texas Instruments Incorporated,

Introduction to Internetworking

[MS-WFDAA]: Intellectual Property Rights Notice for Open Specifications Documentation

Russound Dual Tuners (ST2, ST2-XM, ST2-XM2, and ST2S)

Transcription:

MG245X-ZigBeePRO ZigBee Device Profile ZigBee Cluster Library ()

REVISION HISTORY Version Date Description VER.1.0 2008.11.25 First Version Release Section 4.2 - Modify contents Section 5.4.4.2, 5.4.5.2, 5.4.6.2, 5.4.7.2, 5.4.8.2, 5.4.9.2, 5.4.10.2, 5.4.11.2, 5.4.12.2, 5.4.13.2, 5.4.14.2, 5.4.15.2, 5.4.16.2, 5.4.17.2, 5.4.18.2, 5.4.19.2, 5.4.20.2, 5.4.21.2, 5.4.22.2, 5.4.23.2, 2009.5.12 5.4.24.2, 5.4.25.2, 5.4.26.2, 5.4.27.2, 5.4.28.2, 5.4.29.2 -Contents added. Section 5.4.22.1 - Range of InClusterList/OutClusterList is modified. Section 5.5 -Modify entire contents in table. Page:2/51

CONTENTS 1. INTRODUCTION... 5 2. DEFINITIONS... 6 3. ZIGBEE LAYER AND FRAME STRUCTURE... 8 4. PROFILE... 9 4.1. PROFILE IDENTIFIER... 9 4.2. DEVICE IDENTIFIER... 9 4.3. CLUSTER IDENTIFIER... 10 4.4. ATTRIBUTE IDENTIFIER... 12 4.5. EXAMPLE : HOME AUTOMATION PROFILE... 12 5. ZDP(ZIGBEE DEVICE PROFILE)... 13 5.1. CLIENT/SERVER MODEL... 13 5.2. FRAME FORMAT... 13 5.2.1. Transaction Sequence Number... 14 5.2.2.... 14 5.3. ZDP COMMAND... 14 5.3.1. Device and Service Discovery... 14 5.3.2. End Device Bind, Bind, Unbind, Binding Table Management... 15 5.3.3. Network Management... 16 5.4. COMMAND LIST... 16 5.4.1. NWK_addr_req (ClusterID = 0x0000)... 16 5.4.2. NWK_addr_rsp (ClusterID = 0x8000)... 18 5.4.3. IEEE_addr_req (ClusterID = 0x0001)... 19 5.4.4. IEEE_addr_rsp (ClusterID = 0x8001)... 20 5.4.5. Node_Desc_req (ClusterID = 0x0002)... 21 5.4.6. Node_Desc_rsp (ClusterID = 0x8002)... 22 5.4.7. Power_Desc_req (ClusterID = 0x0003)... 22 5.4.8. Power_Desc_rsp (ClusterID = 0x8003)... 23 5.4.9. Simple_Desc_req (ClusterID = 0x0004)... 24 5.4.10. Simple_Desc_rsp (ClusterID = 0x8004)... 24 5.4.11. Active_EP_req (ClusterID = 0x0005)... 25 5.4.12. Active_EP_rsp (ClusterID = 0x8005)... 26 5.4.13. Match_Desc_req (ClusterID = 0x0006)... 26 5.4.14. Match_Desc_rsp (ClusterID = 0x8006)... 27 5.4.15. User_Desc_req (ClusterID = 0x0011)... 28 5.4.16. User_Desc_rsp (ClusterID = 0x8011)... 28 5.4.17. Device_annce (ClusterID = 0x0013)... 28 5.4.18. User_Desc_set (ClusterID = 0x0014)... 29 5.4.19. User_Desc_conf (ClusterID = 0x8014)... 29 5.4.20. System_Server_Discovery_req (ClusterID = 0x0015)... 30 5.4.21. System_Server_Discovery_rsp (ClusterID = 0x8015)... 30 5.4.22. End_Device_Bind_req (ClusterID = 0x0020)... 31 5.4.23. End_Device_Bind_rsp (ClusterID = 0x8020)... 33 5.4.24. Bind_req (ClusterID = 0x0021)... 33 5.4.25. Bind_rsp (ClusterID = 0x8021)... 34 5.4.26. Unbind_req (ClusterID = 0x0022)... 35 5.4.27. Unbind_rsp (ClusterID = 0x8022)... 36 5.4.28. Mgmt_NWK_Update_req (ClusterID = 0x0038)... 36 5.4.29. Mgmt_NWK_Update_notify (ClusterID = 0x8038)... 38 5.5. ZDP STATUS... 39 6. ZCL(ZIGBEE CLUSTER LIBRARY)... 40 6.1. CLIENT/SERVER MODEL... 40 6.2. FRAME FORMAT... 40 6.2.1. Frame Control... 41 6.2.2. Manufacturer Code... 41 6.2.3. Transaction Sequence Number... 42 6.2.4. Command ID... 42 6.2.5. Frame Payload... 42 6.3. ZCL COMMAND... 42 6.3.1. Read Attribute (Command ID = 0x00)... 43 6.3.2. Read Attribute Response (Command ID = 0x01)... 43 Page:3/51

6.3.3. Write Attribute (Command ID = 0x02)... 43 6.3.4. Write Attribute Undivided (Command ID = 0x03)... 44 6.3.5. Write Attribute Response (Command ID = 0x04)... 44 6.3.6. Write Attribute No Response (Command ID = 0x05)... 44 6.3.7. Configure Reporting (Command ID = 0x06)... 45 6.3.8. Configure Reporting Response (Command ID = 0x07)... 45 6.3.9. Read Reporting Configuration (Command ID = 0x08)... 45 6.3.10. Read Reporting Configuration Response (Command ID = 0x09)... 46 6.3.11. Report Attribute (Command ID = 0x0A)... 46 6.3.12. Default Response (Command ID = 0x0B)... 46 6.3.13. Discover Attribute (Command ID = 0x0C)... 46 6.3.14. Discover Attribute Response (Command ID = 0x0D)... 47 6.4. ATTRIBUTE DATA TYPE... 47 6.5. ZCL STATUS... 48 Page:4/51

1. INTRODUCTION MG245X-ZigBeePRO is ZigBeePRO Stack Library provided by RadioPulse. It supports IEEE802.15.4 and ZigBeePRO. This document explains functions and APIs of MG245X-ZigBeePRO. Page:5/51

2. DEFINITIONS Attribute: This is a data entity which represents a physical quantity or state. This data is communicated to other devices using commands. Child Device: When a new device is joined to the ZigBee Coordinator or ZigBee Router in ZigBee Network, it has relationship as parent-child. The device joined newly is to be a child device of the coordinator, which allows join, or router. ZigBee Coordinator cannot be a child. Cluster: This is an application message, which may be a container for one or more attributes. As an example, the ZigBee Device Profile defines commands and responses. These are contained in Clusters with the cluster identifiers enumerated for each command and response. Each ZigBee Device Profile message is then defined as a cluster. Alternatively, an application profile may create sub-types within the cluster known as attributes. In this case, the cluster is a collection of attributes specified to accompany a specific cluster identifier(sub-type messages). Cluster Identifier: This is a reference to an enumeration of clusters within a specific application profile or collection of application profiles. The cluster identifier is a 16-bit unique number within the scope of each application profile and identifies a specific cluster. Conventions may be established across application profiles for common definitions of cluster identifiers whereby each application profile defines a set of cluster identifiers identically. Cluster identifiers are designated as inputs or outputs in the simple descriptor for use in creating a binding table. ED : Energy Detection Endpoint: This is a particular component within a unit. Each ZigBee device may support such components up to 240. Extended Address : Refer to IEEE Address IEEE Address : This is the globally unique 64-bit address of a device(=extended Address) Page:6/51

Network Address : This is the 16-bit address assigned to a device by the NWK layer.(=short Address) Parent Device: When a new device is joined to the ZigBee Coordinator or ZigBee Router in ZigBee Network, it has relationship as parent-child. The device which allows join is to be a parent device of the device joined newly. ZigBee end device can not be a parent. Profile : This is a collection of device descriptions, which together form a cooperative application. For instance, a light on one node communicates with a switch on another node. Together, they cooperatively form a lighting application profile. Short Address : Refer to Network Address UINT8: unsigned char. 8-bit. UINT16: unsigned short. 16-bit. UINT32: unsigned long. 32-bit. ZCL : ZigBee Cluster Library. ZCL is a repository for cluster functionality that is developed by the ZigBee Alliance, and, as a consequence, it will be a working library. Page:7/51

3. ZIGBEE LAYER AND FRAME STRUCTURE [Figure 1] and [Figure 2] show ZigBee layer and frame structure for each layer. Application Layer APP Object (EP1)... APP Object (EP240) ZDO Data (EP0) APSDE (ZCL) APSDE (ZDP) Security Service Provider NLDE APS Layer NWK Layer APSME NLME ZDO Managerment MLDE MLME MAC Layer PLDE PLME PHY Layer Figure 1. ZigBee Layer Structure APP APS Header (~13Bytes) ZDP or ZCL Frame Format Payload (ASDU) NWK Header (~25Bytes) Payload (NSDU) MAC Header (~23Bytes) Payload (MSDU) FCS (2Bytes) PHY Header (6Bytes) Payload (PSDU, 0~127Bytes) Figure 2. ZigBee Frame Format The PHY Header field consists of Preamble(4Bytes), SOF(Start Of Frame, 1Byte) and PSDU Length(1Byte). Page:8/51

4. PROFILE ZigBee uses a number of concepts to address application profiles, clusters, device descriptions, attributes and commands, each with their own constraints. Profile Endpoint DeviceID... Endpoint DeviceID Cluster... Cluster Attribute Attribute... DataType DataType < Architecture of Profile > 4.1. Profile Identifier A profile identifier is 16-bits long and specifies the application profile being used. A profile identifier shall be set to one of the non-reserved values listed in the below table. Within a manufacturer specific application profile, the full ranges of clusters, device, attribute and command identifiers can be used. Profile Identifier Description 0x0000 ~ 0x7FFF Standard ZigBee application profile 0x8000 ~ 0xBFFF Reserved 0xC000 ~ 0xFFFF Manufacturer specific application profile 4.2. Device Identifier A device identifier is 16-bits in length and specifies a specific device within a standard application profile. A device identifier shall be set to one of the nonreserved values listed in the below table.. Device Identifier 0x0000 ~ 0xBFFF 0xC000 ~ 0xFFFF Description Standard ZigBee device description Reserved Page:9/51

< Device Identifier of Home Automation Profile > Device Group Device Device ID Generic Lighting Closures HVAC Intruder Alarm Systems On/Off Switch Level Control Switch On/Off Output Level Controllable Output Scene Selector Configuration Tool Remote Control Combined Interface Range Extender Mains Power Outlet On/Off Light Dimmable Light Color Dimmable Light On/Off Light Switch Dimmer Switch Color Dimmer Switch Light Sensor Occupancy Sensor Shade Shade Controller Heating/Cooling Unit Thermostat Temperature Sensor Pump Pump Controller Pressure Sensor Flow Sensor IAS Control and Indicating Equipment IAS Ancillary Control Equipment IAS Zone IAS Warning Device 0x0000 0x0001 0x0002 0x0003 0x0004 0x0005 0x0006 0x0007 0x0008 0x0009 0x0100 0x0101 0x0102 0x0103 0x0104 0x0105 0x0106 0x0107 0x0200 0x0201 0x0300 0x0301 0x0302 0x0303 0x0304 0x0305 0x0306 0x0400 0x0401 0x0402 0x0403 4.3. Cluster Identifier A cluster identifier is 16-bits in length and specifies the set of related commands and attributes within a standard application profile. It shall be set to one of the non- Page:10/51

reserved values listed in the below table. Cluster Identifier 0x0000 ~ 0x7FFF 0x8000 ~ 0xBFFF 0xC000 ~ 0xFFFF Description Standard ZigBee cluster Reserved Manufacturer specific cluster within a standard ZigBee profile. < ZigBee Standard Cluster > Functional Domain Cluster Name Cluster ID Basic 0x0000 Power Configuration 0x0001 Device Temperature Configuration 0x0002 Identify 0x0003 Groups 0x0004 General Scenes 0x0005 On/Off 0x0006 On/Off Switch Configuration 0x0007 Level Control 0x0008 Alarms 0x0009 Time 0x000A RSSI Location 0x000B Closures Shade Configuration 0x0100 Pump Configuration and Control 0x0200 Thermostat 0x0201 HVAC Fan Control 0x0202 Dehumidification Control 0x0203 Thermostat User Interface Configuration 0x0204 Lighting Measurement and sensing Security and safety Color Control 0x0300 Ballast Configuration 0x0301 Illuminance Measurement 0x0400 Illuminance Level Sensing 0x0401 Temperature Measurement 0x0402 Pressure Measurement 0x0403 Flow Measurement 0x0404 Relative Humidity Measurement 0x0405 Occupancy sensing 0x0406 IAS Zone 0x0500 IAS ACE 0x0501 Page:11/51

IAS WD 0x0502 4.4. Attribute Identifier An attribute identifier is 16-bits in length and specifies a single attribute within a standard application profile. An attribute identifier, defined within the ZCL, shall be set to one of the non-reserved values listed in the below table. Manufacturer specific attributes within a standard ZigBee cluster can be defined over the full 16-bit range but any manipulation shall be applied using the appropriate manufacturer code. Attribute Identifier 0x0000 ~ 0x3FFF 0x4000 ~ 0xFFFF Standard ZigBee attribute Reserved Description 4.5. Example : Home Automation Profile Profile Endpoint Device Cluster Attribute DataType Home Automation (0x0104) 0x10 OnOff Light (0x0100) OnOff (0x0006) OnOff (0x0000) Boolean (0x10) 0x11 OnOff Light Switch (0x0103) OnOffSwitch Config (0x0007) Switch Type (0x0000) 8-bit Enumeraton (0x30) Switch Action (0x0010) 8-bit Enumeraton (0x30) Page:12/51

5. ZDP(ZigBee Device Profile) ZDP is a profile and it operates like any ZigBee profile by defining clusters. The difference is that ZDP does not use attributes. The clusters within ZDP define the basic function. Mandatory ZDP should be supported in all ZigBee devices. 5.1. Client/Server Model Throughout the ZCP, a Client/Server model is employed. The client cluster is bound to the server cluster. And, a request command is sent from the client to the server. Any Device s Client Cluster Cluster binding Any Device s Server Cluster ZDP request command ZDP response command 5.2. Frame Format ZDP transaction corresponds to ASDU. APP ZDP Transaction APS Header (~13Bytes) Payload (ASDU) And, the format of ZDP transaction is as follows. ZDP Transaction Octet : 1 Transaction Sequence Number variable Page:13/51

5.2.1. Transaction Sequence Number The transaction sequence number field is 8-bit in length and specifies an identification number for the ZDP transaction. The application should have 8-bit counter for that is copied into this field and incremented by one for each command sent. If a device sends a ZDP request command that requires a response, the target device shall respond with the relevant ZDP response command and include the transaction sequence number contained in the original request command. 5.2.2. The transaction data field has a variable length and contains the data for the individual ZDP transaction. The format and length of this field is dependent on the command being transmitted. 5.3. ZDP Command Each command is one of two types, mandatory(m) and optional(o). And, a mandatory command should be supported in all ZigBee devices. In addition, each command has its own Cluster Identifier(ClusterID). The ClusterID is transmitted included APS header. 5.3.1. Device and Service Discovery Device Discovery : provides the ability for a device to determine the identity of other devices on the PAN. Device Discovery is supported for both the 64-bit IEEE address and the 16-bit Network address. Service Discovery : provides the ability for a device to determine services offered by other devices on the PAN. C : Client, S : Serve, O : Optional, M : Mandatory Request Response Command ClusID C S Command ClusID S NWK_Addr_req 0x0000 O M NWK_Addr_rsp 0x8000 M IEEE_Addr_req 0x0001 O M IEEE_Addr_rsp 0x8001 M Node_Desc_req 0x0002 O M Node_Desc_rsp 0x8002 M Power_Desc_req 0x0003 O M Power_Desc_rsp 0x8003 M Simple_Desc_req 0x0004 O M Simple_Desc_rsp 0x8004 M Page:14/51

Active_EP_req 0x0005 O M Active_EP_rsp 0x8005 M Match_Desc_req 0x0006 O M Match_Desc_rsp 0x8006 M Complex_Desc_req 0x0010 O O Complex_Desc_rsp 0x8010 O User_Desc_req 0x0011 O O User_Desc_rsp 0x8011 O Discovery_Cache_req 0x0012 O M Discovery_Cache_rsp 0x8012 M Device_Annce 0x0013 O O User_Desc_Set 0x0014 O O User_Desc_Conf 0x8014 O System_Server_ Discover_req 0x0015 O M System_Server_ Discover_rsp 0x8015 M Discovery_Store_req 0x0016 O O Discovery_Store_rsp 0x8016 O Node_Desc_Store_req 0x0017 O O Node_Desc_Store_rsp 0x8017 O Power_Desc_Store_req 0x0018 O O Power_Desc_Store_rsp 0x8018 O Active_EP_Store_req 0x0019 O O Active_EP_Store_rsp 0x8019 O Simple_Desc_Store_req 0x001a O O Simple_Desc_Store_rsp 0x801a O Remove_Node_Cache_req 0x001b O O Remove_Node_Cache_rsp 0x801b O Find_Node_Cache_req 0x001c O M Find_Node_Cache_rsp 0x801c O 5.3.2. End Device Bind, Bind, Unbind, Binding Table Management End Device Bind: provides the ability for an application to support a simplified method of binding where user intervention is employed to identify command/control device pairs. Typical usage would be where a user is asked to push buttons on two devices for installation purposes. Using this mechanism a second time allows the user to remove the binding table entry. Bind: provides the ability for creation of a Binding Table entry that maps control messages to their intended destination. Unbind: provides the ability to remove Binding Table entries. Binding Table Management: provides the ability to manage tables related to binding. C : Client, S : Serve, O : Optional, M : Mandatory Request Response Command ClusID C S Command ClusID S End_Dev_Bind_req 0x0020 O O End_Dev_Bind_rsp 0x8020 O Bind_req 0x0021 O O Bind_rsp 0x8021 O Unbind_req 0x0022 O O Unbind_rsp 0x8022 O Bind_Register_req 0x0023 O O Bind_Register_rsp 0x8023 O Replace_Device_req 0x0024 O O Replace_Device_rsp 0x8024 O Store_Bkup_Bind_Entry_req 0x0025 O O Store_Bkup_Bind_Entry_rsp 0x8025 O Page:15/51

Rm_Bkup_Bind_Entry_req 0x0026 O O Rm_Bkup_Bind_Entry_rsp 0x8026 O Backup_Bind_Table_req 0x0027 O O Backup_Bind_Table_rsp 0x8027 O Recover_Bind_Table_req 0x0028 O O Recover_Bind_Table_rsp 0x8028 O Backup_Source_Bind_req 0x0029 O O Backup_Source_Bind_rsp 0x8029 O Recover_Source_Bind_req 0x002a O O Recover_Source_Bind_rsp 0x802a O 5.3.3. Network Management Network Management: Provides the ability to retrieve or set management information of the remote device. C : Client, S : Serve, O : Optional, M : Mandatory Request Response Command ClusID C S Command ClusID S Mgmt_NWK_Disc_req 0x0030 O O Mgmt_NWK_Disc_rsp 0x8030 O Mgmt_LQI_req 0x0031 O O Mgmt_LQI_rsp 0x8031 O Mgmt_Rtg_req 0x0032 O O Mgmt_Rtg_rsp 0x8032 O Mgmt_Bind_req 0x0033 O O Mgmt_Bind_rsp 0x8033 O Mgmt_Leave_req 0x0034 O O Mgmt_Leave_rsp 0x8034 O Mgmt_Direct_Join_req 0x0035 O O Mgmt_Direct_Join_rsp 0x8035 O Mgmt_Permit_Join_req 0x0036 O M Mgmt_Permit_Join_rsp 0x8036 M Mgmt_Cache_req 0x0037 O O Mgmt_Cache_rsp 0x8037 O 5.4. Command List 5.4.1. NWK_addr_req (ClusterID = 0x0000) The NWK_addr_req is generated from a Local Device wishing to inquire as to the 16-bit address of the Remote Device based on its known IEEE address. The destination addressing on this command shall be unicast or broadcast to all devices for which macrxonwhenidle = TRUE. 5.4.1.1. Frame Format Octet : 8 1 1 IEEEAddr RequestType StartIndex Page:16/51

IEEEAddr RequestType StartIndex UINT8[8] The IEEE address to be matched by the Remote Device. 0 or 1 0=Single Device Response. There is No StartIndex field. 1=Extended Response. There is StartIndex UINT8 It exists when RequestType is 1. StartIndex of associated device list for Remote Device 5.4.1.2. Effect On Receipt Upon receipt, a Remote Device shall compare the IEEEAddr to its local IEEE address or any IEEE address held in its local discovery cache. If there is no match and the request was unicast, a NWK_addr_resp command shall be generated and sent back to the local device with the Status field set to DEVICE_NOT_FOUND, the IEEEAddrRemoteDev field set to the IEEE address of the request; the NWKAddrRemoteDev field set to the NWK address of this device; and the NumAssocDev, StartIndex, and NWKAddrAssocDevList fields shall not be included in the frame. If there is no match and the command was received as a broadcast, the request shall be discarded and no response generated. If a match is detected between the contained IEEEAddr and the Remote Device s IEEE address or one held in the discovery cache, the RequestType shall be used to create a response. If the RequestType is one of the reserved values, a NWK_addr_resp command shall be generated and sent back to the local device with the Status field set to INV_REQUESTTYPE; the IEEEAddrRemoteDev field set to the IEEE address of the request; the NWKAddrRemoteDev field set to the network address corresponding to the IEEE address of the request; and the NumAssocDev, StartIndex, and NWKAddrAssocDevList fields shall not be included in the frame. If the RequestType is single device response, a NWK_addr_resp command shall be generated and sent back to the local device with the Status field set to SUCCESS, the IEEEAddrRemoteDev field set to the IEEE address of the request; the NWKAddrRemoteDev field set to the NWK address of the discovered device; and the NumAssocDev, StartIndex, and NWKAddrAssocDevList fields shall not be included in the frame. If the RequestType was Extended response and the Remote Device is either the Page:17/51

ZigBee coordinator or router with associated devices, a NWK_addr_resp command shall be generated and sent back to the local device with the Status field set to SUCCESS, the IEEEAddrRemoteDev field set to the IEEE address of the device itself, and the NWKAddrRemoteDev field set to the NWK address of the device itself. The Remote Device shall also supply a list of all 16-bit NWK addresses in the NWKAddrAssocDevList field, starting with the entry StartIndex and continuing with whole entries until the maximum APS packet length is reached, for its associated devices. It shall then set the NumAssocDev field to the number of entries in the NWKAddrAssocDevList field. 5.4.2. NWK_addr_rsp (ClusterID = 0x8000) The NWK_addr_rsp is generated by a Remote Device in response to a NWK_addr_req command inquiring as to the NWK address of the Remote Device or the NWK address of an address held in a local discovery cache. The destination addressing on this command is unicast. 5.4.2.1. Frame Format Octet : 1 8 2 1 1 Variable Status IEEEAddr RemoteDev NwkAddr Remote Dev NumAssocDev StartIndex NwkAddr AssocDevList Status UINT8 SUCCESS INV_REQUESTTYPE DEVICE_NOT_FOUND IEEEAddrRemoteDev UINT8 IEEEAddr of NWK_Addr_req Array NwkAddrRemoteDev UINT16 NWK Address of the device corresponding to the IEEEAddr of NWK_Addr_req. NumAssocDev UINT8 Existing field when RequestType of NWK_Adr_req is 1. It means the number of device list to be included NwkAddrAssocDevList field. StartIndex UINT8 Existing Field when RequestType of NWK_Adr_req is 1. It is StartIndex of NWK_Addr_req. NwkAddrAssocDevList UINT8 Existing field when RequestType of Page:18/51

Array NWK_Adr_req is 1 and NumAssocDev value not 0. NWK Address information is included from the list which StartIndex in associated device list indicates. 5.4.2.2. Effect On Receipt On receipt of the NWK_addr_rsp command, the recipient is either notified of the status of its attempt to discover a NWK address from an IEEE address or notified of an error. If the NWK_addr_rsp command is received with a Status of SUCCESS, the remaining fields of the command contain the appropriate discovery information, according to the RequestType as specified in the original NWK_Addr_req command. Otherwise, the Status field indicates the error and the NumAssocDev, StartIndex, and NWKAddrAssocDevList fields shall not be included. 5.4.3. IEEE_addr_req (ClusterID = 0x0001) The IEEE_addr_req is generated from a Local Device wishing to inquire as to the 64-bit IEEE address of the Remote Device based on their known 16-bit address. The destination addressing on this command shall be unicast. 5.4.3.1. Frame Format Octet : 2 1 1 NwkAddrOfInterest RequestType StartIndex NwkAddrOfInterest UINT16 16-bit NWK Address of remote device RequestType 0 or 1 0=Single Device Response. 1=Extended Response StartIndex UINT8 It exists when RequestType is 1. It is start index of associated device list for remote device. 5.4.3.2. Effect On Receipt Upon receipt, a Remote Device shall compare the NWKAddrOfInterest to its local NWK address or any NWK address held in its local discovery cache. If there is no match, an IEEE_addr_resp command shall be generated and sent back to the local Page:19/51

device with the Status field set to DEVICE_NOT_FOUND; the IEEEAddrRemoteDev field set to the IEEE address of this device; the NWKAddrRemoteDev field set to the NWK address of the request; and the NumAssocDev, StartIndex, and NWKAddrAssocDevList fields shall not be included in the frame. If a match is detected between the contained NWKAddrOfInterest and the Remote Device s NWK address or one held in the discovery cache, the RequestType shall be used to create a response. If the RequestType is one of the reserved values, an IEEE_addr_resp command shall be generated and sent back to the local device with the Status field set to INV_REQUESTTYPE, the IEEEAddrRemoteDev field set to the IEEE address of this device, the NWKAddrRemoteDev field set to the network address of this device and the NumAssocDev, StartIndex, and NWKAddrAssocDevList fields shall not be included in the frame. If the RequestType is single device response, an IEEE_addr_resp command shall be generated and sent back to the local device with the Status field set to SUCCESS, the IEEEAddrRemoteDev field set to the IEEE address of the discovered device, the NWKAddrRemoteDev field set to the NWK address of the request and the NumAssocDev, StartIndex, and NWKAddrAssocDevList fields shall not be included in the frame. If the RequestType indicates an Extended Response and the Remote Device is the ZigBee coordinator or router with associated devices, an IEEE_addr_resp command shall be generated and sent back to the local device with the Status field set to SUCCESS, the IEEEAddrRemoteDev field set to the IEEE address of the device itself, and the NWKAddrRemoteDev field set to the NWK address of the device itself. The Remote Device shall also supply a list of all 16-bit network addresses in the NWKAddrAssocDevList field, starting with the entry StartIndex and continuing with whole entries until the maximum APS packet length is reached, for its associated devices. It shall then set the NumAssocDev field to the number of entries in the NWKAddrAssocDevList field. 5.4.4. IEEE_addr_rsp (ClusterID = 0x8001) 5.4.4.1. Frame Format Octet : 1 8 2 1 1 Variable Status IEEEAddr RemoteDev NwkAddr Remote Dev NumAssocDev StartIndex NwkAddr AssocDevList Page:20/51

Status UINT8 SUCCESS INV_REQUESTTYPE DEVICE_NOT_FOUND IEEEAddrRemoteDev UINT8 64-bit IEEE Address of remote device. Array NwkAddrRemoteDev UINT16 16-bit NWK Address of remote device. NumAssocDev UINT8 Existing field when RequestType of NWK_Adr_req is 1. It means the number of the device included to NwkAddrAssocDevList field. StartIndex UINT8 It exists when RequestType of IEEE_Adr_req is 1. It is StartIndex of IEEE_Addr_req. NwkAddrAssocDevList UINT8 Existing field when RequestType of Array IEEE_Adr_req is 1 and NumAssocDev value is not 0. NWK Address information is included from the list which StartIndex in associated device list indicates. 5.4.4.2. Effect On Receipt On receipt of the IEEE_addr_rsp command, the recipient is either notified of the status of its attempt to discover an IEEE address from an NWK address or notified of an error. If the IEEE_addr_rsp command is received with a Status of SUCCESS, the remaining fields of the command contain the appropriate discovery information, according to the RequestType as specified in the original IEEE_Addr_req command. Otherwise, the Status field indicates the error and the NumAssocDev, StartIndex, and NWKAddrAssocDevList fields shall not be included. 5.4.5. Node_Desc_req (ClusterID = 0x0002) 5.4.5.1. Frame Format Octet : 2 NwkAddrOfInterest NwkAddrOfInterest UINT16 16-bit NWK Address of remote device Page:21/51

5.4.5.2. Effect On Receipt Upon receipt of this command, the recipient device shall generate a Node_Desc_rsp command in response. 5.4.6. Node_Desc_rsp (ClusterID = 0x8002) 5.4.6.1. Frame Format Octet : 1 2 Variable Status NwkAddrOfInterest Node Descriptor Staus UINT8 SUCCESS DEVICE_NOT_FOUND INV_REQUESTTYPE NO_DESCRIPTOR NwkAddrOfInterest UINT16 NWKAddrOfInterest field of Node_Desc_req. NodeDescriptor Descriptor Size It exists when status is succeeded. Node descriptor of remote device 5.4.6.2. Effect On Receipt On receipt of the Node_Desc_rsp command, the recipient is either notified of the node descriptor of the remote device indicated in the original Node_Desc_req command or notified of an error. If the Node_Desc_rsp command is received with a Status of SUCCESS, the NodeDescriptor field shall contain the requested node descriptor. Otherwise, the Status field indicates the error and the NodeDescriptor field shall not be included. 5.4.7. Power_Desc_req (ClusterID = 0x0003) 5.4.7.1. Frame Format Octet : 2 NwkAddrOfInterest NwkAddrOfInterest UINT16 16-bit NWK Address of remote device 5.4.7.2. Effect On Receipt Upon receipt of this command, the recipient device shall generate a Page:22/51

Power_Desc_rsp command in response. 5.4.8. Power_Desc_rsp (ClusterID = 0x8003) 5.4.8.1. Frame Format Octet : 1 2 variable Status NwkAddrOfInterest Power Descriptor Staus UINT8 SUCCESS DEVICE_NOT_FOUND INV_REQUESTTYPE NO_DESCRIPTOR NwkAddrOfInterest UINT16 NWKAddrOfInterest field of Power_Desc_req PowerDescriptor Descriptor Size It exists when status is succeeded. Power descriptor of remote device. AvailaPwrSrc_CurrPwrMode UINT8 bit[7:4] : Available Power Source bit[7] : reserved. bit[6] : Support Disposable Battery. bit[5] : Support Rechargeable Battery. bit[4] : Support Mains-Power. bit[3:0] : Current Power Mode. 0=Receiver is turned on by RxOnWhenIdle of Node Descriptor. 1=Receiver is turned on periodically. 2=Receiver is turned on when there is the external input. 3 ~ 15 : reserved CurrPwrLevel_CurrPwrSrc UINT8 bit[7:4] : CurrPwrLevel. It shows current power level. 0=Critical, 1=33%, 2=66%, 3=100% bit[3:0] : CurrPwrSrc. It shows current power source. bit[3] : reserved bit[2] : Operate as Disposable Battery. bit[1] : Operate as Rechargeable Battery. bit[0] : Operate as Mains-Power. Page:23/51

5.4.8.2. Effect On Receipt On receipt of the Power_Desc_rsp command, the recipient is either notified of the power descriptor of the remote device indicated in the original Power_Desc_req command or notified of an error. If the Power_Desc_rsp command is received with a Status of SUCCESS, the PowerDescriptor field shall contain the requested power descriptor. Otherwise, the Status field indicates the error and the PowerDescriptor field shall not be included. 5.4.9. Simple_Desc_req (ClusterID = 0x0004) 5.4.9.1. Frame Format Octet : 2 1 NwkAddrOfInterest Endpoint NwkAddrOfInterest UINT16 16-bit NWK Address of remote device. Endpoint UINT8 Endpoint of remote device. 5.4.9.2. Effect On Receipt Upon receipt of this command, the recipient device shall generate a Simple_Desc_rsp command in response. 5.4.10. Simple_Desc_rsp (ClusterID = 0x8004) 5.4.10.1. Frame Format Octet : 1 2 variable Status NwkAddrOfInterest Simple Descriptor Staus UINT8 SUCCESS INVALID_EP NOT_ACTIVE DEVICE_NOT_FOUND INV_REQUESTTYPE NO_DESCRIPTOR NwkAddrOfInterest UINT16 NWKAddrOfInterest field of Simple_Desc_req Page:24/51

Length UINT8 The number of byte of SimpleDescriptor SimpleDescriptor Descriptor It exists when status is succeeded. Size Simple descriptor of remote device EndPoint UINT8 The number of endpoint. AppProID UINT16 Protocol ID of an application. AppDevID UINT16 Device ID of an application. DevVersion UINT8 bit[7:4] : reserved bit[3:0] : Device version. NumInClus UINT8 The number of incoming cluster which endpoint has. InClusList UINT16 Array Incoming Cluster List. There is a list as much as the number of NumInClus. NumOutClus UINT8 The number of outgoing cluster which endpoint has. OutClusList UINT16 Array Outgoing Cluster List. There is a list as much as the number of NumInClus. 5.4.10.2. Effect On Receipt On receipt of the Simple_Desc_rsp command, the recipient is either notified of the simple descriptor on the endpoint of the remote device indicated in the original Simple_Desc_req command or notified of an error. If the Simple_Desc_rsp command is received with a Status of SUCCESS, the SimpleDescriptor field shall contain the requested simple descriptor. Otherwise, the Status field indicates the error and the SimpleDescriptor field shall not be included. 5.4.11. Active_EP_req (ClusterID = 0x0005) 5.4.11.1. Frame Format Octet : 2 NwkAddrOfInterest NwkAddrOfInterest UINT16 16-bit NWK Address of remote device 5.4.11.2. Effect On Receipt Upon receipt of this command, the recipient device shall generate an Active_EP_rsp command in response. Page:25/51

5.4.12. Active_EP_rsp (ClusterID = 0x8005) 5.4.12.1. Frame Format Octet : 1 2 1 variable Status NwkAddrOfInterest ActiveEPCount ActiveEPList Staus UINT8 SUCCESS DEVICE_NOT_FOUND INV_REQUESTTYPE NO_DESCRIPTOR NwkAddrOfInterest UINT16 NWKAddrOfInterest field of Active_EP_req. ActiveEPCount UINT8 The number of enabled endpoint. ActiveEPList EPList Size It exists when ActiveEPCount field is not 0. It includes the information of enabled endpoint. 5.4.12.2. Effect On Receipt On receipt of the Active_EP_rsp command, the recipient is either notified of the active endpoints of the remote device indicated in the original Active_EP_req command or notified of an error. If the Active_EP_rsp command is received with a Status of SUCCESS, the ActiveEPCount field indicates the number of entries in the ActiveEPList field. Otherwise, the Status field indicates the error and the ActiveEPList field shall not be included. 5.4.13. Match_Desc_req (ClusterID = 0x0006) 5.4.13.1. Frame Format Octet : 2 2 1 variable 1 variable NwkAddr OfInterest ProfileID NumIn Cluster InClusterList NumOut Cluster OutCluserList NwkAddrOfInterest UINT16 16-bit NWK Address of remote device ProfileID UINT16 ProfileID which should be match on remote device. NumInCluster UINT8 The number of cluster provided in InClusterList field to compare input cluster. InClusterList UINT16 Array The list of input cluster ID to be used for comparison. It does not exist when NumInCluster is 0. Page:26/51

NumOutCluster UINT8 The number of cluster provided in OutClusterList field to compare output cluster. OutClusterList UINT16 Array The list of output cluster ID to be used for matching. It does not exist when NumOutCluster is 0. 5.4.13.2. Effect On Receipt Upon receipt of this command, the recipient device shall generate a Match_Desc_rsp command in response. 5.4.14. Match_Desc_rsp (ClusterID = 0x8006) 5.4.14.1. Frame Format Octet : 1 2 1 variable Status NwkAddrOfInterest MatchLength MatchList Staus UINT8 SUCCESS DEVICE_NOT_FOUND INV_REQUESTTYPE NO_DESCRIPTOR NwkAddrOfInterest UINT16 When destination of Match_Desc_req is broadcast, it is 16-bit NWK Addrss of the device which is matched the result of comparison for simple descriptor. When destination of Match_Desc_req is not broadcast, it is NwkAddrOfInterest of Match_Desc_req. MatchLength UINT8 The number of endpoint for remote device which is matched to the Match_Desc_req request. MatchList Enpoint List The list of endpoint for remote device which is matched to the Match_Desc_req request. 5.4.14.2. Effect On Receipt On receipt of the Match_Desc_rsp command, the recipient is either notified of the results of its match criterion query indicated in the original Match_Desc_req command or notified of an error. If the Match_Desc_rsp command is received with a Status of SUCCESS, the MatchList field shall contain the list of endpoints containing simple descriptors that matched the criterion. Otherwise, the Status field indicates the error and the MatchList field shall not be included. Page:27/51

5.4.15. User_Desc_req (ClusterID = 0x0011) 5.4.15.1. Frame Format Octet : 2 NwkAddrOfInterest NwkAddrOfInterest UINT16 16-bit NWK Address of remote device 5.4.15.2. Effect On Receipt Upon receipt of this command, the recipient device shall generate a User_Desc_rsp command in response. 5.4.16. User_Desc_rsp (ClusterID = 0x8011) 5.4.16.1. Frame Format Octet : 1 2 1 16 Status NwkAddrOfInterest Length UserDescriptor Status UINT8 The status of the User_Desc_req command. NwkAddrOfInterest UINT16 NWK address for the request. Length UINT8 Length in bytes of the UserDescriptor field. UserDescriptor UINT8[16] user descriptor of the requested device 5.4.16.2. Effect On Receipt On receipt of the User_Desc_rsp command, the recipient is either notified of the user descriptor of the remote device indicated in the original User_Desc_req command or notified of an error. If the User_Desc_rsp command is received with a Status of SUCCESS, the UserDescriptor field shall contain the requested user descriptor. Otherwise, the Status field indicates the error and the UserDescriptor field shall not be included. 5.4.17. Device_annce (ClusterID = 0x0013) 5.4.17.1. Frame Format Octet : 2 8 1 Page:28/51

NwkAddr IEEEAddr Capability NwkAddr UINT16 16-bit NWK Address of its own IEEEAddr UINT8[8] 64-bit IEEE Address of its own Capability UINT8 Capability of its own 5.4.17.2. Effect On Receipt Upon receipt, IEEE addreaa and NWK address of remote device are identified. This information is used to update address map table and address confliction check. 5.4.18. User_Desc_set (ClusterID = 0x0014) 5.4.18.1. Frame Format Octet : 2 1 16 NwkAddrOfInterest Length UserDescriptor NwkAddrOfInterest UINT16 NWK address for the request Length UINT8 Length of the User Descriptor in bytes. UserDescriptor UINT8[16] The user description to configure; if the ASCII character string to be entered here is less than 16 characters in length, it shall be padded with space characters (0x20) to make a total length of 16 characters. Characters with codes 0x00-0x1f are not permitted. 5.4.18.2. Effect On Receipt Upon receipt of this command, the recipient device updates user descriptor and then generates a User_Desc_conf command in response. 5.4.19. User_Desc_conf (ClusterID = 0x8014) 5.4.19.1. Frame Format Octet : 1 2 Status NwkAddrOfInterest Page:29/51

Status UINT8 The status of the User_Desc_set command. NwkAddrOfInterest UINT16 The network address of the device on which the user descriptor set attempt was made. 5.4.19.2. Effect On Receipt The local device is notified of the results of User_Desc_set transmission. 5.4.20. System_Server_Discovery_req (ClusterID = 0x0015) 5.4.20.1. Frame Format Octet : 2 ServerMask ServerMask 16bit bitmap bit[15:7] : reserved. bit[6] : 1 = Operated as Network Manager bit[5] : 1 = Operated as Backup Discovery Cache. bit[4] : 1 = Operated as Primary Discovery Cache. bit[3] : 1 = Operated as Backup Binding Table Cache. bit[2] : 1 = Operated as Primary Binding Table Cache. bit[1] : 1 = Operated as Backup Trust Center. bit[0] : 1 = Operated as Primary Trust Center. 5.4.20.2. Effect On Receipt Upon receipt, remote devices shall compare the ServerMask parameter to the Server Mask field in their own Node descriptor. If no bits are found to match, no action is taken. If any matching bits are found, the remote device shall send a System_Server_Discovery_rsp back to the originator using unicast transmission (with acknowledgement request) and indicating the matching bits. 5.4.21. System_Server_Discovery_rsp (ClusterID = 0x8015) 5.4.21.1. Frame Format Octet : 1 2 Status ServerMask Page:30/51

Status UINT8 SUCCESS ServerMask UINT16 It is the result to operate ServerMask of System_Server _Discovery_req and ServerMask field of node descriptor for remote device by AND per bit. bit[15:6] : reserved bit[5] : 1 = Operate as Backup Discovery Cache bit[4] : 1 = Operate as Primary Discovery Cache bit[3] : 1 = Operate as Backup Binding Table Cache bit[2] : 1 = Operate as Primary Binding Table Cache bit[1] : 1 = Operate as Backup Trust Center bit[0] : 1 = Operate as Primary Trust Center. 5.4.21.2. Effect On Receipt The requesting device is notified that this device has some of the system server functionality that the requesting device is seeking. If the Network Manager bit was set in the System_Server_Discovery_rsp, then the Remote Device.s NWK address shall be set into the nwkmanageraddr of the NIB. 5.4.22. End_Device_Bind_req (ClusterID = 0x0020) 5.4.22.1. Frame Format Octet : 8 1 2 1 Variable 1 Variable 2 Binding Target SrcIEE E Addres s Src EP Profile ID Num InCluster s InCluste r List Num OutCluster s OutCluste r List BindingTarget UINT16 The address of target which is binding. It can be a local device or primary cache device. SrcIEEEAddress UINT8[8] IEEE address of the device, which requests, itself. SrcEndpoint UINT8 Endpoint of the device, which requests, itself. ProfileID UINT16 It is profile ID to match between two End_Device_Bind_req, which ZigBee coordinator receives, within timeout value defined on ZigBee coordinator Page:31/51

NumInClusters UINT8 The number of input cluster provided for end device binding in nclusterlist. InClusterList UINT16 Array The list of Input cluster ID used in matching. InClusterList is matched with output cluster of remote device on ZigBee coordinator. NumOutClusters UINT8 The number of output cluster provided for end device binding in OutClusterList. OutClusterList UINT16 Array The list of output cluster used in matching. OutCluster List is matched with input cluster of the remote device on ZigBee coordinator. 5.4.22.2. Effect On Receipt On receipt of this command, the ZigBee coordinator shall first check that the supplied endpoint is within the specified range. If the supplied endpoint does not fall within the specified range, the ZigBee coordinator shall return an End_Device_Bind_rsp with a status of INVALID_EP. If the supplied endpoint is within the specified range, the ZigBee Coordinator shall retain the End_Device_Bind_req for a pre-configured timeout duration awaiting a second End_Device_Bind_req. If the second request does not appear within the timeout period, the ZigBee Coordinator shall generate a TIMEOUT status and return it with the End_Device_Bind_rsp to the originating Local Device. Assuming the second End_Device_Bind_req is received within the timeout period, it shall be matched with the first request on the basis of the ProfileID, InClusterList and OutClusterList. If no match of the ProfileID is detected or if the ProfileID matches but none of the InClusterList or OutClusterList elements match, a status of NO_MATCH shall be supplied to both Local Devices via End_Device_Bind_rsp to each device. If a match of Profile ID and at least one input or output clusterid is detected, an End_Device_Bind_rsp with status SUCCESS shall be issued to each Local Device which generated the End_Device_Bind_req. In order to facilitate a toggle action, the ZigBee Coordinator shall then issue an Unbind_req command to the BindingTarget, specifying any one of the matched ClusterID values. If the returned status value is NO_ENTRY, the ZigBee Coordinator shall issue a Bind_req command for each matched ClusterID value. Otherwise, the ZigBee Coordinator shall conclude that the binding records are instead to be removed and shall issue an Unbind_req command for any further matched ClusterID values. Page:32/51

The initial Unbind_req and any subsequent Bind_reqs or Unbind_reqs containing the matched clusters shall be directed to one of the BindingTargets specified by the generating devices. The BindingTarget is selected on an individual basis for each matched cluster, as the Binding Target selected by the generating device having that cluster as an output cluster. The SrcAddress field shall contain the 64-bit IEEE address of that same generating device and the SrcEndp field shall contain its endpoint. The DstAddress field shall contain the 64-bit IEEE address of the generating device having the matched cluster in its input cluster list and the DstEndp field shall contain its endpoint. 5.4.23. End_Device_Bind_rsp (ClusterID = 0x8020) 5.4.23.1. Frame Format Octet : 1 Status Status UINT8 SUCCESS NOT_SUPPORTED INVALID_EP TIMEOUT NO_MATCH 5.4.23.2. Effect On Receipt The result of End_Device_Bind_req transmission is found. 5.4.24. Bind_req (ClusterID = 0x0021) 5.4.24.1. Frame Format Octets: 8 1 2 1 2/8 0/1 SrcAddress SrcEndp ClusterID DstAddrMode DstAddress DstEndp SrcAddress UINT8[8] IEEE Address of source device on binding entry. SrcEndpoint UINT8 Endpoint of source device on binding entry. ClusterID UINT16 The value of cluster ID of source device to be bound with destination. Page:33/51

DstAddrMode UINT8 Address mode for the destination address. 0x00 = reserved 0x01 = DstAddress means 16-bit group address and there is no DstEndpoint field. 0x02 = reserved 0x03=DstAddress means 64-bit extended address and DstEndpoint field is included. 0x04 0xff = reserved DstAddress UINT8[8] Address of destination device on binding entry. DstEndpoint UINT8 When DstAddrMode is 0x03, it is endpoint of destination device on binding entry. 5.4.24.2. Effect On Receipt Upon receipt, a Remote Device (a Primary binding table cache or the device designated by SrcAddress) shall create a Binding Table entry based on the parameters supplied in the Bind_req if the Binding Manager is supported. If the remote device is a primary binding table cache, the following additional processing is required. First, the primary cache shall check its table of devices holding their own source bindings for the device in SrcAddress and, if it is found, shall issue another Bind_req to that device with the same entry. Second, the primary cache shall check if there is a backup binding table cache and, if so, shall issue a Store_Bkup_Binding_Entry_req command to backup the new entry. The Remote Device shall then respond with SUCCESS if the entry has been created by the Binding Manager; otherwise, the Remote Device shall respond with NOT_SUPPORTED. 5.4.25. Bind_rsp (ClusterID = 0x8021) 5.4.25.1. Frame Format Octet : 1 Status Status UINT8 SUCCESS NOT_SUPPORTED INVALID_EP TABLE_FULL Page:34/51

5.4.25.2. Effect On Receipt Upon receipt, error checking is performed on the request as described in the previous section. Assuming the Status is SUCCESS, the parameters from the Bind_req are entered into the Binding Table at the Remote Device via the APSME- BIND.request primitive. 5.4.26. Unbind_req (ClusterID = 0x0022) 5.4.26.1. Frame Format Octets: 8 1 2 1 2/8 0/1 SrcAddress SrcEndp ClusterID DstAddrMode DstAddress DstEndp SrcAddress UINT8[8 IEEE Address of source device on binding entry. ] SrcEndpoint UINT8 Endpoint of source device on binding entry. ClusterID UINT16 The value of cluster ID of source device to be bound with destination. DstAddrMode UINT8 Address mode for the destination address. 0x00 = reserved 0x01 = DstAddress means 16-bit group address and there is no DstEndpoint field. 0x02 = reserved 0x03=DstAddress means 64-bit extended address and DstEndpoint field is included. 0x04 0xff = reserved DstAddress UINT8[8 Address of destination device on binding entry. ] DstEndpoint UINT8 When DstAddrMode is 0x03, it is endpoint of destination device on binding entry. 5.4.26.2. Effect On Receipt The Remote Device shall evaluate whether this request is supported. If the request is not supported, a Status of NOT_SUPPORTED shall be returned. If the request is supported, the Remote Device (a Primary binding table cache or the SrcAddress) shall remove a Binding Table entry based on the parameters supplied in the Unbind_req. If the Remote Device is a primary binding table cache, the following additional processing is required. First, the primary cache shall check its table of Page:35/51

devices holding their own source bindings for the device in SrcAddress and, if it is found, shall issue another Unbind_req to that device with the same entry. Second, the primary cache shall check if there is a backup binding table cache and, if so, shall issue a Remove_Bkup_Bind_Entry_req command to remove the backup of this entry. If a Binding Table entry for the SrcAddress, SrcEndp, ClusterID, DstAddress, DstEndp contained as parameters does not exist, the Remote Device shall respond with NO_ENTRY. Otherwise, the Remote Device shall delete the indicated Binding Table entry and respond with SUCCESS. 5.4.27. Unbind_rsp (ClusterID = 0x8022) 5.4.27.1. Frame Format Octet : 1 Status Status UINT8 SUCCESS / NOT_SUPPORTED / INVALID_EP / NO_ENTRY 5.4.27.2. Effect On Receipt Upon receipt, error checking is performed on the response. If the status is SUCCESS, the device has successfully removed the binding entry for the parameters specified in the Unbind_req. 5.4.28. Mgmt_NWK_Update_req (ClusterID = 0x0038) 5.4.28.1. Frame Format Octet : 4 1 0/1 0/1 0/2 ScanChannel ScanDuration ScanCount nwkupdateid nwkmanageraddr ScanChannel UINT32 Channel List to scan. Each bit indicates whether the corresponding channel is to be scanned. bit[31:27] : reserved bit[26] : 1=Channel 26(2480MHz) is to be scanned. Page:36/51

bit[11] : 1=Channel 11(2405MHz) is to be scanned. bit[10:0] : reserved ScanDuratioin UINT8 0x00 ~ 0x05 : A value used to calculate the length of time to spend scanning each channel. The time spent scanning each channel is, (0=33ms, 1=49ms, 2=81ms, 3=145ms, 4=273ms, 5=529ms) 0xfe : This is a request for channel change. 0xff : This is a request to change the apschannelmask and nwkmanageraddr parameters. ScanCount UINT8 This field represents the number of energy scans to be conducted and reported. This field shall be present only if the ScanDuration is within the range of 0x00 to 0x05. nwkupdateid UINT8 The value of the nwkupdateid contained in this request. This value is set by the Network Channel Manager prior to sending the message. This field shall only be present of the ScanDuration is 0xfe or 0xff. nwkmanagerad dr UINT16 This field shall be present only if the ScanDuration is set to 0xff, and, where present, indicates the NWK address for the device with the Network Manager bit set in its Node Descriptor. 5.4.28.2. Effect On Receipt Upon receipt, the Remote Device shall determine from the contents of the ScanDuration parameter whether this request is an update to the apschannelmask and nwkmanageraddr parameters, a channel change command, or a request to scan channels and report the results. If the ScanDuration parameter is equal to 0xfe, the command provides a new active channel as a single channel in the ChannelMask in which case the APS IB is not updated but the procedure for changing channels is completed. If the ScanDuration parameter is equal to 0xff, the command provides a set of new apschannelmask along with a new nwkmanageraddr. The Remote Device shall store the apschannelmask in the APS IB and the nwkmanageraddr in the NIB without invocation of an NLME-ED-SCAN.request. Page:37/51

If this command is unicast with ScanDuration set to 0xfe or 0xff, the Remote Device shall not respond. The network manager should request an APS acknowledgement in this case. If the ScanDuration is equal to 0x00 to 0x05 and the destination addressing on this command was unicast then the command is interpreted as a request to scan the channels described in ChannelMask, using the parameter ScanDuration and ScanCount, via invocation of an NLME-ED-SCAN.request. If the Remote Device does not support fragmentation and the resulting response will exceed the APDU, the Remote Device shall perform the Energy Detect Scan on as many of the requested channels as will fit into a single APDU, highlighting the list of actual scanned channels in the response parameter. If multiple scans are requested in the ScanCount, each scan is reported as a separate result. The Remote Device will employ an Energy Detect Scan using the request parameters, modified by the limitation described for fragmentation, and supply the results to the requesting device with a Mgmt_NWK_Update_notify with a SUCCESS status. Otherwise, if the ScanDuration is equal to 0x06 to 0xfd and the destination addressing on this command was unicast then the Remote Device shall return a status of INVALID_REQUEST. If the destination addressing on this command was not unicast then the Remote Device shall not transmit a response. 5.4.29. Mgmt_NWK_Update_notify (ClusterID = 0x8038) 5.4.29.1. Frame Format Octet : 1 4 2 2 1 variable Status Scanned Channel Total Transmit Transmit Fail ScannedChannel ListCount EnergyValue Status UINT8 The status of the Mgmt_NWK_Update_notify command. ScannedChann UINT32 List of channels scanned by the request. el TotalTransmit UINT16 Count of the total transmissions reported by the device. TransmitFail UINT16 Sum of the total transmission failures reported by the device. Page:38/51