I have an old oil boiler with 4 zones, individual zone pumps. I'm trying to track heat usage on a per-zone basis. Would it be possible to simply track how often each zone pump runs and apply their percentage of the total run time to the total energy used?

For example, the run time percentages might be:
Zone A - 20%
Zone B - 25%
Zone C - 30%
Zone D - 25%

Could I assume that Zone C used 30% of the energy?

The boiler is non-modulating.

This method is predicated on the zone controller only running one zone pump at a time. Is that typical?

update 3/9/20
Each zone corresponds to an apartment - that's why I'm trying to track energy usage. Given that there are tenants involved, I want a sure-fire way to track energy usage. I am aware of "BTU meters" that use flow and delta t measurements but was wondering if some simple logic a la RUBS could be used instead of expensive sensors.

  • How much work/time/$$$ do you want to throw at this problem? Also, is this simply for your own benefit, or are there tenants involved in this? Mar 9, 2020 at 2:39
  • Are you sure you are only running one zone pump at a time? I'm not an expert, but I would think that each zone would be controlled independently by it's own thermostat. You could wire in parallel a simple numerical timer to each zone pump to measure run time. That would get you close, but not exact, to the heat usage per zone. . You'd have to take regular readings, record them and do the math. Like 3PH asked, what is your goal here? Mar 9, 2020 at 4:24
  • @ThreePhaseEel There are tenants - one zone per apartment. I have programming/arduino/hardware experience and some time to through at this! GeorgeAnderson I am not sure about only running one pump at a time. I should have stated more clearly that that was part of my question.
    – ejb
    Mar 9, 2020 at 14:35
  • Depending on where you live, assigning energy usage to residential tenants can have very stringent and complicated requirements (revenue-grade meters installed/commissioned by a certified installer, then inspected by local authorities). I see that you are in Maine -- I'd contact the state Public Utilities Commission to get started.
    – LShaver
    Mar 9, 2020 at 18:40
  • @LShaver you can get BTU meters as a package these days Mar 9, 2020 at 23:09

3 Answers 3


Since tenants are involved, you'll need to do this right

If you were owner-occupying a zoned single-family dwelling, then taking shortcuts in the interest of expediency would be an acceptable way to get rough estimates of zone energy usage for your own uses. However, you're not in that situation; you're dealing with tenants instead, which brings real estate leasing (landlord-tenant) law into the picture. While state and local policies and attitudes towards submetering vary, your best bet to get AHJ (and tenant!) acceptance is to do this the right way from the start.

Fortunately, you aren't the first landlord to have this general idea, so prepackaged BTU metering systems are available, generally running about $700-$800 a zone for an Istec 4440 or a Badger 380. These consist of a flowmeter with totalizer/register and two pre-harnessed temperature sensors for supply and return. The meter is installed in one of the two pipes going to the unit (the Istec goes in the return line, while the Badger doesn't care), while the other temperature sensor is fitted in a thermowell in the other pipe.

From there, the two diverge. The Badger 380 requires 12 or 24VAC or DC power (a standard 24VAC, 40VA HVAC control transformer should be ample, even for several meters, though), and has to be programmed using a Mini-USB cable and the supplied commissioning software, but once that's done, it not only can output simple pulses to an external totalizer, but can speak BACnet or Modbus over RS-485 to some sort of central monitoring system (anything from a Pi with an RS-485 hat, to a full-on BMS such as one'd find in a large building). The Istec 4440 lacks the network connectivity support of the Badger 380, but has a built-in LCD register (something the Badger 380 lacks), and is battery-powered; it does support pulse outputs to an external totalizer, though.

Either way, you can get within a few % of accuracy here, which is about as good as you'll get without spending much, much more on high-accuracy flowmetering hardware, as ordinary water meters aren't rated for hot-water hydronic duty, and are only held to 1.5% accuracy by AWWA standards, anyway, just for flow. Given that we're dealing with a derived parameter (BTUs) here, 2-3% accuracy is not unreasonable.

Other legal issues

While Maine landlord-tenant statutes, as far as I can tell, do not directly touch on submetering, they do have the fairly logical prohibition on a tenant paying for common area heating service without expressly and separately agreeing to do so. To avoid running afoul of this, I would put a BTU meter on the commons area zone or zones as well; this way, you can apportion fuel costs fairly among all participants, with you, as the landlord, paying for commons area heating and each tenant paying for their own unit's space heat.

Also, you may need to provide heating cost information for the past year to your tenants on request with the note that space heating costs will be apportioned based on BTU usage, and presumably will note the presence of BTU metering on your Energy Efficiency Disclosure Form. See 14 MRSC 6024 and 14 MSC 6030-C for details. You'll want to talk to a lawyer about amending any written leases, too, and any written billing you may do. I would at the very least make heating costs into a separate line item on the billing, or otherwise make it clear that they are not fixed, unlike the rest of the rent.


It might be dangerous to assume that each pump delivers the same flow to each zone so you may need more than the run-time for an accurate set of results.

So pump run time, flow rate and the temperature drop of the fluid delivering the heat (ie supply and return temperature).

You could then compare with the boiler hot water output using the run-time of the boiler and if is in "high or low" output mode as well some estimation of the losses.

From these you should get a reasonable idea of which zone uses what.


No, that's not a valid way to determine energy usage. With a hot water system you need to know three things:

  1. The flow rate of the water
  2. The temperature drop of the water through the loop
  3. The time over which this happens

With these 3 you can determine the energy "lost" in the loop which presumably went into your rooms.

The "magic" formula you'll need is:


q is the heat in Joules m is the mass of the water in grams c is the specific heat of water (4.184 J/gC) 🔺t is the temperature loss in degrees C

This gives you the heat loss in Joules, to turn that into energy you multiply by time to get Joule-Hours (or minutes or seconds, whatever you need).

If you are working in other units you can convert the output appropriately.

If I were doing this I'm figure out a way to measure the water flow. This is probably the hardest part but I'd start with the pump capacity and study its spec sheet since the actual flow rate will depend on any number of factors.

Then I'd attach sensors to the input and output of the system to measure the temperature delta.

A device like a Raspberry Pi or an Arduino would be useful for monitoring this on an ongoing/realtime basis.

  • Flow will depend on the loop, so pump specs won’t be sufficient. It might also be the case that there’s 1 pump and zone valves. It could be measured directly doppler flow meters. (My water softener has one) A thermocouple at outlet and return for each loop plus Doppler flow meters would make this solvable.
    – Tim B
    Mar 9, 2020 at 13:08
  • Didn't I say that? Best case would be an actual flow meter.
    – jwh20
    Mar 9, 2020 at 13:16
  • Are there any zone pumps that have built in flow meters?
    – ejb
    Mar 9, 2020 at 14:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.