Home Monitor Update

It has been about three months since I first got the NetKernel based home monitor system live. This post is an update about how it has performed and how it has evolved.


The major issues over this period have been hardware related. Loose connections where plentiful until I decided to commit the circuitry to a PCB, place it in a box and attach proper connectors. The rain sensor has been a real problem. I have tried several designs but failed to find something that performs well. (It must be some kind of transducer that will fit through a 2cm x 1cm hole in the roof tiles, vary in resistance between 0 and 200KOhms and not be affected by wind and light and offer reasonable response times to rain starting and stopping- ideally with some dynamic range related to heaviness of rain.) Let me know if you have any great ideas that are cheap!

On the software front the only issue was the re-connect stability of HSQLDB when running on Win98. Sometimes after a reboot (caused by a blackout) HSQLDB thought its DB was locked by another process and the only way I found out of it was to recreate the database loosing all data. Since updating to the latest version of HSQLDB (v1.7.3) I have had no more problems.

New Features

I received a fantastic Christmas present from pjr- a set of four wireless controlled power sockets. Within a week I had built a parallel port controller which interfaced, using optical isolators, to the membrane keyboard of the remote. Then I wrote a NetKernel accessor to pulse the parallel port and hence the buttons based on an XML document input. Then with a simple UI I could control various parts of the house over the Net!

This is when security became critical! So I created a password protected zone within the UI and placed a secure management console in there. Manually turning on and off lights etc whilst away because a bit of a chore so I had an idea to create a script that would run every five minutes- this script could read the home monitor sensors and control the power sockets. I created a UI to allow remote editing of this script from the secure management console.

This is where it is quite exciting. I can now script actions like:

turn on lights when someone arrives home randomly turn lights/radio on and off when no one is at home and it is dark turn on emergency heating if it gets too cold inside Whatever next?…


What thing that I want to do is to process the historical data to produce charts of number of hours of occupancy, sunlight, rain and max/min indoor and outdoor temperatures. Graphs over a year would be very interesting…