3.2.26. Indicator Command Class, version 2¶
The Indicator Command Class, version 2 is used to manipulate indicator resources in a supporting node. An indicator may be an LED, an LCD display or a buzzer.
3.2.26.1. Compatibility Considerations¶
The Indicator Command Class, version 1 provides a single unspecified indicator resource. Version 2 introduces support for multiple indicator resources. Each indicator resource may implement a number of properties (or capabilities) such as turning on/off, set on a specific level or toggling state.
A controlling node may discover the supported indicators ID and their property IDs via the Indicator Supported Report Command.
The Indicator Command Class, version 2 renames the Value field of version 1 to “Indicator 0 Value”.
The Indicator 0 Value field properties are unspecified as in version 1.
A version 2 supporting node MUST map the Indicator 0 to one of its supported Indicator ID and Property ID. The Indicator 0 SHOULD be mapped to an indicator 0x01 (Multilevel) or 0x02 (Binary) Property ID.
A supporting node advertising no support for the “Low power” indication Property ID and supporting the Wake Up Command Class MUST keep awake as long as one of the property ID is not 0x00 (off) for the actual Indicator ID. Such a node MUST return to sleep after both the Wake Up No More Information Command is received and all Property IDs are back to 0x00 for the actual Indicator ID.
A supporting node advertising support for the “Low power” indication Property ID and supporting the Wake Up Command Class MAY return to sleep even if an indication is ongoing for the actual Indicator ID.
3.2.26.2. Interoperability considerations¶
A supporting device MAY use its indicator resources for local status reporting.
After receiving an Indicator Set Command, a supporting node MUST NOT use its indicator resources for local status reporting until it has completed the operation requested by the Set Command.
An exception to this MAY be interface feedback functionality like a short beep on each button press. Likewise, transmission failure to a controlling node MAY be advertised via the use of local indications. As an example, an entry control keypad device may feature an LCD backlight. If the backlight is advertised as an indicator resource, a central control application also has to control the backlight of the keypad, e.g. in response to local user activity and to temporarily draw attention to all keypads when an alarm is enabled.
3.2.26.3. Indicator Set Command¶
This command is used to manipulate one or more indicator resources at a supporting node.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_INDICATOR (0x87) |
|||||||
Command = INDICATOR_SET (0x01) |
|||||||
Indicator 0 Value (Indicator ID 0 = 0x00, Property ID 0 = 0x01) |
|||||||
Reserved |
Indicator Object Count |
||||||
Indicator ID 1 |
|||||||
Property ID 1 |
|||||||
Value 1 |
|||||||
… |
|||||||
Indicator ID N |
|||||||
Property ID N |
|||||||
Value N |
|||||||
Indicator 0 Value (8 bits)
This field provides backwards compatibility for version 1 supporting nodes.
A receiving node MUST ignore this field if the Indicator Object Count field is not set to 0.
A receiving node MUST map this value to a supported indicator resource if the Indicator Object Count field is set to 0 or not included in the command.
Refer to Section 3.2.26.1 Compatibility Considerations.
Reserved
This field MUST be set to 0 by a sending device and MUST be ignored by a receiving device.
Indicator Object Count (5 bits)
This field is used to advertise the number of indicator objects carried in the actual command. An indicator object MUST comprise an Indicator ID, a Property ID and a Value field.
Indicator ID (8 bits, N times)
This field is used to identify the actual indicator resource. Indicator IDs values are defined in [25].
A receiving node MUST ignore the entire indicator object if an unsupported Indicator ID is specified.
A receiving node MUST NOT ignore other indicator objects included in the command if an unsupported Indicator ID is specified.
Property ID (8 bits, N times)
This field is used to identify the specific property of the indicator resource identified by the corresponding Indicator ID field.
A receiving node MUST ignore the entire indicator object if an unsupported Property ID for the corresponding Indicator ID is specified. The receiving node MUST NOT ignore other indicator objects included in the command.
If an Indicator ID is specified in an object but not all Property IDs are included in the command, a supporting node MUST assume non-specified Property IDs values to be set to 0x00.
If several Property IDs not belonging to the same Property group defined in [25] are specified in the command, the Property IDs from one Property group MUST be applied and all other Property IDs MUST be ignored. For example, if Multilevel and Binary property IDs are defined, only one Property ID value MUST be applied and the other MUST be ignored.
Properties marked as “ADVERTISE ONLY:” MUST be ignored if received in a controlling command.
Value (8 bits, N times)
This field is used to specify the value to assign to the specific indicator property identified by the Indicator ID and the Property ID fields.
This field MUST be set according to the defined values and requirements for Property IDs in [25].
3.2.26.4. Indicator Get Command¶
This command is used to request the state of an indicator.
The Indicator 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_INDICATOR (0x87) |
|||||||
Command = INDICATOR_GET (0x02) |
|||||||
Indicator ID |
|||||||
Indicator ID (8 bits)
This field is used to specify the actual indicator resource.
If an unsupported Indicator ID is specified in this command, a receiving node MUST return an indicator object with the specified Indicator ID and the Property ID and Value fields set to 0x00.
3.2.26.5. Indicator Report Command¶
This command is used to advertise the state of an indicator resource.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_INDICATOR (0x87) |
|||||||
Command = INDICATOR_REPORT (0x03) |
|||||||
Indicator 0 Value (Indicator ID 0 = 0x00, Property ID 0 = 0x01) |
|||||||
Reserved |
Indicator Object Count |
||||||
Indicator ID 1 |
|||||||
Property ID 1 |
|||||||
Value 1 |
|||||||
… |
|||||||
Indicator ID N |
|||||||
Property ID N |
|||||||
Value N |
|||||||
Indicator 0 Value (8 bits)
This field provides backwards compatibility for version 1 controlling nodes.
A sending node MUST advertise the current value of the mapped Indicator ID and Property ID.
A version 2 controlling node MUST ignore the Indicator 0 Value field if other values are advertised. Refer to Section 3.2.26.1 Compatibility Considerations.
Reserved
This field MUST be set to 0 by a sending device and MUST be ignored by a receiving device.
Indicator Object Count (5 bits)
This field is used to advertise the number of indicator objects carried in this command. An indicator object MUST comprise an Indicator ID, a Property ID and a Value field.
Indicator ID (N bytes)
This field is used to identify the actual indicator resource.
All indicator objects MUST carry the same Indicator ID.
Property ID (N bytes)
This field is used to identify the specific property of the indicator resource identified by the corresponding Indicator ID field.
If not all Property IDs are included in the command for the actual Indicator ID, a controlling node MUST assume non-specified Property IDs values to be 0x00.
Value (N bytes) This field is used to specify the current value of the specific indicator property identified by the Indicator ID and the Property ID fields.
This field MUST be set according to the defined values for Property IDs in [25].
3.2.26.6. Indicator Supported Get Command¶
This command is used to request the supported properties of an indicator.
The Indicator Supported 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_INDICATOR (0x87) |
|||||||
Command = INDICATOR_SUPPORTED_GET (0x04) |
|||||||
Indicator ID |
|||||||
Indicator ID (1 byte)
This field is used to specify the actual indicator resource.
A controlling node SHOULD set this field to zero to discover the supported Indicator IDs. A supporting node receiving this field set to 0x00 MUST advertise the first supported Indicator ID in response.
A supporting node receiving a non-zero Indicator ID that is not supported MUST set all fields (Indicator ID, Next Indicator ID, Property Supported Bit Mask Length) to 0x00 in the returned response.
3.2.26.7. Indicator Supported Report Command¶
This command is used to advertise the supported properties for a given indicator.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_INDICATOR (0x87) |
|||||||
Command = INDICATOR_SUPPORTED_REPORT (0x05) |
|||||||
Indicator ID |
|||||||
Next Indicator ID |
|||||||
Reserved |
Property Supported Bit Mask Length |
||||||
Property Supported Bit Mask 1 |
|||||||
… |
|||||||
Property Supported Bit Mask N |
|||||||
Indicator ID (1 byte)
This field is used to specify the actual indicator ID resource for the supported properties are being advertised.
The supported Indicator IDs MUST be according to the Indicator IDs values defined in [25].
Reserved
This field MUST be set to 0 by a sending node and MUST be ignored by a receiving node.
Next Indicator ID (8 bits)
This field is used to advertise if more Indicator IDs are supported after the actual Indicator ID advertised by the Indicator ID field.
If a sending node supports additional Indicator IDs, this field MUST advertise the next supported Indicator ID.
If the sending node does not support additional Indicator IDs this field MUST be set to 0x00.
The supported Indicator IDs MUST be according to the Indicator IDs values defined in [25].
Property Supported Bit Mask Length (5 bits)
This field is used to advertise the length of the Property Supported Bit Mask field in bytes.
The value MUST be in the range 0..32.
Property Supported Bit Mask (N bytes)
This field is used to advertise the properties supported by the actual Indicator ID.
The length of this field in bytes MUST be according to the Property Supported Bit Mask Length field value. This field MUST be encoded as a bitmask as follow:
Bit 0 in Bit Mask 1 is not allocated to any property and MUST be set to zero.
Bit 1 in Bit Mask 1 MUST indicate if Property ID = 1 (Multilevel) is supported.
Bit 2 in Bit Mask 1 MUST indicate if Property ID = 2 (On/Off) is supported.
…
If the Property ID is supported, the corresponding bit MUST be set to 1.
If the Property ID is not supported the corresponding bit MUST be set to 0.
The supported Property IDs MUST be according to the Property IDs values defined in [25].