M-Bus Electricity Sub-Meters for the Outbuildings

I’ve been finding the electricity sub-meters in the House very useful, showing the electrical consumption of the ‘significant’ electrical loads as a proportion of the total recorded by the main electricity meter, so I’ll be adding some in the Outbuildings too.

For the House, I initially used cheap meters with only an S0 ‘pulse’ output and recorded the readings manually every month. Later, I found some affordable (second-hand) M-Bus adaptors for the ‘pulse’ meters (various models from the Relay Padpuls range) and added those, enabling the meters to be included in the once-per-minute reading cycle for the Water meters and the Heat meters.

The ‘significant’ loads that in my view warrant a dedicated sub-meter are:

  • Heat Pumps
    • In conjunction with a Heat Meter for heat pumps with a Water output, enabling the real-world efficiency to be calculated
    • With an Air-to-Air heat pump, as will be installed in the Outbuildings, it’s not practical to measure the heat output – but it’s still worth recording the electricity input
    • If there are secondary circulation pumps or control units which have a separate electrical supply from the main Heat Pump unit, these should ideally have their own sub-meter
  • Mechanical Ventilation (with or without Heat Recovery) Systems
    • While their consumption is not especially high, the fact that these typically run 24×7 means their total usage can add up – and since they’re still quite unusual in UK homes it’s good to track their actual energy consumption
    • Some MVHR units vary their fan power to provide a consistent airflow, in which case a gradual increase in energy consumption can be an indication that the filters need replacing – although normally the filters should be replaced before this increase becomes noticeable
  • Electric Vehicle Charge Points
    • Sometimes these incorporate their own electricity metering, which can be accessed via a Smartphone App or other interface, but it’s convenient to have them metered in the same way as the other electrical loads
    • Each charge point should have its own meter, should there be more than one
  • Other ‘large’ or ‘interesting’ loads
    • Immersion heaters
    • Rainwater harvesting pumps

There’s a wide choice of electricity meters with an S0 ‘pulse’ output (EN 62053-31) and a rather smaller choice of meters with a Modbus output. For meters with a native M-Bus (Meter-Bus) output the choice is smaller still – but for a building that needs to have some M-Bus metering anyway it’s much more straightforward to add further M-Bus meters than to cater for alternative metering protocols as well.

I’ve settled on using MID-certified M-Bus meters from UK company Rayleigh Instruments, having added one of their meters to the House a few months ago and after receiving positive feedback from another self-builder who uses one for their air-to-water Heat Pump:

  • The 2-module-wide RI-D35-100-MB which is a directly-connected meter for loads up to 100A
    • This reports Manufacturer = “RAY” which is one of two manufacturer codes allocated to “Rayleigh Instruments, United Kingdom”
    • This returns a lot of data via M-Bus which spills over into a second M-Bus telegram, requiring the M-Bus software to be able to handle a multi-telegram response
  • The 1-module-wide RI-D175-MB which is a directly-connected meter for loads up to 45A
    • Despite being branded as a Rayleigh Instruments unit, this reports Manufacturer = “PAD” which is a manufacturer code allocated “PadMess, Germany”
    • Note that this meter appears not to respond to a Secondary M-Bus address, so Primary addressing must be used
    • There’s a variant of this available with a Current Transformer (CT) input instead of being directly-connected, which caters for currents up to 100A
    • There’s more information about this specific meter in a Technical Article page here.

These are available for about £25 each; surprisingly the larger meter is less than 10% more expensive than the smaller one, so actually I only use the smaller one for loads up to about 16A (where the smaller terminals are helpful for connecting smaller-section cables) and use the larger one for loads like the EV charge points, where the load won’t even exceed 32A.

The Rayleigh meters are shipped with their Primary M-Bus address set to ‘0’ (RI-D35-100-MB) or ‘1’ (RI-D175-MB) so if the intention is to extract readings using the Primary rather than the Secondary M-Bus addresses, these need to be changed from the default. This can be accomplished using one of the utilities shipped as part of the libmbus codebase:

