6.4. Transport Encapsulation Command Class Control Definitions

6.4.1. CRC-16 Encapsulation Command Class Control Definitions, version 1

6.4.1.1. Mandatory node interview

No node interview is required for this Command Class

6.4.1.2. Minimum end user functionalities

No minimum end user functionality is required for this Command Class.

6.4.1.3. Node properties

No node property is required to be made available to the end user for this Command Class.

6.4.1.4. Additional Control Requirements

\requirement{CL:0056.01.52.01.1}{0}

A controlling node SHOULD use CRC-16 encapsulation to communicate with a supporting node when no security encapsulation is used and the communication speed is lower than 100 kbits/s.

\requirement{CL:0056.01.51.01.1}{0}

A controlling node MUST support the CRC-16 Command Class and correctly handle received commands encapsulated with CRC-16.

\requirement{CL:0056.01.51.02.1}{0}

A controlling node MUST use CRC-16 encapsulation to return a response to a command if the request was received using CRC-16 encapsulation (aka “answer-as-asked”).

6.4.2. Multi Channel Command Class, version 3-4

6.4.2.1. Mandatory node interview

\requirement{CL:0060.01.21.01.3}{0}

A node controlling this Command Class MUST perform a supporting node interview according to Figure 6.43.

Multi Channel Command Class interview

Figure 6.43 Multi Channel Command Class interview

\requirement{CL:0060.01.23.01.1}{0}

A controlling node MAY skip the interview of aggregated End Points and MAY skip issuing a Multi Channel Capability Get for any of the aggregated endpoints.

\requirement{CL:0060.01.23.02.1}{0}

A controlling node MAY skip sending a Multi Channel End Point Find Report Command if there are no dynamic endpoints. (Dynamic field set to 0 in the Multi Channel End Point Report Command).

6.4.2.2. Minimum end user functionalities

No minimum end user functionality is required for this Command Class.

6.4.2.3. Node properties

No node property is required to be made available to the end user for this Command Class.

6.4.2.4. Additional Control Requirements

\requirement{CL:0060.01.51.01.2}{0}

A node controlling this Command Class MUST provide control of all its controlled command classes on every individual End Point.

6.4.2.4.1. Root Device and End Point Command Classes

When End Point functionality is advertised in the Root Device NIF, service discovery mechanisms like mDNS and installer-style GUIs risk presenting a Root Device functionality which is actually a mirror representation of an End Point functionality.

\requirement{CL:0060.01.52.01.1}{4}

Therefore, application command classes of the Root Device capabilities that are also advertised by at least one End Point SHOULD be filtered out by controlling nodes before presenting the functionalities via service discovery mechanisms like mDNS or to users in a GUI.

6.4.2.4.2. S0 only Multi Channel nodes

The following considerations apply for nodes supporting S0 and Multi Channel Command Class but do not support S2 Command Class.

Legacy S0 only nodes may implement some secure and some non-secure End Points. Such a node supporting S0 must advertise S0 in the Multi Channel Capability Report Command for a given End point if the End Point can be addressed with S0 encapsulation.

\requirement{CL:0060.01.52.02.1}{0}

A controlling node SHOULD use S0 encapsulation with all End Points if the Root Device was bootstrapped with the S0 Command Class.

\requirement{CL:0060.01.53.01.1}{0}

A controlling node MAY interview and control Command Classes present in the Multi Channel Capability Report of an End Point non-securely if the End Point does not respond to S0 encapsulated traffic.

6.4.2.4.3. Association and Multi Channel Association mapping

The following considerations apply for nodes supporting Association and/or Multi Channel Association and Multi Channel Command Class.

The Association groups functionality may be fully or partially mirrored between the Root Device and End Points. For example, an Association Remove Command issued to the Root Device may clear the association destination at the End Point groups.

\requirement{CL:0060.01.52.03.1}{0}

A controlling node SHOULD read back the destinations in every group, including End Points groups after configuring associations.

6.4.3. Security 0 Command Class

6.4.3.1. Mandatory node interview

\requirement{CL:0098.01.21.01.1}{0}

A node controlling this Command Class MUST observe the Role Type Specification requirements when including an S0 node.

6.4.3.2. Minimum end user functionalities

No minimum end user functionality is required for this Command Class.

6.4.3.3. Node properties

No node property is required to be made available to the end user for this Command Class.

6.4.3.4. Additional Control Requirements

\requirement{CL:0098.01.51.01.1}{4}

A node is controlling S0 when it can perform S0 bootstrapping of other nodes. The S0 bootstrapping process is described in Security 0 (S0) Command Class, version 1 and a controlling node MUST observe these requirements.

\requirement{CL:0098.01.51.02.1}{0}

A node controlling this Command Class MUST provide control of all its controlled command classes using S0 encapsulation.

6.4.4. Security 2 Command Class

6.4.4.1. Mandatory node interview

\requirement{CL:009F.01.21.01.1}{0}

A node controlling this command class MUST observe the Role Type Specification requirements when including an S2 node.

6.4.4.2. Minimum end user functionalities

No minimum end user functionality is required for this Command Class.

6.4.4.3. Node properties

No node property is required to be made available to the end user for this Command Class.

6.4.4.4. Additional Control Requirements

\requirement{CL:009F.01.51.01.1}{4}

S2 Security is controlled when a node can perform S2 bootstrapping of other nodes. The Bootstrapping process is described in Security 2 (S2) Command Class, version 1 and a controlling node MUST observe these requirements.

\requirement{CL:009F.01.51.02.1}{0}

A node controlling this Command Class MUST provide control of all its controlled command classes using S2 encapsulation and at all its granted S2 Security Classes.

6.4.5. Supervision Command Class, version 1

6.4.5.1. Mandatory node interview

There is no mandatory node interview for a node controlling this Command Class.

6.4.5.2. Minimum end user functionalities

No minimum end user functionality is required for this Command Class.

6.4.5.3. Node properties

No node property is required to be made available to the end user for this Command Class.

6.4.5.4. Additional Control Requirements

\requirement{CL:006C.01.51.01.1}{0}

A node issuing Supervision Get Commands MUST declare the Supervision Command Class as controlled during certification.

\requirement{CL:006C.01.51.02.1}{0}

Any node issuing Supervision Get Commands MUST comply with the following:

  • The Session ID field MUST be incremented each time a new unique Supervision Get Command is issued.

  • A sending node MAY use the same Session ID for a multicast and singlecast follow-up carrying the same encapsulated command. A sending node MAY also use the same Session ID for all destinations of singlecast follow-up commands.

\requirement{CL:006C.01.52.01.1}{4}

It has been found that some nodes issue Wake Up Notifications using the same Supervision SessionID every time. A controlling node SHOULD accept Wake Up Notifications even if they use the same SessionID.