9 years ago I had a water leak and as a result of what I did I had an idea for a water leak detector but back then it would have been too expensive to build a real-world product. Cloud computing, IoT and other technologies made it a real possibility a few years later and I looked deeper into it and discovered two things:
- there are already patents in the space but nothing preventing my method
- it turned out other people were working on similar ideas
It’s really simple; you need to take two temperature readings where your water main enters your dwelling;
- the temperature of the mains pipe and
- the ambient temperature of the air near where you are taking the pipe temperature reading.
Then, you need to compute the absolute difference and monitor it over time. When you cause water to flow through the pipe, the temperature of the pipe will change (I expect there may be a few rare circumstances when this won’t happen). This will create a peak and once you switch the water off, the air will heat or cool the pipe until the pipe & air are the same or reach a point when the difference is constant. Copper pipes are best.
OK, so now we have a series of data that shows peaks and curves. There are various algorithms you can implement and most will give false alarms (washing the car, watering plants etc) but if you have a house full of leaky plumbing like I did it’s really useful.
I’m not good at processing time series data but I did something a while back, again really simple. Each time I posted a row to emoncms I copied it to Azure (where I can write code and store data, do it where you want!). After posting the data I had a look at recent rows and if there was a peak, has the difference become constant within n minutes? If n minutes had passed and the difference is not constant, I sent myself an email. I got a bit tired of those emails after a while and switched the monitoring off but it works!
Now, after we have fixed all our leaky toilets and dripping taps, I just display the absolute difference feed on my dashboard and keep an eye on it.
I have done this using 2x DS1820B via emonPi and an alternative install using emonTh & 1x DS1820B; I hope this may be of use to some of you.