$ mbus-serial-set-address -b 2400 /dev/ttyUSB0 old_primary_address new_primary_address

M-Bus Water Meter Reading Discrepancies

There are three water meters in the house:

  • One on the incoming Cold water supply
  • One on the cold water supply to the bottom of the hot water cylinder, which measures the Hot water consumption (and needs to be subtracted from the incoming cold meter reading to leave the cold water usage)
  • One on the separate cold water supply to the potential-future-rainwater-harvesting pipework
    • This third one is actually fed from the incoming mains supply outside the house but might in future be connected to a rainwater harvesting system
    • Within the house, the pipework connected to this meter feeds the toilets, the washing machine and the outside taps (i.e. all the appliances which are permitted to be fed with harvested rainwater)

These meters are in addition to the water company’s ‘revenue’ meter and could be considered excessive, but:

  • The water company’s meter is about 600 metres away from the house so there’s a lot of underground pipework that could potentially leak (and which runs through fields which get ploughed) and it’s good to be able to cross-check the meter readings in case any leaks develop
  • It’s useful to be able to compare the Hot water usage with the Cold water usage – and to see how much of the water usage could potentially be displaced by rainwater harvesting
    • This is especially pertinent as I firm-up the specification for the Outbuildings, to be constructed as part of “Phase 2” of the building work, and compare the cost of a rainwater harvesting system with the potential savings

The three internal meters have M-Bus readers fitted and are automatically read every minute – along with all the other M-Bus readers in the house. (Reading so often is completely over-the-top for Water meters, but not for e.g. Electricity meters, and it’s easiest just to read all the meters on every read-cycle than to mess about reading different meters at different intervals.) Then, every month, I manually record the monthly meter readings (as reported by M-Bus) into a spreadsheet to look at a summary-level view and monitor trends in usage.

Over the past couple of months I’ve noticed the ‘rainwater’ meter showing much higher readings than before, which seemed odd. On the 1st of May, the usage was up a bit; on the 1st of June the usage was up a lot – roughly 10 x the usage in February, for example. Initially I suspected a leak but on checking further it was clear the meter reading wasn’t changing unless there was obvious water usage.

Then I realised what was happening: it’s not that the meter is now reporting ‘high‘ – it’s that the meter has previously been reporting ‘low‘. The dials on the meter are showing 114 m3 but the M-Bus adaptor is reporting 85 m3. Plotting a graph of the meter readings over time (that I don’t normally do) makes it clear that something went wrong around the end of April 2022 that got fixed around the middle of April 2024.

‘Rainwater’ Water Meter readings, early 2022 through to mid 2024

I know what I did to ‘fix’ it – I’d been checking the details of the meter to be able to match it in the new building and removed and re-fitted the M-Bus adaptor. I don’t know what I did to ‘break’ it – but given that some readings were still coming through I presume the adaptor was knocked slightly out of position. (If it had stopped reading completely I would have spotted it.)

The meters are Itron Aquadis models with Cyble M-Bus adaptors that slide into some slots on the front of the meters – but they don’t clip into place hence they’re reliant on friction (or gravity) holding them in position, and they can get knocked.

Now the problem is that the internal registers on the M-Bus adaptor don’t match the dials on the meter and there are no buttons or display on the M-Bus adaptor to make any adjustments – so it’s a case of using the Cyble M-Bus software that I originally used to set the M-Bus IDs to re-set the reading from the dials.

This was easy enough – once I’d worked out the Cyble M-Bus software needs to run as Administrator. Changing the reading is as simple as clicking on the digits and entering the new reading.

Screenshot of Cyble MBus v1.4 software

I’d forgotten these adaptors have the option to report against a Leakage threshold value; what’s not clear is how the detection of a ‘leak’ gets reported – there no obvious ‘leakage’ field in the XML data record that comes back to the M-Bus reader.