The Blog of Ian Mercer.

The Internet of Hubs (and things)

Cover Image for The Internet of Hubs (and things)

Over the past year many large companies have been scrambling to jump on board the so-called ‘Internet of Things’ bandwagon and many small companies have launched new internet connected devices. Sadly, based on my decade plus of experience connecting devices to my home automation system I have to report that there are many misguided ideas going around.

People are promoting ideas that, in the long-run, are either far too simplistic, simply not interesting, or downright annoying. I watch product managers (with no real smarts in their own homes) explaining scenarios that I’ve tried, found to be utterly pointless (either personally or with input from family and friends experiencing them), and have since removed from my home automation system.

My voyage has been motivated not just by trying to figure out what’s possible but equally what features are compelling not just immediately but after months or years of use.

Maybe someone can learn from these comments and we can move more quickly to scenarios that really matter and features that really work in a way that improves lives instead of adding ever more alerts that we don’t need to our already over-interrupted lives.

Here's my top ten Internet Of Things fallacies:

1) Devices will talk directly to each other.

A typical news story about the internet of things proposes a scenario with one sensor (e.g. a garage door switch) telling one light to come on. In reality the appropriate decision to turn a light on (or off) is far more complex. It might involve multiple occupancy sensors including motion and doors; it might be sensitive to the time of day; it might take into account what state the house is in (party, vacation mode, …); it might even consider how bright it is outside; and it might rely on vast quantities of stored history that are needed for it to learn effectively which lights to turn on in which circumstances. You will instead have one or more hubs that concentrate data from multiple sensors, that store that data, that execute complex rules, and which then control multiple devices.

It isn’t going to be an “internet of things”, more an“internet of hubs talking to things”.

2) One protocol to rule them all

These hubs will often use protocols other than IP to talk to the sensors and they will use wireless technology other than Wifi in order to punch through 1,000 feet of space and walls. In my own home there are at least eight different types of hardware connection including three different wireless frequencies (2.4GHz, 900Mhz and 433Mhz) and even more protocols flowing across them.

Worse, many of these proposed #iot protocol standards have no concept of metadata. We need standards that allow rich metadata for every sensor so that they can be discovered and incorporated into the algorithms that will run our smart houses. Metadata such as the type of sensor, its location, its distance to other nearby sensors and metadata about the home itself (rooms, floors, connections between rooms, audio pathways, visual pathways, …) will be necessary in order to ‘do the right thing’ autonomously and without complex programming.

It’s going to be a polyglot world for a long-time to come and home automation hubs need to communicate over many different protocols.

3) No home will need more than 256 devices.

Yes, amazingly, in 2014 I’ve seen proposals for protocols that allow only 256 devices per home and product managers explaining how this will be sufficient: "Scalable to connect 250+ devices into a single network supporting multiple hops”. 256 devices wasn’t sufficient back in the days of X10 and it still isn’t. Our house is already well beyond 256 devices and the number grows every month.

4) Logic for home automation will be simple If-This-Then-That type logic

Many vendors are claiming that we’ll be programming our houses with simple if-this-then-that type logic. In reality, to do a great job, the logic for even a single light coming in is vastly more complex. Frustration with the home automation software available at the time when I started down this path was precisely because that's all they could do then. I developed my ‘Sequential Logic Blocks’ technology (akin to Rx but with persistence) to move beyond the simplistic approach. Take the example of a bathroom light: the logic that decides it should come on involves the sensors in the room next to it, the door sensor, the motion sensors in it, the light level outside and the time of day. And it doesn’t just come on, it comes on at a brightness level that’s time of day appropriate because nobody wants to be blinded by a light at 100% in the middle of the night.

5) All the logic can live in the cloud

In reality, when you open a door you expect the light to come on within 100ms. Anything more than that is noticeable. If all sensor data is sent to the cloud and then the signal is sent back you are already into the realm of 'this feels slow'. I've upgraded my home automation server three times over the years and finally have a responsive system running on a Core-i7 Intel NUC.

6) No need to store data, just compute it using data-flow approaches (with no persistence)

In reality, to do a great job the home needs a lot of historical data, not just days or weeks, but months or years worth of data. Only with this volume of data can we start to use machine learning to learn all the possible scenarios that can occur and how the house needs to adjust its behavior. Even after 10 years I'm finding new scenarios that create unexpected behavior - like the arrival of our new puppy and 3AM trips to the garden.

7) All the data can live in the cloud

Maybe some day this will be true, but today this would be cost prohibitive even for the data I'm accumulating today. Monthly storage costs for the data I already have would be >$20/month, and that's S3 pricing not some indexed, NO-SQL database in the cloud. And, even when you do have all the data in the cloud, you will still need to store recent state locally to allow rapid decisions (see #5).

8) Users will program their homes at all

Home Automation has always been a hobbyist, hacker -type activity. If the installation involves coding (even fairly simple coding), then most people are not going to do it.

What's needed instead is vastly more complex algorithms using machine learning that can produce the desired results with relatively little user input.

