3.2.45. Version Command Class, version 2

The Version Command Class, version 2 is extended to report the version of various firmware images such as a host processor firmware, etc. in addition to the firmware image running in the Z-Wave chip.

As an example, one may construct a product comprising a Z-Wave chip and a secondary host processor that maintains a security certificate. With Firmware Update Meta Data Command Class, version 3 the Z-Wave chip, the host processor and the security certificate may all be updated via individual firmware IDs. Version 2 of the Version Command Class (this Command Class) allows a controlling node to request the corresponding version information for each firmware ID.

Commands not mentioned here remain the same as specified for Version Command Class, version 1.

3.2.45.1. Version Report Command

This command is used to report the library type, protocol version and application version from a node.

Version 2 of this command renames the fields Application Version and Application Sub Version to Firmware 0 Version and Firmware 0 Sub Version. The use remains the same.

\requirement{CC:0086.02.12.11.001}{0}

A node MUST advertise the version of all firmware images which can be updated via the Firmware Update Command Class.

\requirement{CC:0086.02.12.11.002}{0}

A one-chip system MUST comply with the following:

\requirement{CC:0086.02.12.11.003}{0}

  • The Firmware 0 Version MUST reflect the complete firmware implementing the Z-Wave protocol stack as well as the Z-Wave application.

\requirement{CC:0086.02.12.11.004}{0}

A multi-processor system MUST comply with the following:

\requirement{CC:0086.02.12.11.005}{0} \requirement{CC:0086.02.12.11.006}{14} \requirement{CC:0086.02.12.13.001}{18}

  • The Firmware 0 Version MUST reflect the firmware implementing the Z-Wave protocol stack and the inter-chip interface module that enables the Z-Wave application to run in the host processor.

    Another firmware number (e.g. Firmware 1) version MUST reflect the Z-Wave application that runs in the host processor. Any firmware number larger than 0 MAY be used for this purpose.

\requirement{CC:0086.02.12.13.002}{0}

A node MAY advertise the version of additional images hosted by the node; even if such images cannot be updated via the Firmware Update Command Class.

An illustration is given in Figure 3.27 and Figure 3.28.

Version Report\:\:Firmware Numbering

Figure 3.27 Version Report::Firmware Numbering

Version Report\:\:Firmware Numbering (2)

Figure 3.28 Version Report::Firmware Numbering (2)

Further, version 2 of the Version Report command introduces a Hardware Version field as well as new version fields for each additional firmware image implemented by the actual device.

Table 3.169 Version Report Command, version 2

7

6

5

4

3

2

1

0

Command Class = COMMAND_CLASS_VERSION (0x86)

Command = VERSION_REPORT (0x12)

Z-Wave Protocol Library Type

Z-Wave Protocol Version

Z-Wave Protocol Sub Version

Firmware 0 Version

Firmware 0 Sub Version

Hardware Version

Number of firmware targets

Firmware 1 Version

Firmware 1 Sub Version

Firmware N Version

Firmware N Sub Version

Z-Wave Library Type (8 bits)

For a description, refer to Section 3.2.44.4.

Z-Wave Protocol Version and Z-Wave Protocol Sub Version

These fields advertise information specific to Software Development Kits (SDK) provided by stack manufacturers.

Firmware 0 Version (8 bits)

\requirement{CC:0086.02.12.11.007}{4}

Returns the Firmware 0 Version. Firmware 0 is dedicated to the Z-Wave chip firmware. The manufacturer MUST assign a version number. Previously called Application Version.

Firmware 0 Sub Version (8 bits)

\requirement{CC:0086.02.12.11.008}{4}

Returns the Firmware 0 Sub Version. Firmware 0 is dedicated to the Z-Wave chip firmware. The manufacturer MUST assign a sub version number. Previously called Application Sub Version.

Hardware Version (8 bits)

\requirement{CC:0086.02.12.11.009}{0} \requirement{CC:0086.02.12.11.00A}{4} \requirement{CC:0086.02.12.12.001}{8}

The Hardware Version field MUST report a value which is unique to this particular version of the product. The value MUST be updated to a new value every time the hardware is modified for a given product. The value 0x00 SHOULD NOT be used for the Hardware Version.

\requirement{CC:0086.02.12.11.00B}{0}

It MUST be possible to uniquely determine the hardware characteristics from the Hardware Version field in combination with the Manufacturer ID, Product Type ID and Product ID fields of Manufacturer Specific Info Report of the Manufacturer Specific Command Class.

This information allows a user to pick a firmware image version that is guaranteed to work with this particular version of the product.

Note that the Hardware Version field is intended for the hardware version of the entire product, not just the version of the Z-Wave radio chip.

Number of Firmware Targets (8 bits)

\requirement{CC:0086.02.12.11.00C}{0}

The Number of Firmware Targets field MUST report the number of firmware Version + Sub Version fields following this field. The Firmware 0 Version fields are not included.

\requirement{CC:0086.02.12.11.00D}{0}

The field MUST be zero if the device only implements a Firmware 0 target, the Z-Wave chip.

Firmware Version (N * 8 bits)

\requirement{CC:0086.02.12.11.00E}{0}

Returns the Firmware n Version. The manufacturer MUST assign a unique Firmware n Version.

Firmware Sub Version (N * 8 bits)

\requirement{CC:0086.02.12.11.00F}{0}

Returns the Firmware n Sub Version. The manufacturer MUST assign a unique Firmware n Sub Version.