-
Notifications
You must be signed in to change notification settings - Fork 261
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. |