9) Your house will alert you constantly to what’s happening

I saw a video recently where the house speaks the weather when you open a cupboard door in the kitchen. This is one of the many 'alert' or 'notification' scenarios I see vendors touting all the time and it honestly isn't very interesting, in fact, it's really rather annoying. There are also countless Kickstarter projects that will notify your smartphone when a garage door opens or such-like.

I've tried announcements like this, and notifications for simple events, and after a while they have all been turned off. a) Announcing the weather in detail isn't interesting most days - my house might explain the weather as "same as yesterday" which is all you need to know; b) If the weather is the same as yesterday you really don't need to know; c) Other people will open the cupboard door and be surprised by this announcement (cleaners, visitors, …).

The ideal home automation system only alerts you when something unusual happens and to do that it needs historical data and smarter logic.

10) Bleeping, binging or other noises are suitable alerts

No, no and no. The ideal alert noise is a noise that you will recognize but that your friends wouldn't even hear if they were over. A subtle bird tweeting, an owl hooting, or no sound at all, just a glanceable RGB LED projecting onto a wall are all better ways to communicate alerts.

The ideal home automation system will blend into the fabric of the house itself giving subtle cues without adding to the ‘notification-noise’ already drowning out our thoughts.

So that's my top ten. There's a lot more detail behind each of these and a lot more ideas for what home automation systems need to look like to be successful. There are also many anecdotes to tell along the way, like the time Google crawled my house and turned every light on and off, one-by-one.

I've had the opportunity to consult with at least one of the largest consumer electronics companies on the world on this topic, I have a data-sharing partnership with some of the top researchers in this field, and I've also spoken at some local meetups about my work as I continually strive to improve what I believe is probably the "World's Smartest House".

Related Stories

Cover Image for Time Series Data Compression

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.

Ian Mercer
Ian Mercer
Cover Image for Home Automation

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".

Ian Mercer
Ian Mercer
Cover Image for Bluetooth Tracking Project

Bluetooth Tracking Project

My year long Bluetooth project that won the $20,000 HCI and Microsoft competition during lockdown has continued to grow and now reliably tracks how many people are in the house and outside and can locate any device down to room level.

Ian Mercer
Ian Mercer
Cover Image for Digital Twins are never identical

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.

Ian Mercer
Ian Mercer
Cover Image for Home Automation Sensors

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.

Ian Mercer
Ian Mercer
Cover Image for Collinearity test for sensor data compression

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.

Ian Mercer
Ian Mercer
Cover Image for 3d Printed ESP32 Brick

3d Printed ESP32 Brick

ESP32 provides a great platform for sensors around the house but by the time you've added a USB power brick, cable and enclosure it's quite messy. I wanted a device that I could just plug in with no exposed wires and no mounting needed so I designed one in OpenSCAD.

Ian Mercer
Ian Mercer
Cover Image for Bluetooth Sensing for Home Automation

Bluetooth Sensing for Home Automation

Bluetooth sensing for home automation is a great proxy for people counting as it can detect and locate each cellphone in the house. iBeacons attached to tools, cars and pets can provide a 'find my anything' feature too.

Ian Mercer
Ian Mercer
Cover Image for Microwave Doppler Sensors (RCWL-0516)

Microwave Doppler Sensors (RCWL-0516)

Microwave doppler sensors can be found in some alarm sensors but there are also available very cheaply as a separate component. They offer exceptional range but suffer from false triggers requiring a probailistic approach to people sensing.

Ian Mercer
Ian Mercer
Cover Image for Optical-beam sensors

Optical-beam sensors

Optical-beam sensors are reliable and can cover a long-distance such as across a garage or aisle-way. When they include multiple-beams they have good false-trigger rejection.

Ian Mercer
Ian Mercer
Cover Image for PIR Sensors for Home Automation

PIR Sensors for Home Automation

PIR sensors are cheap and easy to use but they suffer from slow response times and low repeat rates.

Ian Mercer
Ian Mercer
Cover Image for Strain-gauges

Strain-gauges

Strain-gauges are my top-rated sensor for home automation because they are invisible, reliable and can be tuned to detect people and ignore pets.

Ian Mercer
Ian Mercer
Cover Image for Event blocks

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.

Ian Mercer
Ian Mercer
Cover Image for Logistic function - convert values to probabilities

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.

Ian Mercer
Ian Mercer
Cover Image for ATAN curve for probabilities

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.

Ian Mercer
Ian Mercer
Cover Image for Bluetooth

Bluetooth

One of my inventions recently won a $20k global competition for applications that could help in a pandemic. It uses Bluetooth to count people.

Ian Mercer
Ian Mercer
Cover Image for Probabilistic Home Automation

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.

Ian Mercer
Ian Mercer
Cover Image for Multiple hypothesis tracking

Multiple hypothesis tracking

A statistical approach to understanding which rooms are occupied in a smart house

Ian Mercer
Ian Mercer
Cover Image for A state machine for lighting control

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.

