Monitoring heating oil level (part 1)
I have been attempting to automatically monitor the amount of heating oil used for the house central heating and this series of posts details my progress so far.
A little background; we live in a rural cottage with an oil-fired central heating system fed by a 1200 litre capacity oil tank in the garden. The oil tank needs to topped up every few months and with oil prices fluctuating weekly it’s useful to know the historical usage to predict if it is worth waiting for a drop in fuel price. The tank has a Watchman wireless level sensor fitted and a receiver in the house with an LCD screen with 10 bars displaying current level, 120 litres per bar.
In an ideal world we would not use oil for heating but living in a rural cottage limits available options. As mentioned the oil tank has a Watchman sensor and I am aware they now sell a new kit that can connect to Wi-Fi, smart phone etc. However since I love tinkering with things and generally avoid proprietary solutions so I am attempting to extract the measurement readings via other methods.
Currently to keep track of the level I take a photo whenever I notice the lcd display has dropped a bar. It is not too precise since I might not notice for a few days however it’s good enough. For reference a bar of fuel in wintertime is a few weeks worth of fuel. Previously I was saving this information in a spreadsheet but after a few months I got fed up entering the data since usage is mostly predictable.
I did try a small project to interpret the photos I had taken of the LCD readout but my intital attempts using OpenCV were not promising and suggested that the image quality and contrast of the bars were not easily parsed to provide the information required.
So I turned my attention to the Watchmen wireless link which communicates to the receiver over the 433 Mhz ISM band which means it is possible to intercept that communication with a Software Defined Radio (SDR) and hopefully interpret the data to get a reading.
To do this requires a USB SDR radio with a compatible chipset for linux drivers and the SDR library. I found the ideal low-cost dongle is based upon RTL2832U combined with a tuner e.g. R860. After reading the resources on the excellent RTL-SDR.com site and finding they sell their own USB radio, I opted to support them by purchasing their slightly more expensive official version from Techofix.
Once I have established if I am able to record the tank sensor readings I will look to integrating it to my OpenWRT router.
Related links: