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

Secondary Headers

Primary Headers




( 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)
0x01 = RFD (end device)

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 ResponseEnumDescription
Success0x00IEEE functional device type has been updated and backed up to non-volatile memory.

Invalid Call

0x01The Module is already on a network and cannot modify its device type.
Invalid Data0x02Field 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 IndexField NameNotes
0Device Function Type

0x00 = FFD (router or coordinator)
0x01 = RFD (end device)

1Sleepy

0x00 = Non-Sleepy
0x01 = 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 IndexField NameNotes

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 ResponseEnumDescription
Success
0x00The endpoint was successfully added or updated.
Invalid Data0x02The Endpoint ID is not within valid range.
Storage Full0x04Attribute storage has reached maximum capacity; none of the definitions were added.
Incorrect Length0x07The 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
0x01 = Server

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
         1 = Readable
1       0 = Not Writable
         1 = Writable
2       0 = Not Reportable
         1 = Reportable (i.e., may be configured for Attribute Reporting)
3-7     Reserved

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 Type0x06A specified Data Type does not conform to any defined ZCL Data Type.
Incorrect Length0x07The 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
0x01 = Server

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
0x01 = Server

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
0x01 = Server

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
0x01 = Server

4,5

Attribute ID


6

Attribute Property Bitmask

Bit   Description

0       0 = Not Readable
         1 = Readable
1        0 = Not Writable
          1 = Writable
2        0 = Not Reportable
          1 = Reportable (i.e., may be configured for Attribute Reporting)
3-7     Reserved

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
0x01 = Server

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
0x01 = Enabled 

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,1Many-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,1Many-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

Success0x00

The period was successfully written. Many-To-One-Route-Requests will stop if the period is set to 0.

Unsupported0x03Module 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
0x01 = Server

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.