Ian Mercer
Ian Mercer
Cover Image for Home Automation States

Home Automation States

Understanding the many different 'states' a house can have is critical to creating great home automation

Ian Mercer
Ian Mercer
Cover Image for Graphing gigabytes of home automation data with tableau

Graphing gigabytes of home automation data with tableau

Some interesting charts from the gigabytes of data my home automation system produces

Ian Mercer
Ian Mercer
Cover Image for iBeacons for Home Automation

iBeacons for Home Automation

My investigations into using iBeacons for home automation

Ian Mercer
Ian Mercer
Cover Image for iBeacon meetup in Seattle - January 2015

iBeacon meetup in Seattle - January 2015

My notes on the iBeacon meetup in Seattle held in January 2015

Ian Mercer
Ian Mercer
Cover Image for Home Automation Systems as a Graph

Home Automation Systems as a Graph

Using nodes and links to represent a home and all the devices in it

Ian Mercer
Ian Mercer
Cover Image for N-Gram Analysis of Sensor Events in Home Automation

N-Gram Analysis of Sensor Events in Home Automation

Using n-gram analysis to spot patterns in sensor activations

Ian Mercer
Ian Mercer
Cover Image for Xamarin Forms Application For Home Automation

Xamarin Forms Application For Home Automation

Building a Xamarin Forms application to control my home automation system

Ian Mercer
Ian Mercer
Cover Image for Showing home status with just a single RGB LED

Showing home status with just a single RGB LED

Multicolored LEDs can convey a lot of information in a small space

Ian Mercer
Ian Mercer
Cover Image for A wireless sensor network using Moteino boards

A wireless sensor network using Moteino boards

The diminutive Arduino boards include a powerful transmitter/receiver

Ian Mercer
Ian Mercer
Cover Image for The home as a user interface

The home as a user interface

Ian Mercer
Ian Mercer

A RESTful API for sensor data

POSTing data to a home automation system from Arduino devices

Ian Mercer
Ian Mercer
Cover Image for The Internet of Boilers

The Internet of Boilers

An experiment to measure every aspect of an HVAC / boiler system

Ian Mercer
Ian Mercer

VariableWithHistory - making persistence invisible, making history visible

A novel approach to adding history to variables in a programming language

Ian Mercer
Ian Mercer
Cover Image for A Quantified House - My Talk to the Seattle Quantified Self Meetup

A Quantified House - My Talk to the Seattle Quantified Self Meetup

My talk to the Seattle Quantified Self meetup

Ian Mercer
Ian Mercer

Integrating an Android phone into my home automation system

Some new features for my home automation using an Android phone

Ian Mercer
Ian Mercer
Cover Image for The Internet of Dogs

The Internet of Dogs

Connecting our dog into the home automation

Ian Mercer
Ian Mercer
Cover Image for GreenGoose Review

GreenGoose Review

A review of the now defunct GreenGoose sensor system

Ian Mercer
Ian Mercer
Cover Image for Home power meters revisited

Home power meters revisited

Ian Mercer
Ian Mercer
Cover Image for Home Automation Calendar Integration

Home Automation Calendar Integration

Ian Mercer
Ian Mercer

Smart home energy savings - update for 2010

Ian Mercer
Ian Mercer
Cover Image for A smart power strip

A smart power strip

Ian Mercer
Ian Mercer
Cover Image for What does a Smart House do at Halloween?

What does a Smart House do at Halloween?

My favorite home automation features for Halloween

Ian Mercer
Ian Mercer
Cover Image for Home Automation Top Features

Home Automation Top Features

Ian Mercer
Ian Mercer
Cover Image for Weather Forecasting for Home Automation

Weather Forecasting for Home Automation

Ian Mercer
Ian Mercer
Cover Image for How can I tell if my house is smart?

How can I tell if my house is smart?

Ian Mercer
Ian Mercer

Home Automation Block Diagram

Ian Mercer
Ian Mercer

World's Smartest House Demonstration

Ian Mercer
Ian Mercer

Future proof your home with a new conduit system?

Running conduit can be expensive but maybe you don't need one to every room

Ian Mercer
Ian Mercer
Cover Image for New Home Automation Server

New Home Automation Server

Ian Mercer
Ian Mercer
Cover Image for World's Smartest House

World's Smartest House

Over 15 years of experimentation with home automation

Ian Mercer
Ian Mercer
Cover Image for HX711 Strain Gauge Pulsor Sensors

HX711 Strain Gauge Pulsor Sensors

Using Pulsor sensors with an HX711 for homeautomation.

Ian Mercer
Ian Mercer
Cover Image for World's Smartest House Videos

World's Smartest House Videos

A collection of videos about my smart home efforts

Ian Mercer
Ian Mercer
Cover Image for Pressure Sensors for Home Automation

Pressure Sensors for Home Automation

Pressure sensors can detect HVAC system operation and could potentially detect clogged filters.

Ian Mercer
Ian Mercer