(0x03) ZigBee Support Configuration Frames
This section describes the commands used to configure RapidConnect IEEE functional device type, as well as the endpoints, clusters and attributes that will logically exist on that device.
( PH:0x03, SH:0x00 ) - Device Type Write Command
Overview
The Device Type Write command is sent by the Host to the Module in order to configure the application’s IEEE functional device type. The Host is only required to issue this command once after synchronizing with a factory default Module for the first time, as the configuration is preserved in the application’s non-volatile memory.
The Module may be configured to behave as either a Full-Function Device (FFD) or Reduced-Function Device (RFD). An FFD has facilities for routing network messages as either a coordinator or a router, while an RFD may only join a network as a non-routing end node
If the Host configures the Module as an RFD, it may additionally configure the application to serve as either a non-sleepy or sleepy end device, with the latter configuration serving to conserve power should the given device be battery powered or otherwise consumption-sensitive.
Payload
Byte Index | Field Name | Notes |
---|---|---|
0 | Device Function Type | Default value 0x00 (FFD) 0x00 = FFD (router or coordinator) |
1 | Sleepy | 0x00 = Non-Sleepy (this is the default value) 0x01 = Sleepy (only valid with RFDs) |
Effect on Receipt
If the command is valid, the Module will update the setting and save it to non-volatile memory while also relaying a Device Type Response to the Host to confirm the setting. The following table lists the possible Status Responses on reception of the command.
Status Responses to Device Type Write Command
Status Response | Enum | Description |
---|---|---|
Success | 0x00 | IEEE functional device type has been updated and backed up to non-volatile memory. |
Invalid Call | 0x01 | The Module is already on a network and cannot modify its device type. |
Invalid Data | 0x02 | Field values are outside of valid range or are otherwise inapplicable in their current combination. |
Allowed Contexts
Startup Config.
Sent By Host/Module
Host.
( PH:0x03, SH:0x01 ) - Device Type Request Command
Overview
The Device Type Request is sent by the Host to the Module in order to query the application IEEE functional device type.
Payload
The command has no payload.
Effect on Receipt
The Module will respond with a Device Type Response.
Allowed Contexts
All Contexts.
Sent By Host/Module
Host.
( PH:0x03, SH:0x02 ) - Device Type Response Command
Overview
The Device Type Response is sent by the Module to the Host in response to a Device Type Request.
Payload
Byte Index | Field Name | Notes |
---|---|---|
0 | Device Function Type | 0x00 = FFD (router or coordinator) |
1 | Sleepy | 0x00 = Non-Sleepy |
Effect on Receipt
The Module will respond with a Device Type Response.
Allowed Contexts
Same context as request.
Sent By Host/Module
Module.
( PH:0x03, SH:0x10 ) - Add Endpoint Command
Overview
The Add Endpoint command is sent by the Host to the Module in order to configure an application endpoint. This includes defining the Endpoint ID, Profile ID, Device ID, Device Version and the lists of server and client clusters supported on that endpoint.
Every known cluster included in the command (i.e., those already defined in the ZCL or HA specifications) will be automatically populated by the application with its mandatory attributes, which will likewise be enabled.
The Add Endpoint command may also be used to update the definition of an existing endpoint by specifying its Endpoint ID in the payload. If an update operation does not include previously specified clusters, those clusters are removed along with their associated attributes.
Payload
Byte Index | Field Name | Notes |
---|---|---|
0 | Endpoint ID | Valid range 1 - 240 |
1,2 | Profile ID | 0x0104 |
3,4 | Device ID | See this page for a list of Device IDs used in the HA profile. |
5 | Device Version | |
6 | Number of Server Clusters | The number of server clusters, n |
7..6+2n | List of Server Clusters | List of 2-byte Cluster IDs, LSB first |
7+2n | Number of Client Clusters | The number of client clusters, m |
8+2n..7+2(n+m) | List of Client Clusters | List of 2-byte Cluster IDs, LSB first |
Effect on Receipt
The Module will verify that the Endpoint ID is valid and that there is sufficient memory for the new endpoint and its associated clusters. Likewise, the application will automatically configure all mandatory attributes for specified known clusters. The following table lists the possible Status Responses on reception of the command.
Status Responses to Add Endpoint Command
Status Response | Enum | Description |
---|---|---|
Success | 0x00 | The endpoint was successfully added or updated. |
Invalid Data | 0x02 | The Endpoint ID is not within valid range. |
Storage Full | 0x04 | Attribute storage has reached maximum capacity; none of the definitions were added. |
Incorrect Length | 0x07 | The frame is incomplete. |
Network Up | Adding an endpoint while the network is up is not allowed. |
Allowed Contexts
Startup Config.
Sent By Host/Module
Host.
( PH:0x03, SH:0x11 ) - Endpoint List Request Command
Overview
The Endpoint List Request is sent by the Host to the Module in order to query the application endpoint list. The Host may apply this command to verify the configuration of application endpoints after having created them.
Payload
The command has no payload.
Effect on Receipt
The Module will respond with an Endpoint List Response conveying a list of Endpoint ID’s. There are no Status Responses issued on reception of this command.
Allowed Contexts
All Contexts.
Sent By Host/Module
Host.
( PH:0x03, SH:0x12 ) - Endpoint List Response Command
Overview
The Endpoint List Response is sent by the Module to the Host in response to an Endpoint List Request. The command conveys the Endpoint ID’s of all the configured endpoints supported by the application.
Payload
Byte Index | Field Name | Notes |
---|---|---|
0 | Number of Endpoints | The number of endpoints, n |
1..n | List of Endpoint IDs | 1 byte each |
Effect on Receipt
None
Allowed Contexts
Same context as request.
Sent By Host/Module
Module.
( PH:0x03, SH:0x13 ) - Endpoint Descriptor Request Command
Overview
The Endpoint Descriptor Request is sent by the Host to the Module in order to query the definition of a given application endpoint. The Host may apply this command to verify the full configuration of an application Endpoints after having creating it.
Payload
Byte Index | Field Name | Notes |
---|---|---|
0 | Endpoint ID | The Endpoint ID of the Endpoint to query. |
Effect on Receipt
The Module will respond with an error if it does not support the specified endpoint. Otherwise, it relays the appropriate Endpoint Descriptor Response to the Host. The following table lists the possible Status Responses on reception of the command.
Status Response to Endpoint Descriptor Request Command
Status Response | Enum | Description |
---|---|---|
Endpoint Not Found | 0x08 | The specified endpoint is not supported |
Allowed Contexts
All Contexts.
Sent By Host/Module
Host.
( PH:0x03, SH:0x14 ) - Endpoint Descriptor Response Command
Overview
The Endpoint Descriptor Response is sent by the Module to the Host in response to an Endpoint Descriptor Request.
Payload
Byte Index | Field Name | Notes |
---|---|---|
0 | Endpoint ID | Valid range 1 - 240 |
1,2 | Profile ID | |
3,4 | Device ID | See this page for a list of Device IDs used in the HA profile. |
5 | Device Version | |
6 | Number of Server Clusters | The number of server clusters, n |
7..6+2n | List of Server Clusters | List of 2-byte Cluster IDs, LSB first |
7+2n | Number of Client Clusters | The number of client clusters, m |
8+2n..7+2n+2m | List of Client Clusters | List of 2-byte Cluster IDs, LSB first |
Effect on Receipt
None
Allowed Contexts
Same context as request.
Sent By Host/Module
Module.
( PH:0x03, SH:0x20 ) - Add Attributes to Cluster Command
Overview
The Add Attribute to Cluster command is sent by the Host to the Module in order to append attribute definitions to a configured application cluster. The command may specify as many attributes as the maximum payload capacity of a RapidConnect frame allows. For a cluster with large number of attributes, the command may be issued as many times as required.
Please note the application automatically adds mandatory attributes to all configured known clusters, i.e., those already defined in the ZCL or HA specifications. Thus, a simple Host implementation may not need to send this command, or only send it to add optional attributes.
Payload
Byte Index | Field Name | Notes |
---|---|---|
0 | Endpoint ID | |
1,2 | Cluster ID | |
3 | Cluster Server/Client | 0x00 = Client |
4 | Number of Attributes to Add | |
5..n | Attribute Definition Records | Record format is shown in the following table. |
Attribute Definition Record Format
Byte Index | Field Name | Notes |
---|---|---|
0,1 | Attribute ID | |
2 | Attribute Type | See the ZCL Data Types page for possible values. |
3 | Attribute Property Bitmask | Bit Description 0 0 = Not Readable |
Effect on Receipt
The Module will submit the payload of the received command to a series of checks:
That there is sufficient memory available for all specified attributes
That the target endpoint and cluster exist
That the Data Type of each specified attribute is valid
That the Payload is complete
On completion of these checks, the application will issue an appropriate Status Response indicating success or failure, as conveyed in the following table. Should the response indicate an error, the command will not take effect. Furthermore, the application will ignore duplicate definitions (i.e. corresponding exactly to an existing configuration) but will update existing attributes if the configuration specified is different. Each configured attribute is automatically populated with the default ZCL value for its given Data Type.
Status Responses to Add Attributes to Cluster Command
Status Response | Enum | Description |
---|---|---|
Success | 0x00 | All attribute definitions have been successfully added. |
Storage Full | 0x04 | Attribute storage has reached maximum capacity; no specified definitions added. |
Invalid Data Type | 0x06 | A specified Data Type does not conform to any defined ZCL Data Type. |
Incorrect Length | 0x07 | The frame is incomplete given what was specified. |
Endpoint Not Found | 0x08 | The endpoint cannot be found. |
Cluster Not Found | 0x09 | The cluster cannot be found. |
Allowed Contexts
Startup Config.
Sent By Host/Module
Host.
( PH:0x03, SH:0x21 ) - Attribute List Request Command
Overview
The Attribute List Request is sent by the Host to the Module in order to query the attributes on a given application cluster and endpoint.
Payload
Byte Index | Field Name | Notes |
---|---|---|
0 | Endpoint ID | The target endpoint to query. |
1,2 | Cluster ID | The target cluster to query on the given endpoint. |
3 | Cluster Server/Client | 0x00 = Client |
Effect on Receipt
If the Module supports the target endpoint and cluster, it will relay an appropriate number of Attribute List Response commands to the Host. Otherwise, a Status Response is generated indicating an error, as described in the following table.
Status Response to Attribute List Request Command
Status Response | Enum | Description |
---|---|---|
Endpoint Not Found | 0x08 | The specified endpoint cannot be found. |
Cluster Not Found | 0x09 | The specified cluster cannot be found. |
No Entry Found | 0x05 | The specified attribute is not supported. |
Allowed Contexts
All Contexts.
Sent By Host/Module
Host.
( PH:0x03, SH:0x22 ) - Attribute List Response Command
Overview
The Attribute List Response command is sent by the Module to the Host in response to an Attribute List Request. The message conveys a list of attributes supported on the cluster and endpoint queried. Should the number of attributes exceed the payload capacity of the message, they will be conveyed as multiple responses, or pages.
Payload
Byte Index | Field Name | Notes |
---|---|---|
0 | Endpoint ID | |
1,2 | Cluster ID | |
3 | Cluster Server/Client | 0x00 = Client |
4 | Total Number of Pages | The total number of pages (i.e., command frames) that will be sent to complete the response. |
5 | Current Page | The current page of a multi-page response. The first page is 1, a second page, if any, is 2, etc. |
6 | Number of Attributes | Number of attributes in the current page. |
7…n | List of Attribute IDs | Each Attribute ID is sent LSB first |
Effect on Receipt
None
Allowed Contexts
Same context as request.
Sent By Host/Module
Module.
( PH:0x03, SH:0x23 ) - Attribute Request Command
Overview
The Attribute Request is sent by the Host to the Module in order to query the definition and value of an attribute on a given cluster and endpoint.
Payload
Byte Index | Field Name | Notes |
---|---|---|
0 | Endpoint ID | The target endpoint to query. |
1,2 | Cluster ID | The target cluster to query on the given endpoint. |
3 | Cluster Server/Client | 0x00 = Client |
4,5 | Attribute ID | The ID of the attribute to query. |
Effect on Receipt
If the Module supports the requested attribute, it will respond with an Attribute Response. Otherwise, the application will relay a Status Response indicating an error, as described in the following table.
Status Response to Attribute Request Status
Status Response | Enum | Description |
---|---|---|
No Entry Found | 0x05 | The attribute cannot be found. |
Endpoint Not Found | 0x08 | The endpoint cannot be found. |
Cluster Not Found | 0x09 | The cluster cannot be found. |
Allowed Contexts
All Contexts.
Sent By Host/Module
Host.
( PH:0x03, SH:0x24 ) - Attribute Response Command
Overview
An Attribute Response is sent by the Module to the Host in response to an Attribute Request.
Payload
Byte Index | Field Name | Notes |
---|---|---|
0 | Endpoint ID | |
1,2 | Cluster ID | |
3 | Cluster Server/Client | 0x00 = Client |
4,5 | Attribute ID | |
6 | Attribute Property Bitmask | Bit Description 0 0 = Not Readable |
7 | Attribute Type | See the ZCL Data Types page for possible values. |
8..n | Attribute Value | Size dependent on Attribute Type. For strings, the length of the string will immediately precede the string itself. |
Effect on Receipt
None
Allowed Contexts
Same context as request.
Sent By Host/Module
Module.
( PH:0x03, SH:0x25 ) - Attribute Write Command
Overview
The Attribute Write command is sent by the Host to the Module in order to set the value of an existing attribute residing on a target cluster and endpoint.
Payload
Byte Index | Field Name | Notes |
---|---|---|
0 | Endpoint ID | |
1,2 | Cluster ID | |
3 | Cluster Server/Client | 0x00 = Client |
4,5 | Attribute ID | |
6 | Attribute Type | See the ZCL Data Types page for possible values. |
7..n | Attribute Value | Size dependent on Attribute Type. For strings, the length of the string must immediately precede the string itself. |
Effect on Receipt
If the attribute is supported, the specified Attribute Type matches and the Attribute Value is the correct size, the Module will return a Status Response indicating Success. Otherwise, the response will indicate an error. The possible Status Responses are listed in the following table.
Status Responses to Attribute Write Command
Status Response | Enum | Description |
---|---|---|
Success | 0x00 | The attribute was successfully written. |
No Entry Found | 0x05 | The attribute cannot be found. |
Invalid Data Type | 0x06 | The Attribute Type does not conform to any defined ZCL data type. |
Incorrect Length | 0x07 | The size of the attribute value doesn’t match what is expected. |
Endpoint Not Found | 0x08 | The endpoint cannot be found. |
Cluster Not Found | 0x09 | The cluster cannot be found. |
Allowed Contexts
All Contexts.
Sent By Host/Module
Host.
( PH:0x03, SH:0x26 ) - Attribute Report Passthrough Control
Overview
The Attribute Report Passthrough Control message is sent from the Host to the Module. The payload length is 1 octet.
Payload
Byte Index | Field Name | Notes |
---|---|---|
0 | Attribute Passthrough Control | 0x00 = Disabled |
Effect on Receipt
When enabled, RapidConnect will pass all ZCL Attribute Reports through via the ZCL Passthrough functionality.
Allowed Contexts
All Contexts.
Sent By Host/Module
Host.
( PH:0x03, SH:0x30 ) - Clear Endpoint Config Command
Overview
The Clear Endpoint Config command is sent by the Host to the Module in order to wipe all applied configurations of endpoints, clusters, attributes and registered pass-through commands.
Payload
The command has no payload.
Effect on Receipt
The Module shall clear all application endpoints, clusters, attributes and registered pass-through commands.
Allowed Contexts
Startup Config.
Sent By Host/Module
Host.
(PH:0x03, SH:0x40) - Many-To-One-Route-Request Period Request Command
Overview
The Many-To-One-Route-Request Period Request is sent from Host to Module to query the interval between successive Many-To-One-Route-Requests in minutes. This command is only applicable if the device is configured as coordinator. This command has no payload. Note that the Zigbee stack may occasionally send additional Many-To-One-Route-Requests beyond the ones at this scheduled interval.
Payload
This command has no payload.
Effect on Receipt
Module will respond with a Many-To-One-Route-Request Period Response Command if the device is configured as a coordinator. Otherwise, Module will return an error status (0x03 Unsupported).
Allowed Context
All contexts.
Sent By Host/Module
Host.
(PH:0x03, SH:0x41) - Many-To-One-Route-Request Period Response Command
Overview
The Many-To-One-Route-Request Period Response Command is sent from Module to the Host in response to the Many-To-One-Route-Request Period Request Command if the device is configured as coordinator. The command conveys the interval between successive Many-To-One-Route-Requests in minutes. Note that the Zigbee stack may occasionally send additional Many-To-One-Route-Requests beyond the ones at this scheduled interval.
Payload
Byte Index | Field Name | Notes |
---|---|---|
0,1 | Many-To-One-Route-Request Period | 2-byte value indicating the interval of Many-To-One-Route-Requests sent by the coordinator in seconds. Default is 0x012C (300 seconds) |
Effect on Receipt
None.
Allowed Context
All contexts.
Sent By Host/Module
Module.
(PH:0x03, SH:0x42) - Periodic Many-To-One-Route-Request Period Write Command
Overview
The Many-To-One-Route-Request Period Write Command is sent from Host to Module to configure the period of the Many-To-One-Route-Requests. This command is only applicable if the device is configured as coordinator. By default, the period is 0x012C (which is 300 seconds) for a coordinator. Host can write a value between 0x001E and 0xFFFF in seconds. The modified value is not retained through power-cycles. The Many-To-One-Route-Request is sent with High RAM Concentrator Route Options. Note that the Zigbee stack may occasionally send additional Many-To-One-Route-Requests beyond the ones at this scheduled interval.
Payload
Byte Index | Field Name | Notes |
---|---|---|
0,1 | Many-To-One-Route-Request Period | 2-byte value indicating the interval of Many-To-One-Route-Requests sent by the coordinator in seconds. Default is 0x0x12C (300 seconds) Valid Range is 0x001E to 0xFFFF seconds |
Effect on Receipt
If the device is a coordinator, Module will send Many-To-One-Route-Requests once the network is up or after receiving receiving the command. A value of 0 would disable the broadcast. The possible Status Responses are listed in the following table.
Status Responses to Many-To-One-Route-Request Period Write Command
Status Response | Enum | Description |
---|---|---|
Success | 0x00 | The period was successfully written. Many-To-One-Route-Requests will stop if the period is set to 0. |
Unsupported | 0x03 | Module is not configured as coordinator or invalid period value. |
Allowed Context
All contexts.
Sent By Host/Module
Host.
( PH:0x03, SH:0x80 ) - Register Commands Passthru Command
Overview
The Register Commands Passthru message is sent by the Host to the Module to create an index of those cluster commands that the Module should pass through directly to the Host without additional processing. That is, the Host may specify supported commands that would otherwise result in additional action being taken by the Module on their reception, or commands not supported by the Module that would otherwise not be passed to the Host on their reception.
Specifying a Commands Count of 0x00 indicates that all received commands should be directly passed through to the Host.
Payload
Byte Index | Field Name | Notes |
---|---|---|
0 | Endpoint ID | Endpoint on which the cluster commands are supported. |
1,2 | Cluster ID | The cluster on which the commands are supported. |
3 | Cluster Server/Client | 0x00 = Client |
4 | Commands Count | 0x00 = Pass through all commands |
5..n | Command IDs List | The Command ID(s) of the command(s) to pass through. Each Command ID is 1 byte. |
Effect on Receipt
The Module will register the given commands in non-volatile memory and refer to the list on reception of ZCL commands. The following table lists the possible Status Responses on reception of the command.
Status Responses to Register Commands Passthru Command
Status Response | Enum | Description |
---|---|---|
Success | 0x00 | Commands were successfully registered. |
Storage Full | 0x04 | There was insufficient storage for the registration list. |
Incorrect Length | 0x07 | The size of the attribute value does not match what is expected. |
Endpoint Not Found | 0x08 | The endpoint cannot be found. |
Cluster Not Found | 0x09 | The cluster cannot be found. |
Allowed Contexts
Startup Config.
Sent By Host/Module
Host.
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.