The Blog of Ian Mercer.
Related Stories
Time Series Data Compression
This new technique to compress the time series data collected by my home automation system seems to be working really well.
Home Automation
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".
Digital Twins are never identical
Digital Twin are an online representation of a real world object, a copy of its properties in the digital world and a way to send updated and commands to it. In effect I've been making them for years but now they have a trendy name.
Home Automation Sensors
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.
Why smarthomes are hard
Why automated learning is hard for a smart home. The perils of over-fitting, under-fitting and how the general unpredictable nature of life makes it hard to build a system that learns your behavior.
Collinearity test for sensor data compression
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.
Event blocks
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.
Logistic function - convert values to probabilities
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.
ATAN curve for probabilities
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.
Home Construction Advice
Several years ago we did a major remodel. I did all of the finish electrical myself and supervised all of the rough-in electrical. I also put in all of the electrical system and water in our barn. I have opinions ...
T-Mobile home internet
I'm testing a T-Mobile Home Internet device as a backup to XFinity and a way to offload half our monthly traffic to avoid the XFinity 1.2TB cap
Probabilistic Home Automation
A probabilistic approach to home automation models the probability that each room is occupied and how many people are in that room.
Multiple hypothesis tracking
A statistical approach to understanding which rooms are occupied in a smart house
A state machine for lighting control
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.
Home Automation States
Understanding the many different 'states' a house can have is critical to creating great home automation
Graphing gigabytes of home automation data with tableau
Some interesting charts from the gigabytes of data my home automation system produces
iBeacon meetup in Seattle - January 2015
My notes on the iBeacon meetup in Seattle held in January 2015
Home Automation Systems as a Graph
Using nodes and links to represent a home and all the devices in it
N-Gram Analysis of Sensor Events in Home Automation
Using n-gram analysis to spot patterns in sensor activations
Xamarin Forms Application For Home Automation
Building a Xamarin Forms application to control my home automation system
Showing home status with just a single RGB LED
Multicolored LEDs can convey a lot of information in a small space
A wireless sensor network using Moteino boards
The diminutive Arduino boards include a powerful transmitter/receiver
JSON Patch - a C# implementation
A RESTful API for sensor data
POSTing data to a home automation system from Arduino devices
VariableWithHistory - making persistence invisible, making history visible
A novel approach to adding history to variables in a programming language
A Quantified House - My Talk to the Seattle Quantified Self Meetup
My talk to the Seattle Quantified Self meetup
Integrating an Android phone into my home automation system
Some new features for my home automation using an Android phone
Before there was the web there was BeebTel
Just thought I should mention that I built a web-like system before the web existed
My first programme [sic]
At the risk of looking seriously old, here's something found on a paper tape
Web site crawler and link checker (free)
What does a Smart House do at Halloween?
My favorite home automation features for Halloween
Home Automation Block Diagram
Elliott 803 - An Early Computer
World's Smartest House Demonstration
Looking forward to the new year and our new datacenter
Historical note about moving my servers into a datacenter
Future proof your home with a new conduit system?
Running conduit can be expensive but maybe you don't need one to every room
It's all about disk speed
Why disk speed is the most critical aspect for most modern PCs and servers
Comcast woes and a new monitoring utility
Monitoring a cable modem using its HTML management interface
Core duo desktop machine runs cool
Preparing for death
A friend died last year, it wasn't unexpected. He left a lot for his friends to cleanup. Maybe these notes can help someone else prepare better.