Skip to content

Protocol

Douglas Hall edited this page May 22, 2018 · 5 revisions

Standard Consumption Message (SCM)

A 12 byte message containing total consumption information for a single meter.

Field Length (bits) Description
Frame Sync 21 0x1F2A60
Endpoint ID MSB 2 Two most significant bits of the ID.
Reserved 1
Physical Tamper Flags 2
Endpoint Type 4 Indicates the commodity type of the meter. See list of meters: meters.md
Encoder Tamper Flags 2
Consumption 24 The current consumption value.
Endpoint ID LSB 24 24 least significant bits of the ID.
Checksum 16 A BCH code with generator polynomial: BCH Polynomial

Standard Consumption Message Plus (SCM+)

A 16 byte message containing total consumption information for a single meter.

Field Length Value Description
Frame Sync 2 0x16A3
ProtocolID 1 0x1E
Endpoint Type 1 Least significant nibble is equivalent to SCM's endpoint type field.
Endpoint ID 4
Consumption 4 Total power consumed.
Tamper 2
Packet Checksum 2 CRC-16-CCITT of packet starting at Protocol ID.

Interval Data Message (IDM)

A 92 byte message containing differential consumption intervals.

Field Length (bytes) Value Description
Preamble 2 0x5555
Sync Word 2 0x16A3
Packet Type 1 0x1C
Packet Length 1 0x5C
Hamming Code 1 0xC6 Hamming code of first byte.
Application Version 1
Endpoint Type 1 Least significant nibble is equivalent to SCM's endpoint type field.
Endpoint ID 4
Consumption Interval Count 1 Interval counter indicates when a received message is reporting a different interval from the last.
Module Programming State 1
Tamper Count 6
Async Count 2
Power Outage Flags 6
Last Consumption 4 Equivalent to SCM's consumption field.
Differential Consumption 53 47 intervals of 9-bit unsigned integers.
Transmit Time Offset 2 1/16ths of a second since the first transmission for this interval.
Meter ID Checksum 2 CRC-16-CCITT of Meter ID.
Packet Checksum 2 CRC-16-CCITT of packet starting at Packet Type.

Interval Data Message (IDM) for Net Meters

A 92 byte message containing differential consumption intervals as well as total consumed and generated power.

Field Length Value Description
Preamble 2 0x5555
Sync Word 2 0x16A3
Protocol ID 1 0x1C
Packet Length 1 0x5C
Hamming Code 1 0xC6 Hamming code of first byte.
Application Version 1
Endpoint Type 1 Least significant nibble is equivalent to SCM's commodity type field.
Endpoint ID 4
Consumption Interval Count 1 Interval counter indicates when a received message is reporting a different interval from the last.
Programming State 1
Unknown 13
Last Generation Count 3 Total power generated.
Unknown 3
Last Consumption Count 4 Total power consumed.
Differential Consumption Intervals 48 27 intervals of 14-bit unsigned integers.
Transmit Time Offset 2 1/16ths of a second since the first transmission for this interval.
Meter ID Checksum 2 CRC-16-CCITT of Meter ID.
Packet Checksum 2 CRC-16-CCITT of packet starting at Packet Type.

R900 Consumption Message

A 116 bit message containing total consumption and backflow/leak information for a single meter.

Field Length (Bits) Value Description
Preamble 32 0x0000E564
ID 32
Unkn1 8
NoUse 6 Day bins of no use. See issue #29 for more details.
BackFlow 6 Backflow in past 35 days, high/low.
Consumption 24
Unkn3 2
Leak 4 Day bins of leak. See issue #29 for more details.
LeakNow 2 Leak in past 24 hours, high/low.