Marshall T. Rose was recently at the O’Reilly Video Studio to discuss The Thing System, an open-source solution for both home automation and controlling the internet of things. It’s currently in alpha, but already boasts an impressive array of functionality with devices as varied as lightbulbs and Tesla automobiles.
Where it differs from other home automation systems is in its versatility. The Thing System isn’t a stand-alone entity, but one that can adapt to a variety of devices over several wireless protocols. Using machine learning, it will also have the capability to anticipate the user’s behaviors, turning it into a true piece of assistive tech rather than a glorified remote control.
Rose is co-founder of The Thing System with MAKE’s own Alasdair Allan. I was able to chat about it in more detail with Alasdair. See the interview below.
It seems that home automation has been in the tech atmosphere for a while. Why do you think so many have failed, and what will The Thing System do to rejuvenate the technology and possibly unify existing systems?
I think that the failures are being driven by more-or-less one thing. Systems. Everyone is building a system.You have to buy their lightbulbs, switches, and thermostats. You have to buy their things, use their app, and none of their things talk to other people’s things. This means that if you don’t want to buy into their system entirely, say someone else makes a better lightbulb, then you need another system, and another app. Suddenly you have half a dozen apps, and half a dozen small boxes connected to your home network. Even within systems often times the things don’t talk to one another. It’s actually hard to build automated, autonomous systems with the current building blocks.
We seem to have turned the Internet of Things into a series of remote controls, which is okay, remote controls are actually pretty handy. But even in those systems to seem to offer more, automation is actually pretty hard. The Thing System should hopefully help to fix that. Right now the thing that connects all our things is us. We’re acting as mechanical turks in someone else’s software. If the CO2 detector in our home weather station says that the CO2 in our bedroom is getting too high, it’s us that use our smart phone to turn on our air conditioner. That’s crazy, the whole point of these things is to make our lives simpler, and that’s the point of the Thing System.
Right. It’s replacing a switch with a smart phone, which is really just another switch.
Right. Our system is designed to find all the things, whether they’re on your WiFi network, they’re talking Zigbee or Z-Wave or something more obscure, then pull all the end points for them into one place and let them talk to one another.
For instance, one of the things we wrap is the Tesla Model S. Our system, which is called the steward, sits on your home network. It knows you’re within a few miles of home so it turns up the heating (or turns on the air conditioning) so that your house is the right temperature. It knows what time of day it is, so it turns on the porch light if it’s dark, and the kitchen light. It sees your smartphone—using Bluetooth LE appear at the end of your driveway so it opens the garage door to let you drive in, and closes it behind you when you’re inside.
Later on in the evening you’re watching a movie on your Apple TV or other media device, you get up from the couch and it pauses the movie and puts the lights on in the kitchen and the bathroom. You go to the fridge and get a soda, and it turns the lights out in the bathroom. You go back to the lounge and sit down, then it turns the lights off in the kitchen and restarts the movie
All of these are simple examples– pre-cooked macros. They don’t require a lot of thought, just knowledge of what devices you have, things that should have talked to one another all along
Regarding that example: how does it know where you are in the house? Do you need your smartphone with you at all times?
Not necessarily. That’s one way to do it. But there are a range of Bluetooth LE presence sensors—the Philips InRange, the Hone, the Stick’n'Find—that can be attached to keyrings, but a phone is something we carry a lot.
You can get more creative of course, say you go away on holiday. The steward has been watching when you open and close your blinds, turn your lights on and off. You leave the house and don’t come back for few days the steward should carry on doing these things, so it looks like you’re still at home and can protect yourself from burglary. That’s a machine learning case, or what we’re calling “an apprentice” because what it’s doing looks like magic.
One of the points you come back to is using the steward to “create the magic.” When devices are interconnected in your system, what magic do you envision happening as opposed to a scenario where it’s simply a controller that discretely controls separate devices?
The steward should, as much as possible, attempt to do things for you– things you’d want to happen without your intervention. We’re currently building the tools to let that happen. So, it learns your habits.
That’s the plan. We’re strictly in a developer pre-alpha right now, but we’re building the structures that let it do that. We haven’t gotten to the stage yet where we have machine learning going on, but we’re getting close to the point where we’re going to sit down and write that. Like autocomplete for home automation?
Yes, I like the autocomplete analogy, it’s actually pretty apt. We have a few simple examples going on now. Simple things, like the getting-up-from-the-couch demo.
Putting my computer scientist hat on for a moment, these are rule-based intelligent agents, operating inside a collaborative agent system. Further down the line, you’ll see more complex systems, machine learning based systemswhere more interesting things start to happen. Where your home automation becomes anticipatory rather than responsive. However, even now we have a system-of-systems. I can sit and write a client that will let my weather station talk to my thermostat and make adjustments to my home climate on its own.
And this is what really makes it different..the fact that you can have different devices interacting with each other rather than having the user control specific things.
Absolutely. I can build things—using TSRP protocol, using Arduino, or other microcontrollers to put sensors that you can’t buy off the shelf into my home and let the off-the-shelf tools (the Nest, or INSTEON, or WeMo switched gear) respond. Right now the thing standing in the middle is us. We really shouldn’t be the one responding to alerts and notification from our things. We have enough to do
Is this primarily a user-based system, or do you plan on providing support to implement home automation, ie is this something the average user can install and set up on their own?
This is something the average user can install and set up on their own, although to be clear we’re viewing the current release as very much an alpha level developer release. We’re not claiming it’s ready for mass market, but the average user can put our system onto a Raspberry Pi (we have a disk image that makes it easy) and drop it in their home. It will find all their things, their Apple TV, Roku, Sonos, Nest, Netatmo weather station, their Philips Hue lightbulbs, their INSTEON system, their WeMo switches. All their things, and give them a simple web based UI to control them. At a more technical level we give a websocket-based interface to find, interact with and get reports from all these things. You can build clients to talk to your things very simply, but you can also build things
So if you want to schedule a time to feed your dog, you just set it up with bluetooth, xbee or what have you.
You could even schedule your dog feeding to be x minutes after sunrise because the steward knows where it is and knows the local conditions.
You have a nice list of supported devices already on your site. Do you foresee apparatus being developed that serves as intermediaries for conventional appliances? For instance, a light socket adapter that’s wireless enable so you can automate any fixture you wish?
There was one of those on Kickstarter at one point, but it morphed into a wireless-enabled microcontroller board when it failed to get funding, although the name escapes me right now
But there are already things like that. The WeMo switches for instance, which are sold in the Apple Store, are exactly like that. They plug into the wall, then you plug something into them. The INSTEON system also has similar sorts of capabilities I have followed home automation over the years and know that it really hasn’t caught on for a number of reasons. This looks promising.
Thanks, I think so too. The main reason it hasn’t caught on, at least in my opinion, is that most of the home automation solutions have made things harder to use rather than easier.
If you have to think about the state of a lightbulb before you throw a wall switch then that’s not making your life simpler.
I imagine cost is a factor too. People seem to have entire systems installed into their home. It seems that your solution allows you to add as little or as much as you want.
Yup. Locking yourself into a system is a problem. The system gets outdated, it goes out of production, and suddenly you’re locked into decaying technology.
I often think about Bill Gates and his mid 90s tech automated home.
People have been talking about “smart homes” for years, mostly this involves running miles of cabling and locking yourself into technology that’s out of date
Our system should evolve with the technology—it’s mostly software, which means you can incrementally install things– replace a lightbulb here, a switch there, or go back and replace all your lightbulbs with a different kind of lightbulb, and the rules and learning from the first lot isn’t wasted.
Photos by Gunther Kirsch