This new technique to compress the time series data collected by my home automation system seems to be working really well.
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.
A probabilistic approach to home automation models the probability that each room is occupied and how many people are in that room.
A statistical approach to understanding which rooms are occupied in a smart house
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.
Understanding the many different 'states' a house can have is critical to creating great home automation
Some interesting charts from the gigabytes of data my home automation system produces
My investigations into using iBeacons for home automation
My notes on the iBeacon meetup in Seattle held in January 2015
Using nodes and links to represent a home and all the devices in it
Using n-gram analysis to spot patterns in sensor activations
Building a Xamarin Forms application to control my home automation system
Maybe it should be called the Internet of Hubs instead
Multicolored LEDs can convey a lot of information in a small space
The diminutive Arduino boards include a powerful transmitter/receiver
POSTing data to a home automation system from Arduino devices
An experiment to measure every aspect of an HVAC / boiler system
A novel approach to adding history to variables in a programming language
My talk to the Seattle Quantified Self meetup
Some new features for my home automation using an Android phone
Connecting our dog into the home automation
A review of the now defunct GreenGoose sensor system
My favorite home automation features for Halloween
Running conduit can be expensive but maybe you don't need one to every room
Over 15 years of experimentation with home automation
A collection of videos about my smart home efforts