Someone recently asked me what the top features are in my home
automation system. That's a tough question, I have several favorites and
there are so many features in there already or under development. But,
here's a current list of some of my favorites:
Lights turn themselves off automatically - saves 40% on electricity usage
Lights turn on ahead of you at night as you walk around
Intelligent heating and A/C control (based on actual and expected occupancy, ‘optimum start’, weather forecast and local thermostat control)
Monitor house from anywhere, see at a glance what’s happening
Play music, news, podcasts, … in any room or zone
House speaks: caller ID, alarm clock, reminders, missed calls, weather forecast, … with professional quality ducking of background music
Automatic phone book learns the name of everyone who calls
Chat interface with natural language control: understands complex sentences like “who called last week on Friday after 4pm”, tells you what’s happening (calls, cars, …)
Calendar integration to record what happened and accept future instructions
Turn TV down or off remotely ("dinner’s ready" feature)
House can sense what’s happening and act accordingly: different behavior for away on vacation, not-occupied, occupied, visitors staying over, party
House generates a local, sports-specific weather forecast and alerts when there’s fresh snow, pass closures, really bad traffic
House can explain what it did and why it did it
Programming features for defining new behavior based on events, times, past history, forecasts, …
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.
One way to reduce the volume of sensor data is to remove redundant points. In a system with timestamped data recorded on an irregular interval we can achieve this by removing co-linear points.
Home automation systems need to respond to events in the real world. Sometimes it's an analog value, sometimes it's binary, rarely is it clean and not susceptible to problems. Let's discuss some of the ways to convert these inputs into actions.
Another super useful function for handling sensor data and converting to probabilities is the logistic function 1/(1+e^-x). Using this you can easily map values onto a 0.0-1.0 probability range.
In a home automation system we often want to convert a measurement into a probability. The ATAN curve is one of my favorite curves for this as it's easy to map overything onto a 0.0-1.0 range.
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.