3.2.46. Version Command Class, version 3¶
The Version Command Class, version 3 allows supporting nodes to advertise capabilities related to the Version Command Class and optionally provide a detailed list of information regarding implementation on the Z-Wave chip.
3.2.46.1. Compatibility considerations¶
The Version Command Class, version 3 is backwards compatible with the Version Command Class, version 2. A node supporting the Version Command Class, version 3 MUST also support the Version Command Class, version 2.
All commands and fields not described in this version remain unchanged from version 2.
The Version Command Class, version 3 introduces the possibility for a node to advertise its supported Version Command Class capabilities with the following commands:
Version Capabilities Get Command
Version Capabilities Report Command
Supporting nodes MUST advertise support for commands present in previous versions of this Command Class for backwards compatibility.
The following commands are optionally implemented by supporting nodes:
Version Z-Wave Software Get Command
Version Z-Wave Software Report Command
The Version Z-Wave Software Get/Report commands are used to provide detailed information on the actual software running on the Z-Wave radio SoC.
3.2.46.2. Version Capabilities Get Command¶
This command is used to request which version commands are supported by a node.
The Version Capabilities Report Command MUST be returned in response to this command.
This command MUST NOT be issued via multicast addressing.
A receiving node MUST NOT return a response if this command is received via multicast addressing. The Z-Wave Multicast frame, the broadcast NodeID and the Multi Channel multi-End Point destination are all considered multicast addressing methods.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_VERSION (0x86) |
|||||||
Command = VERSION_CAPABILITIES_GET (0x15) |
|||||||
3.2.46.3. Version Capabilities Report Command¶
This command is used to advertise the version commands supported by the sending node.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_VERSION (0x86) |
|||||||
Command = VERSION_CAPABILITIES_REPORT (0x16) |
|||||||
Reserved |
ZWS |
CC |
V |
||||
V (Version) (1 bit)
This field is used to advertise support for the version information queried with the Version Get Command.
This field MUST be set to 1.
CC (Command Class) (1 bit)
This field is used to advertise support for the Command Class version information queried with the Version Command Class Get Command.
This field MUST be set to 1.
ZWS (Z-Wave Software) (1 bit)
This field is used to advertise support for the detailed Z-Wave software version information queried with the Version Z-Wave Software Get Command.
The value 1 MUST indicate that the sending node supports the Version Z-Wave Software Get Command.
The value 0 MUST indicate that the sending node does not support the Version Z-Wave Software Get Command.
3.2.46.4. Version Z-Wave Software Get Command¶
This command is used to request the detailed Z-Wave chip software version information of a node.
A node advertising no support for detailed Z-Wave software version information in the Version Capabilities Report Command MUST ignore this command.
The Version Z-Wave Software Report Command MUST be returned in response to this command unless it is to be ignored.
This command MUST NOT be issued via multicast addressing.
A receiving node MUST NOT return a response if this command is received via multicast addressing. The Z-Wave Multicast frame, the broadcast NodeID and the Multi Channel multi-End Point destination are all considered multicast addressing methods.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_VERSION (0x86) |
|||||||
Command = VERSION_ZWAVE_SOFTWARE_GET (0x17) |
|||||||
3.2.46.5. Version Z-Wave Software Report Command¶
This command is used to advertise the detailed Z-Wave chip software version information of a node.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_VERSION (0x86) |
|||||||
Command = VERSION_ZWAVE_SOFTWARE_REPORT (0x18) |
|||||||
SDK version 1 (MSB) |
|||||||
SDK version 2 |
|||||||
SDK version 3 (LSB) |
|||||||
Z-Wave Application Framework API Version 1 (MSB) |
|||||||
Z-Wave Application Framework API Version 2 |
|||||||
Z-Wave Application Framework API Version 3 (LSB) |
|||||||
Z-Wave Application Framework Build Number 1 (MSB) |
|||||||
Z-Wave Application Framework Build Number 2 (LSB) |
|||||||
Host Interface Version 1 (MSB) |
|||||||
Host Interface Version 2 |
|||||||
Host Interface Version 3 (LSB) |
|||||||
Host Interface Build Number 1 (MSB) |
|||||||
Host Interface Build Number 2 (LSB) |
|||||||
Z-Wave Protocol Version 1 (MSB) |
|||||||
Z-Wave Protocol Version 2 |
|||||||
Z-Wave Protocol Version 3 (LSB) |
|||||||
Z-Wave Protocol Build Number 1 (MSB) |
|||||||
Z-Wave Protocol Build Number 2 (LSB) |
|||||||
Application Version 1 (MSB) |
|||||||
Application Version 2 |
|||||||
Application Version 3 (LSB) |
|||||||
Application Build Number 1 (MSB) |
|||||||
Application Build Number 2 (LSB) |
|||||||
SDK version (24 bits)
This field is used to advertise the SDK version used for building the Z-Wave chip software components for the node.
The value 0 MUST indicate that this field is unused. Other values MUST indicate the SDK version.
Z-Wave Application Framework API Version (24 bits)
This field is used to advertise the Z-Wave Application Framework API version used by the node.
The value 0 MUST indicate that this field is unused. Other values MUST indicate the Z-Wave Application Framework API version.
Z-Wave Application Framework Build Number (16 bits)
This field is used to advertise the Z-Wave Application Framework build number running on the node.
The value 0 MUST indicate that this field is unused. Other values MUST indicate the Z-Wave Application Framework build number.
This field MUST be set to 0 if the Application Framework API Version field is set to 0.
Host Interface Version (24 bits)
This field is used to advertise the version of the Serial API exposed to a host CPU or a second Chip.
The value 0 MUST indicate that this field is unused. Other values MUST indicate the actual API version.
This field MUST be set to 0 by a node running on a single chip.
Host Interface Build Number (16 bits)
This field is used to advertise the build number of the Serial API software exposed to a host CPU or second Chip.
The value 0 MUST indicate that this field is unused. Other values MUST indicate the actual API build number.
This field MUST be set to 0 if the Host Interface Version field is set to 0.
Z-Wave Protocol Version (24 bits)
This field is used to advertise the Z-Wave protocol version used by the node.
This field MUST be set to the same value as the Z-Wave Protocol Version and Z-Wave Protocol Sub Version fields present in the Version Report Command.
Byte 1 of this field MUST be set to the same value as the Z-Wave Protocol Version field present in the Version Report Command.
Byte 2 of this field MUST be set to the same value as the Z-Wave Protocol Sub Version field present in the Version Report Command.
Z-Wave Protocol Build Number (16 bits)
This field is used to advertise the actual build number of the Z-Wave protocol software used by the node.
The value 0 MUST indicate that this field is unused. Other values MUST indicate the Z-Wave protocol build number.
Application Version (24 bits)
This field is used to advertise the version of application software used by the node on its Z-Wave chip.
The value 0 MUST indicate that this field is unused. Other values MUST indicate the application version.
This field MUST be set to 0 by a node if its application is running on a host CPU.
If a supporting node’s application is running on the Z-Wave chip:
Byte 1 of this field MUST be set to the same value as the Application Version / Firmware 0 Version field present in the Version Report Command.
Byte 2 of this field MUST be set to the same value as the Application Sub Version / Firmware 0 Sub Version field present in the Version Report Command.
Application Build Number (16 bits)
This field is used to advertise the actual build of the application software used by the node on its Z-Wave chip.
The value 0 MUST indicate that this field is unused. Other values MUST indicate the application build number.
3.2.46.5.1. Version fields¶
Fields indicating version numbers are composed of 3 bytes. Version fields MUST be used and interpreted in the following manner:
If used, Byte 1 of a version field MUST represent the major version digit.
If used, Byte 2 of a version field MUST represent the minor version digit.
If used, Byte 3 of a version field MUST represent the patch version digit.
For example, if the node used Z-Wave SDK version 6.51.09, it MUST set the SDK version field to 0x063309. Unused bytes MUST be set to 0.