Meter interfaces

Heat meter data monitoring and reconciliation

Read the right heat-meter register, store it with its meter, unit and time, and reconcile the totals with the meter display and the network balance.

Most heat-meter data errors are not communication faults. The link works and the system stores the wrong register: last month's due-date value, a tariff register, or a volume total labelled as kWh. A due-date value arrives on time every 15 minutes and plots as a flat line until the next billing date. Store every value with its meter, register, unit and time, and name the circuit each meter measures before you compare buildings or estimate network loss.

Measurement boundary

A heat network can have meters at the energy centre, on network branches, at building inlets, at apartments or heat interface units (HIUs), and on domestic hot-water circuits. Draw the hydraulic boundary and name the circuit represented by every meter before comparing totals.

Plant output minus the sum of the downstream meters is a residual, not yet a loss. Suppose the energy centre meter records 1,000 MWh in a month and the building meters add up to 780 MWh. The 220 MWh (22%) contains distribution loss. It also contains any change in the charge of a thermal store, branches with no meter, gaps in the building data, and the error of every meter in the sum. Remove those first. Pipe heat loss depends mainly on pipe temperature and insulation, so it changes much less than demand does. It is a larger share of the heat supplied in summer than in winter, and the residual on a summer night is a useful first estimate of standing loss.

For French collective residential and tertiary buildings, the distribution-pipe insulation duty has separate 2027 and 2030 triggers. A heat balance can identify where to investigate, but it does not prove the installed insulation class.

A high return temperature at a building or HIU usually has a local cause: a bypass or keep-warm function that stays open, a failed control valve, or a poorly balanced secondary circuit. To find it, plot that meter's flow rate and return temperature together overnight. Steady flow with a return temperature close to the flow temperature points to a bypass or an open valve.

What to store with each value

RecordStore with itReject or investigate
Energy totalMeter identity, heating or cooling, tariff, unit, scale and storage numberA stored (historical) record, or a decrease with no explanation
Volume totalUnit, scale and counter continuityCubic metres treated as thermal energy
Flow or powerWhether it is instantaneous or averaged, and the source timeComparing measurements taken at different times
Flow and return temperaturesSensor positions, identity and unitsSwapped sensors or the wrong circuit
Meter statusRaw code and its model-specific meaningA meter fault cleared because communications recovered
Pulse countWeight convention, raw count, baseline and known modulusInverted weight, duplicates or a reset with no explanation

In wired M-Bus, the data information field (DIF) of each record carries its storage number, function and data type, and its extensions carry the tariff. The value information field (VIF) carries the quantity and its decimal exponent (M-Bus application layer, VIF table). Two energy records from the same meter can differ only in these bytes:

DIF, VIFMeaning
04 06Energy in kWh, 32-bit integer, storage 0: the current value
44 06Energy in kWh, storage 1: a stored value, on many meters the last due-date reading
04 07Energy in units of 10 kWh, storage 0
04 0EEnergy in MJ, storage 0
04 13Volume in litres, storage 0

A decoder that drops the storage number stores 44 06 as the current energy. A decoder that ignores the exponent in VIF 07 records a tenth of the true energy. The date that belongs to a stored value is a separate date record (VIF 6C) with the same storage number. Which records a meter sends, and what each storage number holds, depends on the model and its configuration.

When a ZHM-21 M-Bus Interface reads a meter, Edge shows the meter's primary address, baud rate, device identifier, manufacturer, version and medium as read from the meter. Record the device identifier. It changes when the meter is replaced, even when the new meter is set to the old primary address.

The meter's energy value is authoritative

Where the meter exposes cumulative heating or cooling energy, record that value. Its calculator combines the temperature sensor pair, the flow sensor and the configured medium. Under the Measuring Instruments Directive, Annex VI (MI-004), a heat meter is either a complete instrument or a combined one made of three sub-assemblies: flow sensor, temperature sensor pair and calculator (Directive 2014/32/EU).

