Some time ago I was having an issue with my cable modem connection. The
connection was intermittent at certain times of day but fine otherwise.
Calling the cable company with an intermittent problem is pointless:
you get the standard answer "But it's working fine now".
So, since I have the world's smartest home automation system running in
my closet it was trivial to add a quick HTML scraper to read the cable
modem statistics every few minutes, persist them to storage and then add
some graphs showing how they vary over time.
The .NET Chart Control is what I'm using now to render these charts.
I've tried Google charts, Open Flash Charts and even my own pure-CSS
chart generator. The .NET Chart control has the best options at the
moment and it's a plain JPG file so it will work on any browser.
After a few days I had a better picture as to how the signal strength
and signal to noise ratio was varying over time and was quickly able to
realize that it was in fact weather related. Waterproofing the cable
connections cured the problem.
I've been working on home automation for over 15 years and I'm close to achieving my goal which is a house that understands where everyone is at all times, can predict where you are going next and can control lighting, heating and other systems without you having to do or say anything. That's a true "smart home".
An overview of the many sensors I've experimented with for home automation including my favorite under-floor strain gauge, through all the usual PIR, beam and contact sensors to some more esoteric devices like an 8x8 thermal camera.
An if-this-then-that style rules machine is insufficient for lighting control. This state machine accomplishes 90% of the correct behavior for a light that is controlled automatically and manually in a home automation system.