Calculating energy of floor heating [anyone good at math?]

I have floor heating in my house. Now I have installed temperature sensors and a flow meter to it. Through the formula Q = m . c . ΔT I can now calculate the “delivered energy”. The results I am getting do make sense (graph below). I am however now asking myself if I haven’t screwed up the unit of measurement. Shouldn’t that be kW instead of kWh?

If that’s so, then I should probably feed the sensor I have created into a Riemann sum sensor, but am currently unsure (apologies: has been ages ago since I had physics at high school).

In the end I would like to compare the delivered energy of my floor heating with my gas consumption to see if I can boost the efficiency of my boiler.

Any thoughts?

Make an example with numbers and make sure every value have a measurement too, then do the math on those measurements too.

Did that and I then come to values or around 4 which sounds reasonable for a radiator (like floor heating), but then question remains: is that kW or kWh?

I meant forget the numbers and do that math with the units only.

Heat capacity (Q) is usually measured in Joules, which is a unit of energy, like kWh. So you already have energy. Riemann Sum is not going to help (it integrates Power with respect to time to give Energy).

Your calculation is determining the energy supplied over the time range spanned by ΔT.

However this time appears to be quite small giving you “instantaneous energy” and it is not accumulating.

Counter-intuitively maybe if you calculate Q/s (where s is the ΔT time period) it will give you power, which you can then integrate with the Riemann sum helper.

The other problem is that you may not just be measuring heat energy supplied to the system. There are also conduction and radiation losses in the system from the floor coils that affect the temperature. Unless you are measuring ΔT across the inlet to outlet of the water heater?

Then it should be ok.

1 Like

the formula Q = m . C . ΔT will express Q as an energy in KJoule (in SI units), with:
m is a mass of water, expressed in kg
ΔT is variation of water temperature, expressed in °C
C = 4.18 for water.
Basically, it says you need 4.18 KJ to warm 1kg of water by 1 °C
To get the energy in kWh: You divide by 3600 (1kWh = 3600 KJ)

Now I assume that your flow meter is measuring a flow in kg/s which is usually noted w
So the formula is now : P = w . C . ΔT
P : Power, in kW ; w in kg/s; C = 4.18 and ΔT in °C

Looking at your graph, I do think it is indeed kW

1 Like

Unless they are converting this:

To the actual mass by taking account of time.

Without seeing the template sensor this is all guess work.

Frank, please share your sensor config.

Ok, I have the following:

sensor.vloerverwarming_alpha3_flow 0,41 m³/h
sensor.wemosd1_vloerverwarming_aanvoer 38,0 °C
sensor.wemosd1_vloerverwarming_retour 29,1 °C

The formula I am using is:

{{ ((states('sensor.vloerverwarming_alpha3_flow')|float * 1000) * 1.163 * (states('sensor.wemosd1_vloerverwarming_aanvoer')|float - states('sensor.wemosd1_vloerverwarming_retour')|float) / 1000) | round(2) }}

As c I used: " 1 m³ 1°C = 1,163 kWh" (and I think that is where it went wrong, but let you judge)

Yeah what Alain_H said above is correct.

Change your unit to kW and run that sensor through the Riemann Sum helper.

1 Like

1,163 * 3.6 = 4186 KJ , consistent with c = 4.18

and with your sensor numbers, you do get 4.2 kW

1 Like

Just to report back: it’s working and it definetly produces results that could be true :slight_smile:

And the underlying data (temperature and flow):


1 Like