The same annex sets the maximum permissible error of a complete meter as the sum of three parts. For a class 2 meter, the flow sensor may be out by (2 + 0.02 qp/q)%, to a maximum of 5%. The temperature pair may be out by (0.5 + 3 Δθmin/Δθ)%, and the calculator by (0.5 + Δθmin/Δθ)%. The manufacturer declares Δθmin as 3 K, 5 K or 10 K. For a class 2 meter with Δθmin = 3 K:

  • at its permanent flow rate qp and a 20 K difference, the limit is 2.02 + 0.95 + 0.65 = 3.6%;
  • at qp/10 and a 5 K difference, the limit is 2.2 + 2.3 + 1.1 = 5.6%.

The second case is a summer night on many networks. A small temperature difference also magnifies sensor offsets. At 3 K, a 0.1 K mismatch between the flow and return sensors is a 3.3% energy error. This is why the two temperature sensors are supplied and replaced as a matched pair.

The meter is marked for a flow sensor in either the flow or the return pipe, and the calculator uses that position to select the water density. At 70 °C flow and 50 °C return, water density differs by about 1% between the two pipes. A meter installed in the wrong pipe is out by about that much before any other error. BS EN 1434-6 covers the installation, commissioning and operational checks of the complete meter.

For water between 40 and 90 °C, density is 965 to 992 kg/m³ and specific heat is 4.18 to 4.21 kJ/kg·K. A quick check of scale and direction is:

Formula
thermal power (kW) ≈ density (kg/m³) × specific heat (kJ/kg·K)
                     × flow (m³/h) × temperature difference (K) ÷ 3,600

For 10 m³/h of water at 70 °C flow and 50 °C return, the check gives about 228 kW:

The check finds sign, unit and order-of-magnitude errors. It is not a second meter. It uses water properties, so it will not match a meter on a glycol circuit. A 30% propylene glycol solution has a specific heat of about 3.9 kJ/kg·K, about 7% below water (Engineering ToolBox). On such a circuit, confirm that the meter is configured for that medium. A combined heating and cooling meter keeps separate heating and cooling energy registers. Map both, and do not add them together. Energy is power integrated over time, so one power reading gives no interval energy.

M-Bus, pulse or Modbus

The ZHM-21 reads one wired M-Bus meter at 300 to 9,600 baud over up to 1,000 m of cable, and sends its records over the Zigbee mesh to the ZGW-20 Gateway running Edge. A plant room with three heat meters needs three interfaces. The wired M-Bus commissioning guide covers unit loads, addressing and record mapping.

Many recent apartment heat meters send wireless M-Bus instead (EN 13757-4, usually T1 or C1 mode), with each meter's telegrams encrypted under its own AES-128 key. The ZHM-21 reads wired M-Bus only. Where the manufacturer offers a wired M-Bus module for the meter, fit that module.

Modbus on a heat meter usually means an add-on communication module. The ZMB-31 Modbus Interface reads up to 30 registers from meters on one RS-485 bus. A 32-bit total occupies two registers, and the word order comes from the module's register map. An energy total of 12,345,678 (hex 00BC 614E) read with the words swapped becomes 1,632,501,948.

A pulse output usually carries one quantity. An energy pulse is a fixed quantity of the meter's calculated energy. A volume pulse gives volume only, and thermal energy cannot be derived from it without the temperatures. Record whether the weight is in kWh per pulse or pulses per kWh. If 10 pulses per kWh is entered as 10 kWh per pulse, the recorded energy is 100 times too high. The ZPC-20 Pulse Counter counts up to 40 Hz and needs mains power. The battery-powered ZPC-10 counts up to 4 Hz. Use the pulse meter scaling calculator before commissioning.

Four clocks

A series of "15-minute readings" can involve four different intervals:

ClockSet byWhy it matters
Meter updateThe meter's firmwareA meter can refresh its M-Bus data less often than it is polled, so consecutive readings repeat
PollingThe interfacePolling faster than the meter updates adds no information
ReportingThe sensor settings in Edge, 15 minutes in the M-Bus application guideSets the resolution of the stored series
Storage and aggregationEdge or the receiving platformHourly or daily totals hide gaps unless the quality flag is kept

