2.2.61. Meter Command Class, version 5¶
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.61.1. Compatibility considerations¶
The Meter Command Class, version 5 adds support for Heating and Cooling Meter types.
The Meter Command Class, version 5 is backwards compatible with version 4.
Commands and fields not described in this version MUST remain unchanged from version 4.
2.2.61.2. Meter Supported Report Command¶
This command is used to advertise supported scales and capabilities of the sending.
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 (Version 4 Extension) |
|||||||
Scale Supported 1 “Byte 2” |
|||||||
… |
|||||||
Scale Supported N “Byte N+1” |
|||||||
All fields not described below MUST remain unchanged from version 4.
Meter Type |
Scale |
Scale Supported Byte Number |
Scale Supported Bit position |
Measurement mode |
Version |
|---|---|---|---|---|---|
Electric Meter |
kWh |
Byte 1 |
Bit 0 |
Accumulated |
1 |
kVAh |
Byte 1 |
Bit 1 |
Accumulated |
2 |
|
W |
Byte 1 |
Bit 2 |
Instant |
2 |
|
Pulse count |
Byte 1 |
Bit 3 |
Accumulated |
2 |
|
V |
Byte 1 |
Bit 4 |
Instant |
3 |
|
A |
Byte 1 |
Bit 5 |
Instant |
3 |
|
Power factor |
Byte 1 |
Bit 6 |
Instant |
3 |
|
kVar |
Byte 2 |
Bit 0 |
Instant |
4 |
|
kVarh |
Byte 2 |
Bit 1 |
Accumulated |
4 |
|
Reserved |
Byte 2 |
Bit 2-7 |
Reserved |
- |
|
Gas meter |
Cubic meters |
Byte 1 |
Bit 0 |
Accumulated |
1 |
Cubic feet |
Byte 1 |
Bit 1 |
Accumulated |
2 |
|
Reserved |
Byte 1 |
Bit 2 |
n/a |
- |
|
Pulse count |
Byte 1 |
Bit 3 |
Accumulated |
2 |
|
Reserved |
Byte 1 |
Bit 4-6 |
Reserved |
- |
|
Reserved |
Byte 2 |
Bit 0-7 |
Reserved |
- |
|
Water meter |
Cubic meters |
Byte 1 |
Bit 0 |
Accumulated |
1 |
Cubic feet |
Byte 1 |
Bit 1 |
Accumulated |
1 |
|
US gallons |
Byte 1 |
Bit 2 |
Accumulated |
1 |
|
Pulse count |
Byte 1 |
Bit 3 |
Accumulated |
2 |
|
Reserved |
Byte 1 |
Bit 4-6 |
Reserved |
- |
|
Reserved |
Byte 2 |
Bit 0-7 |
Reserved |
- |
|
Heating meter |
kWh |
Byte 1 |
Bit 0 |
Accumulated |
5 |
Reserved |
Byte 1 |
Bit 1-6 |
Reserved |
- |
|
Reserved |
Byte 2 |
Bit 0-7 |
Reserved |
- |
|
Cooling |
kWh |
Byte 1 |
Bit 0 |
Accumulated |
5 |
Reserved |
Byte 1 |
Bit 1-6 |
Reserved |
- |
|
Reserved |
Byte 2 |
Bit 0-7 |
Reserved |
- |
2.2.61.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.
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 4.
Meter Type (5 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.
Value |
Meter Type |
Version |
|---|---|---|
0x01 |
Electric meter |
1 |
0x02 |
Gas meter |
1 |
0x03 |
Water meter |
1 |
0x04 |
Heating meter |
5 |
0x05 |
Cooling meter |
5 |
All other values are reserved and MUST NOT be used by a sending node. Reserved values MUST be ignored by a receiving node.
Scale (3 bits)
This field MUST advertise the unit used for the Meter Value and Previous Meter Value fields. 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.
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.
Meter Type |
Scale |
Unit |
Version |
|---|---|---|---|
Electric meter |
0x00 |
kWh |
1 |
0x01 |
kVAh |
2 |
|
0x02 |
W |
2 |
|
0x03 |
Pulse count |
2 |
|
0x04 |
V |
3 |
|
0x05 |
A |
3 |
|
0x06 |
Power Factor |
3 |
|
0x07 |
kVar |
4 |
|
0x08 |
kVarh |
4 |
|
Gas meter |
0x00 |
Cubic meters |
1 |
0x01 |
Cubic feet |
2 |
|
0x03 |
Pulse count |
2 |
|
Water meter |
0x00 |
Cubic meters |
1 |
0x01 |
Cubic feet |
1 |
|
0x02 |
US Gallons |
1 |
|
0x03 |
Pulse count |
2 |
|
Heating meter |
0x00 |
kWh |
5 |
Cooling meter |
0x00 |
kWh |
5 |
Scale |
Scale (0:2) Value |
Scale 2 Value |
|---|---|---|
0x00 |
0x00 |
(omitted) |
0x01 |
0x01 |
(omitted) |
0x02 |
0x02 |
(omitted) |
0x03 |
0x03 |
(omitted) |
0x04 |
0x04 |
(omitted) |
0x05 |
0x05 |
(omitted) |
0x06 |
0x06 |
(omitted) |
0x07 |
0x07 |
0x00 |
0x08 |
0x07 |
0x01 |
All other values are reserved and MUST not be used by a sending node. Reserved values MUST be ignored by a receiving node.