2.2.60. Meter Command Class, version 4

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.60.1. Compatibility Considerations

The Meter Command Class, version 4 introduces the following functionalities:

  • A supporting node can now support several rate types

  • New meter scales have been added

Commands and fields not mentioned in this version MUST remain unchanged from version 3.

The manufacturer MUST define which scale and rate types are the default 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.60.2. Meter Supported Report Command

This command is used to advertise the supported scales and capabilities of the sending node.

Table 2.361 Meter Supported Report Command, version 4

7

6

5

4

3

2

1

0

Command Class = COMMAND_CLASS_METER (0x32)

Command = METER_SUPPORTED_REPORT (0x04)

Meter Reset

Rate Type

Meter Type

M.S.T

Scale Supported “Byte 1”

Number of Scale Supported Bytes to Follow (optional)

Scale Supported “Byte 2” 1 (optional)

Scale Supported “Byte N+1” N (optional)

Fields not described below MUST remain unchanged from version 3.

Rate Type (2 bits)

This field is used to indicate the supported rate types by the sending node.

This field MUST be encoded according to Table 2.362.

Table 2.362 Meter Supported Report::Rate Type encoding

Value

Supported rate types

Version

0x00

Reserved

1..3

0x01

Import only (consumed)

4

0x02

Export only (produced)

4

0x03

Both Import and Export

4

Scale Supported “Byte 1” (7 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.

M.S.T. (More Scale Types) (1 bit)

This field is used to indicate if the Number of Scale Supported Bytes to Follow field is included in the command.

The value 0 MUST indicate that the Number of Scale Supported Bytes to Follow and subsequent optional Scale Supported fields are omitted from the command.

The value 1 MUST indicate that the Number of Scale Supported Bytes to Follow field is present in the command.

Number of Scale Supported to Follow (8 bits)

This field MUST indicate the length in bytes of the subsequent Scale Supported (bytes 2..N+1) field.

This field MUST be omitted if the M.S.T. field is set to 0.

Scale Supported (bytes 2..N+1) (N bytes)

This field is used to advertise the supported scales by the sending node.

The length of this field in bytes MUST be according to the Number of Scale Supported Bytes to Follow field.

This field MUST be omitted if the M.S.T. field is set to 0 or if the Number of Scale Supported Bytes to Follow field is set to 0.

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.60.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 and rate type are 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.

Table 2.363 Meter Get Command, version 4

7

6

5

4

3

2

1

0

Command Class = COMMAND_CLASS_METER (0x32)

Command = METER_GET (0x01)

Rate Type

Scale

Reserved

Scale 2

Fields not described below MUST remain unchanged from version 3.

Rate Type (2 bits)

This field is used to request a rate type for the meter reading.

This field MUST be encoded according to Table 2.364.

Table 2.364 Meter Get::Rate Type encoding

Value

Description

Version

0x00

Default

1

0x01

Import (consumed)

4

0x02

Export (produced)

4

0x03

Reserved

-

If supported, a receiving node MUST return a report for the requested Rate Type.

If this field is not present or set to 0x00, a receiving node MUST return a Report using its default Rate Type.

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

Scale 2 (8 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.

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

Table 2.365 Meter Report Command, version 4

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)

Scale 2

Fields not described below MUST remain unchanged from version 3.

Scale (3 bits)

This field is used to 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.

Scale 2 (8 bits)

This field is used to 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 MUST be encoded according to Table 2.371

Reserved values MUST NOT be used by a sending node. Reserved values MUST be ignored by a receiving node.