Store the meter's own time when it sends one (a date and time record, VIF 6D), the acquisition time and the UTC offset. A repeated value between meter updates is correct data, and the cumulative total still holds.

Missing and discontinuous data

Store a gap as null with a quality flag. A zero in an interval table reads as no consumption and pulls the monthly total down. Useful quality states are fresh, stale, meter error, communications failure, duplicate, reset or replacement, and unresolved discontinuity.

The M-Bus status byte reports application errors in bits 0 and 1, power low in bit 2, a permanent error in bit 3 and a temporary error in bit 4. Bits 5 to 7 are manufacturer-specific (M-Bus application layer). Manufacturer error records typically cover a temperature sensor that is open or short-circuited, air or no water in the flow sensor, and reverse flow. The codes differ by model. A meter error stays set until the meter clears it, even when communications are good.

If a counter has a documented modulus M and exactly one wrap is confirmed, the delta is (M − previous) + current. A falling total can also mean replacement, a reset, a different register or corrupt data, so do not infer a wrap from the arithmetic alone. Reject an interval when more than one wrap, or a change of meter, cannot be ruled out.

  • 12,345.6 → 12,349.1 kWh in exactly 15 minutes is 3.5 kWh, an average of 14 kW over that period. It is not an instantaneous power reading.
  • 0.1 kWh/pulse × 37 pulses is 3.7 kWh. Sparse pulses make short-interval rates look stepped even when the physical flow is continuous.
  • 9,998 → 3 with a known modulus of 10,000 and one confirmed wrap is 5 increments. The same readings after a meter replacement are two different meters, and wrap arithmetic does not apply.

Reconcile with the meter

Compare the same meter, register, unit, tariff and direction. Read the display at the start and end of at least 24 hours and compare its difference with the difference in the stored totals. Accept a disagreement no bigger than one display digit, plus one pulse weight for a pulse input. A single comparison at one moment fails for no good reason, because the display, the M-Bus data and the stored value update at different times.

A match proves the data path, not the meter. Billing use depends on the meter's approval under MI-004, a correct installation and national rules.

Failure, recovery and meter replacement

Test the failure handling before handover:

  1. Confirm that every meter reports for at least two reporting intervals.
  2. Disconnect the M-Bus lead, or the pulse input, on one meter for longer than two reporting intervals.
  3. Check that the disconnected meter shows no new reading and is flagged by name.
  4. Check that the other meters continue to report.
  5. Reconnect the meter. Check that the first new total continues from the last stored total, and that no reading is stored twice.
  6. Restart the Gateway. Check that the totals continue.
  7. Check that no interval values were created for the gap. The energy used during the outage is known only as one total for the whole gap.

When you replace a meter, start a new identity and a new baseline. Do not let the new meter continue the old counter. Record these items on the replacement sheet:

  • the old meter's device identifier, its final energy and volume totals, and the date and time;
  • the new meter's device identifier, its opening totals, and the date and time;
  • the records used, with their units and exponents, or the pulse weight;
  • who did the work.

The wired M-Bus application guide lists the hardware for a set of meters, and the pulse acquisition guide covers counters. System Builder takes the meter list and circuit boundaries.

Common questions

Which heat-meter value should an energy monitoring system record?

The meter's own cumulative heating or cooling energy register at storage number 0, with the meter's device identifier, unit, scale, tariff, timestamp and status. Volume, flow, power and temperatures help to diagnose the meter, but they cannot replace its calculated energy.

Can a remote heat-meter reading be used for billing?

Not on the strength of the remote reading alone. A reading that matches the display proves the data path. Billing use depends on the meter's approval under the Measuring Instruments Directive (Annex VI, MI-004), a correct installation and national rules.

Does the difference between plant output and building totals equal district-heating network loss?

Not until the other causes are removed. The difference also contains changes in thermal storage, unmetered branches, missing data, timing differences and the error of every meter in the sum. Pipe loss changes much less than demand, so the difference on a summer night is a useful first estimate of it.