Water Meter - Another one

Someone PM’d me asking for details on the water meter I made. I thought I had done a post about it but seems not.

In a nut shell:
A(nother) Wemos used to monitor something in my house. It measures:

  • The water flow into the house in litres per minute. (0-20L/m. Max my piping can supply is 17L/m)
  • It measures the temperature of the main water feed
  • It measures the temperature of the boiler outlet (Hot Water side)
  • It measures the temperature of the boiler central heating flow (Hot side)
  • It measures the temperature of the boiler central heating return

All of this is then published to mqtt and displayed on HABPanel.


Number utility_water_main_flow_rate "Water - Main supply flow rate" (g_persist_change, g_persist_5minute, Group_HabPanel_Dashboard) {mqtt="<[mqtt:home/utility/water/flowrate:state:default]"}
Number utility_boiler_cold_water "Boiler - cold water inlet" (g_persist_change, g_persist_5minute, Group_HabPanel_Dashboard) {mqtt="<[mqtt:home/utility/boiler/temperature/t_8762152e9:state:default]"}

Number utility_boiler_hot_water "Boiler - hot water outlet" (g_persist_change, g_persist_5minute, Group_HabPanel_Dashboard) {mqtt="<[mqtt:home/utility/boiler/temperature/t_8762152d7:state:default]"}
Number utility_boiler_heating_flow "Boiler - Heating flow" (g_persist_change, g_persist_5minute, Group_HabPanel_Dashboard) {mqtt="<[mqtt:home/utility/boiler/temperature/t_836215226:state:default]"}
Number utility_boiler_heating_return "Boiler - Heating return" (g_persist_change, g_persist_5minute, Group_HabPanel_Dashboard) {mqtt="<[mqtt:home/utility/boiler/temperature/t_996215321:state:default]"}

	// "flowMainR": 0,
	// "flowMainmL": 0,
	// "time": "20:15:40",
	// "t_996215321": 42.5, //Boiler return
	// "t_836215226": 67.5, //Boiler flow
	// "t_8762152d7": 29.5, //hotwater out 
	// "t_8762152e9": 11.5 //cold water main

(copied verbatim - remove groups as needed)


The Arduino code is posed to girhub -

1 Like

Could you please post what hardware you are using for the sensors?

Edit: nevermind… I see some details in the sketch!

That could have helped :blush:

The temperature sensors are the common DS18B20.
Connections are as follows:

(Note:This diagram does not correspond to the sketch :slight_smile: Adjust def in code to suit yours)

The water sensor is this one:

The temperature sensors are taped to the flat surface of the sensor and to the copper pipes. They seem to transfer heat well enough for this purpose.

1 Like

I have the same setup, measure the cold water from the outside coming in the house and the hot one going out of the boiler. I add thermal paste (the one for CPU) to get a better contact and then add some insulation material around. These one wire sensors are amazing

However the flow sensor is not perfect. When I was trying to calibrate I found that in is not linear so low flow and high flow will produce different amount of peaks for the same volume of water

Even if it is not perfect, it does produce nice graphs and can be used to alert you for a broken pipe/leaking toilet etc.