-
Notifications
You must be signed in to change notification settings - Fork 249
Protocol
Douglas Hall edited this page May 22, 2018
·
5 revisions
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: |
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. |
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. |
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. |
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. |