2.2.59. Meter Command Class, version 3¶
The Meter Command Class is used to advertise instantaneous and accumulated numerical readings.
The Command Class is intended for accumulated values in physical units from a water meter or metering device (gas, electric etc.) and thereby enabling some automatic meter reading capabilities.
2.2.59.1. Compatibility Considerations¶
The Meter Command Class, version 3 introduces the following functionalities:
New meter scales have been added.
Commands and fields not mentioned in this version MUST remain unchanged from version 2.
The manufacturer MUST define which scale is the default scale and it MUST be described in the product manual.
The default scale MUST be in the range 0..3 as version 1 and version 2 controlling nodes will not be able to interpret scale values in the range 4..7.
2.2.59.2. Meter Supported Report Command¶
This command is used to advertise the supported scales and capabilities of the sending node.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_METER (0x32) |
|||||||
Command = METER_SUPPORTED_REPORT (0x04) |
|||||||
Meter Reset |
Reserved |
Meter Type |
|||||
Scale Supported |
|||||||
Fields not described below MUST remain unchanged from version 2.
Scale Supported (8 bits)
This field is used to advertise the supported scales by the sending node.
The field MUST be treated as a bitmask in combination with the Meter Type field and MUST be according to Table 2.367.
The bit value ‘1’ MUST indicate support for the actual scale.
The bit value ‘0’ MUST indicate that there is no support for the actual scale.
2.2.59.3. Meter Get Command¶
This command is used to request the current meter reading to a supporting node.
The Meter Report Command MUST be returned in response to this command if the requested scale is supported.
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_METER (0x32) |
|||||||
Command = METER_GET (0x01) |
|||||||
Reserved |
Scale |
Reserved |
|||||
Reserved
This field MUST be set to 0 by a sending node and MUST be ignored by a receiving node.
Scale (3 bits)
This field is used to request an actual scale for the meter reading.
The defined scales and their minimum required version are listed in Table 2.370. A node MUST NOT support a scale associated with a higher version than the version it supports.
This field MUST be encoded according to Table 2.371.
If this field is not present or set to 0x00, a supporting node MUST return a report using its default scale.
A supporting node MUST ignored this command if this field is set to a non-supported scale.
For improved compatibility with version 1 controlling nodes, a supporting node receiving this command without this field (version 1 format) SHOULD either return a version 1 Report Command or a Report Command with the Rate Type field set to 0x00
2.2.59.4. Meter Report command¶
This command is used to advertise the current meter reading at the sending node.
This command MUST NOT be issued using broadcast addressing.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_METER (0x32) |
|||||||
Command = METER_REPORT (0x02) |
|||||||
Scale (2) |
Rate Type |
Meter Type |
|||||
Precision |
Scale (1:0) |
Size |
|||||
Meter Value 1 |
|||||||
… |
|||||||
Meter Value N |
|||||||
Delta Time 1 |
|||||||
Delta Time 2 |
|||||||
Previous Meter Value 1 (optional) |
|||||||
… |
|||||||
Previous Meter Value N (optional) |
|||||||
Fields not described below MUST remain unchanged from version 2.
Scale (3 bits)
This field MUST advertise the unit used for the Meter Value and Previous Meter Value fields.
The defined scales and their minimum required version are listed in Table 2.370. A node MUST NOT support a scale associated with a higher version than the version it supports.
This field is composed of two sub-fields Scale (2) and Scale (1:0) which MUST be composed and interpreted as one unit. Scale (2) MUST be the most significant bit.
This field MUST be encoded according to Table 2.371.