SCM — the standard consumption message
The oldest and most common message on the band. A meter ID, a commodity type, and one number that only ever goes up.
SCM is the workhorse of the ERT family and the message you are most likely to decode first. It was designed for drive-by meter reading: a van drives past, and every meter within range has already told it the number, unprompted.
What it carries
| Field | Meaning |
|---|---|
| ID | The meter's unique identifier. Also printed on the faceplate, which is how you confirm a packet is yours. |
| Type | Commodity code — distinguishes gas from water from electric. |
| Consumption | Cumulative total. Monotonically increasing. |
| Tamper (phy) | Physical tamper indication — enclosure interference. |
| Tamper (enc) | Encoder tamper indication — register interference. |
| Checksum | Integrity check. Bad-CRC packets are dropped, which is why a marginal signal produces silence rather than garbage. |
Properties
| Property | Value |
|---|---|
| Band | 902–928 MHz |
| Utilities | Gas, water, electric |
| Interval | Every few seconds, unprompted (bubble-up) |
| Payload style | Odometer — cumulative |
| Encryption | None |
| Decoders | rtlamr, rtl_433 |
rtlamr -msgtype=scm -filterid=YOUR_METER_ID
What the cumulative total costs you
An odometer reading is the right design for billing and the wrong design for monitoring, and it is worth being clear about the consequence before you build anything on it.
- Your resolution is the meter's least significant digit, not your poll rate. Decoding every three seconds does not give you three-second resolution. It gives you a long run of identical readings and an occasional step, because the meter's own register only advances when a whole unit has passed through it.
- A missed packet is a permanent gap. Nothing later backfills it. Compare IDM, where each packet carries its own history.
- There is no flow rate in the message. You can derive one by differencing, but on a slowly-consuming meter the derived rate is dominated by the quantisation of that last digit rather than by actual usage.
If flow rate is what you actually want from a gas or water meter, the meter broadcast is the wrong instrument at any resolution. The mechanical test dial on the meter face rotates continuously and proportionally to flow — watching that gives you real-time rate, which no cumulative packet ever will.
This is a lesson learned the expensive way on a camera-based monitoring attempt: reading the odometer digits is the obvious approach and the wrong one. The spinning dial is the signal.
Tamper flags are not an alarm
Both tamper bits show up in decoded output and both are easy to over-read. They are set by conditions the meter's designers considered worth noting, and in practice they get set by power interruptions, magnetic fields near the register, and installation work. A set tamper flag on your own meter is far more likely to be an artefact of history than evidence of anything happening now.
Next
Where this leads.