2.2.57. Meter Command Class, version 1

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.57.1. Terminology

A meter is used to monitor a resource. The meter accumulates the resource flow over time. As an option, the meter may report not only the most recent accumulated reading but also the previous reading and the time that elapsed since then. A meter may also be able to report the current resource flow. This is known as the instant value.

Meters may report two rate types. A utility installs production meters in its production facilities, while it installs consumption meters at consumer premises. The difference is the mapping of the physical flow direction to the forward direction of the meter:

  • The accumulated value of a production meter grows when more resources are produced

  • The accumulated value of a production meter drops when more resources are consumed

  • The accumulated value of a consumption meter grows when more resources are consumed

  • The accumulated value of a consumption meter drops when more resources are produced

If a meter only supports one rate type, the meter may run backwards. If a meter runs backwards, the accumulated value may eventually become negative. While the production meter of a power generator rarely runs backwards, the consumption meter in a private household with solar panels runs backwards every time the solar panels deliver more than is consumed in the household. The actual reading of a one-rate type meter reflects the net accumulated value since the meter was installed with a factory default reading of zero. The accumulated value over an arbitrary interval may be calculated by subtracting a previous accumulated value from the current accumulated value. Normal arithmetic rules ensure that this also works in case of negative values.

A production meter may be used as a consumption meter by applying a sign change to all production meter readings before using the values as consumption meter readings.

A meter device may advertise that it implements two separate registers for the production and consumption, respectively. In that case, both of these meters are always running forward: Production makes the production meter run forward while consumption makes the consumption meter run forward. Two meter reports must be used to report the values of the respective meters.

2.2.57.2. 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.

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.

Table 2.349 Meter Get Command

7

6

5

4

3

2

1

0

Command Class = COMMAND_CLASS_METER (0x32)

Command = METER_GET (0x01)

2.2.57.3. 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.

Table 2.350 Meter Report Command

7

6

5

4

3

2

1

0

Command Class = COMMAND_CLASS_METER (0x32)

Command = METER_REPORT (0x02)

Meter Type

Precision

Scale

Size

Meter Value 1

Meter Value N

Meter Type (8 bits)

This field is used to specify what type of metering physical unit is being reported.

This field MUST be encoded according to Table 2.369.

Precision (3 bits)

This field MUST indicate how many decimal places are included in the Meter Value field. For example, the Meter Value field set to 1025 and this field set to 2 MUST be interpreted as equal to 10.25.

The value of the precision field MUST be in the range 0..7.

Scale (2 bits)

This field MUST advertise the unit used for the Meter Value field.

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.

Size (3 bits)

This field indicates the length in bytes of the Meter Value field. This field MUST be set to 1, 2 or 4.

Meter Value (N bytes)

This field is used to advertise the actual meter reading.

The length of this field in bytes MUST be according to the Size field.

The first byte MUST be the most significant byte.

This field MUST be encoded using signed representation and comply with Table 2.12.