The open source smart home space is starting to make sense. While Nest, SmartThings, and others represent the big heavy hitters in the field, a number of smaller, open source solutions are helping show exactly what the home automation field is capable of. And it doesn’t just have to be controlling your thermostat. Here are five open source home automation projects we love.
BREW YOUR OWN SOLUTION
For many longtime tech fans, the phrase “homebrew” brings to mind the Homebrew Computer Club: the legendary San Francisco computer club that included Steve Jobs and Steve Wozniak among its early members.
But for software engineer Dan Watford it means something entirely different: homebrewed ales. Having recently launched into the world of homebrews, Watford decided to come up with a smart solution to deal with having batches of alcohol ruined by inconsistent temperatures.
In response he started by rigging up a DS18B20 temperature sensor to a Raspberry Pi to create an intelligent way of monitoring temperature: not just from moment to moment, but in a way that visualizes the info over time.
“Scratching your own itch was always the mantra of the open source movement, and that very much carries over to the home automation space,” Watford says. “Whatever the particular problem that you want to solve is, you don’t have to go out and find an off-the-shelf solution. It can be time-consuming, but it’s absolutely liberating.”
Having created a solution that allows him to more successfully brew ale from the comfort of his own home, Watford is now working on a way to carry out his brewing from a distance. Since he works away four nights out of every week, he’s come up with a solution that will let him control his brewing using his smartphone.
“It’s good to know what the temperature is, but I want to be able to control it as well,” he says. “To do this I’ve bought several EnerGenie power sockets, which offer a remote control module you can attach to the Raspberry Pi. My hope is that I’ll be able to create a solution that can look at what the temperature is and then operate a heater if necessary.”
IT’S A DOG’S LIFE
There are glamorous home automation projects like smartphone-controlled sous vide cookers—and then there are those that tell you where your dog pooped in the garden. The technology behind one is easy to imagine Nest acquiring for a tidy seven-figure sum, while the other is likely to remain a home hack for the foreseeable future.
That doesn’t make the second one any less useful, however.
“In the area of home automation, there are many small and some large problems that can be solved with existing technology,” says project creator Eric Tsai. “It’s actually really difficult to think of a problem that can’t be solved with a sensor and a microcontroller. The availability of cheap electronics today means that even when a commercial product exists, the equivalent DIY solution can be less expensive and more capable.”
Tsai’s poop-tracking project started out as a team competition at his local Arduino user group. Using a $35 Raspberry Pi, an Arduino, and a commonly available GPS module, he build a GPS device that attaches to his dog’s collar. The device senses when his dog goes to the toilet, by using the “tilt switch” signal to work out when the dog is holding the “poop” position for several seconds. At this point a Google Map of the poop location is automatically generated, and which can be viewed on a smartphone. A short audio clip also plays inside Tsai’s home to let him know his pet has done its business.
That’s not the only canine-related home automation project Tsai’s built. His GPS collar enables him to find his dog if it wanders off, while a temperature gauge fills him in on if his pet is too hot or too cold.
“I also have a dog barking sensor that’ll email me if my dog is barking in his kennel, and quantifies the amount of barking,” he says. “Most of the devices I build cost less than $20 in parts, and most of the hardware and software is open source and readily available. Since temperature sensors are only a couple bucks, I choose to add one to practically every device I build just in case.”
WATER WAY TO GO
When former Motorola and aerospace engineer John Schuch had one of the irrigation pipes on his property burst underground, he was shocked to receive a monthly water bill for $8,000. The experience prompted him to begin searching for a smart device that could inform him in real time of how much water he was using.
“You’d think that would be fairly easy to find, right?” he says. “I couldn’t get one anywhere. There’s a huge push to conserve water in the United States, but in many cases users are precluded from knowing exactly how much water they’ve used over any given period of time.”
Schuch’s homemade solution had to fit three criteria: The system needed to be inexpensive, it had to be easy and non-invasive to install, and it needed to be straightforward to operate. The solution he devised meant connecting a three-axis magnetometer—which is used as a compass in smartphones and tablets—to the outside of his water meter. Since there is a magnet inside every water meter, the magnetometer was able to track just how much water was moving through the meter at any moment.
From there a signal is sent—via the cloud—to a display in Schuch’s home, where it is tabulated and the information clearly presented. Making the device “smart” is the fact that Schuch has added trigger elements, which means that emails and push notifications can be sent out when certain thresholds are crossed. For example, if water consumption goes over 1,000 gallons in a 24-hour period, Schuch is alerted that there is likely a problem with their water system.
“If you were in an area where there were strict water limitations, it would be possible for the system to watch how much water you use and shut down certain elements—for example, cutting your irrigation back to half the normal amount,” he continues. “You could keep the plants alive, but shut down the system that keeps your swimming pool topped up.”
So if you’re interested in creating a solution like one of the above, where do you go? Thankfully, homespun home automation systems don’t just exist for one use case. We’re also witnessing the rise of open source home automation hubs to match the likes of Apple’s HomeKit.
By far the best known of these is OpenHAB, an attempt to establish common interfaces and APIs in a smart home space that is still heavily fragmented. Originally created by software engineer Kai Kreuzer, OpenHAB has advanced to become the most mature open source framework out there—with a passionate and growing community behind it.
“Five years ago I built myself a home,” Kreuzer says. “I wanted a home automation solution that would be fine for the next decades, rather than just a few months. “There were commercial integration systems available at the time, but I wasn’t happy to bet on just one horse. It would have made me reliant on one manufacturer or ecosystem. The only solution was to open source.”
Coding in Java and OSGi, OpenHAB was the result. It offers users a vendor- and technology-agnostic open source solution that is easy to maintain and simply extendable. That means that not only can you use OpenHAB with practically any IoT device, you can also control the end product with both dedicated iOS and Android apps, along with any computer capable of running a JVM—making Linux, Mac, or Windows all possibilities.
On top of OpenHAB’s other advantages is the fact that it can work offline—meaning that you don’t have to upload your home automation data to the cloud. “Instead of calling OpenHAB part of the Internet of Things, I like to refer to it as the Intranet of Things,” Kreuzer continues. “Your devices should interact with each other, but the data doesn’t have to leave your home.”
Newer than OpenHAB is Home Assistant, a Python 3-based home automation hub created by software engineer Paulus Schoutsen. Originally a way for Schoutsen to teach himself the Python programming language, Home Assistant has evolved into an exciting home automation platform in its own right. If getting involved with a less mature Python-based project appeals to you, it’s well worth checking out.
“It started out with me just wanting the lights to turn on when I got home at night,” Schoutsen says. “It grew from there.”
Like OpenHAB, Home Assistant doesn’t just let you create “events” that can be activated individually, but also create triggers based on “states” like the sun’s rising and setting.
“For example, I’ve rigged my system to keep track of where the sun is in the sky,” Schoutsen continues. “If Home Assistant knows that you’re at home, and the sun is below the horizon, the lights will come on. If you want to create different abstractions for certain conditions, that’s also very possible to do.”
Currently Schoutsen uses Home Assistant to control a combination of Philips Hue lights (which turn on and off as people leave the house) along with WeMo switches and Google Chromecasts. By opening the code up to other users, however, he hopes to see other APIs added.
“Because there are currently no open standards, smart device makers have to reach out to each vendor in turn to get support,” he says. “That’s something we can work on changing. I’ve so far integrated all of the devices I have at home, but by putting Home Assistant out there I’m hoping that other people will pick it up and take it in directions I never considered. That’s my goal. And the response has been great so far.”