Home Automation isn’t new – the X10 control system was available in the mid-1970s and it is still available today. In the past few years, there has been an explosion of growth in the Home Automation space with a number of competing technologies and device manufacturers. The availability of cheap “maker boards” like the Raspberry Pi make it easy to make your own devices, as well. This post is going to focus on commercially available options to automate your home.
The core concept of IoT and Home Automation is the interconnection of intelligent devices, or “things.” Things communicate with one another and a central controller/hub via Bluetooth, proprietary radio protocols, infrared, WiFi, power lines, or Ethernet.
Z Wave is one of the more popular protocols used in consumer home automation devices. There are others, including Zigbee, that are competitive in features and functionality. Mixing devices designed for multiple of these protocols can be problematic, unless you choose a hub that speaks the multiple protocols and its software is designed to seamlessly integrate the things as one network.
The market is further fragmented by companies that implement devices that require their own hub and protocols. Phillips Hue has its own bridge, so does Iris (Lowes). You’re going to have to adopt one of these and/or use a hub that speaks multiple protocols.
By smart home, I mean you do a lot more than just control your lights and fans with voice commands or from your phone. A smart home has some intelligence to it that takes advantage of the ability to control the things in the home. Consider:
- Turn on the low voltage lights outside at sunset and turn them off at sunrise. With a mechanical timer, you have to constantly adjust it, or your lights will turn on hours before sunset.
- Detect if windows and/or doors are open and refuse to turn on the A/C until they’re closed. After all, what’s the point in cooling the back yard?
- A button on your nightstand that turns off everything in the house when you press it at night. It can even lock your doors automatically.
- When someone approaches the front door, the porch light turns on, as does the entryway light.
- When you use the bathroom at night, the lights automatically come on at 20% brightness (night light), but during the day they come on at 100%.
- Watch TV means turn on the TV and turn off the lights. Pause TV means pause the TV and turn on the lights. Resume TV means unpause the TV and turn off the lights again.
- While you are driving your car on the way home, your A/C or heat turns on automatically so you arrive to a comfortable house.
These are just a few ideas – you’re likely to come up with ideas of your own.
A good suite of technologies to look at are SmartThings by Samsung, Nest Thermostat, Ring Doorbell, Logitech Harmony, and Amazon Echo. The integration of these and other devices in your home are the beginnings of making yours a smart home. You will be able to verbally control it all via the Echo, and you will be able to control your SmartThings connected things via your Harmony remote.
A word about what qualifies all of this as the “Internet of Things” is the integration of most of these technologies with the cloud. Nest has its own API and cloud service, so does SmartThings, so does Logitech Harmony, and so does Ring. Among the downsides of reliance on the cloud are that your automation stops working when your Internet connection is down and that hackers might be able to hack your home.
Security is a high priority for the companies in the IoT space, but you should proceed with caution. Do keep in mind that once you are sending all sorts of information about what your smart home is doing, someone could (in theory) be watching you turn on and off your lights and TV.
SmartThings by Samsung
Samsung is one of the leaders in the home automation field with its SmartThings product line. The SmartThings hub costs US$73.49 on Amazon as of this writing. It speaks both Zigbee and Z Wave and does a really good job of allowing you to use a mix of the device types. The company is huge and supports the product line well.
The core functionality of the SmartThings hub is to control things. The things must be paired with the hub in a one time setup procedure. You can add things over time and pair them into your network, and you can remove things and unpair them as well. The kinds of things you would add to SmartThings are switches, dimmers, fan switches, thermostats, wall outlets, motion sensors, plugs, and so on.
For my home, I invested in GE Z Wave devices. I never did any electrician type work before, but I found a few videos on YouTube that explained how to replace existing switches, and the Z Wave devices are roughly the size of regular switches (but deeper). It takes me a few minutes to replace a switch, including shutting off the power at the circuit breaker box while I do the work. GE makes an appliance module that simply plugs into an outlet and you plug your appliance into that – no construction required.
Pairing a device is done using the SmartThings mobile app. The app communicates with the hub and the hub scans the radio network for new devices and lets you pair and name them. Once paired, you can use the app to turn on and off any of the switches, control how dim a dimmer is set to, etc.
Naming your things is an important consideration when setting up your network. I have several ceiling fans with GE Z Wave Fan Controllers; they can’t share the same name “ceiling fan!” I named the fan I use the most “ceiling fan” and the fan in the bedroom, “bedroom fan.”
The names become even more important when you add in Amazon Echo integration (works with the SmartThings hub). With the integration enabled, I’m able to say, “Alexa, turn on ceiling fan” and the fan turns on. I can also say, “Alexa, set ceiling fan to 50%” and it turns on and sets the speed to medium.
The SmartThings app allows you to set up “automations” – a reasonably powerful system for scripting intelligent programs. For example, you can set up a “good night” automation script that turns off all the lights and fans in the house. You can then say “Alexa, run good night” to run that script.
Scripting is especially powerful when you start adding motion detectors, temperature sensors, door sensors and the like. A motion detector lets you automate turning on lights when motion is detected and turn them off when motion is no longer detected. Or refuse to turn on the A/C if any of the door and/or window sensors are open. You may want triggers to have a different effect if there is someone home or if nobody is home.
SmartThings may be the easiest way to get started making yours a smart home. I found it to be quite powerful and able to do most of what I wanted to accomplish. The software is open source, and there’s a vibrant community of people who write plugins for it and who talk about how to accomplish what you want.
The biggest criticism I have of SmartThings is that it does have its limitations that ultimately made it only a part of my home automation solution.
A Nest Thermostat might be the first smart thing you add to a home. If you implement nothing else, you will at least benefit from its learning and intelligent operation of your heat and A/C. You will be able to use the Nest app on your phone to control the thermostat from anywhere in the world.
As part of a larger system, the thermostat can be controlled through automation scripts (e.g. set thermostat to 72 at 9PM for sleeping), and it reports a lot of information that can be used as triggers for the controller. For example, the thermostat reports indoor temperature, humidity, outdoor temperature, presence (people are home or away), geofencing (people are on their way home), and more.
If you want to integrate Nest into a larger setup, you will end up disabling its learning feature and let the automation controller tell Nest what to do. From your couch, you will be able to use your Harmony remote to adjust the temperature – you don’t want Nest’s learning algorithms to also adjust the temperature, against your will.
Nest isn’t the only choice for thermostats, but it is an excellent choice for a smart control. You may also want to add more Nest products to your system, including their fire and CO2 sensors, cameras, and security system.
NOTE: Google has retired its “Works with Nest” program, so few (if any) home automation solutions will be able to support it.
The Ring Doorbell is trivial to mount by your front door. Every few months, you will unmount it and plug it into a USB cord to recharge it. It comes with a special tool and mounting screws to make it difficult for someone to mess with it.
The Doorbell itself integrates with the Ring cloud service. When someone approaches the door, you get notifications on your mobile devices. Same as when someone rings the doorbell. No matter where you are in the world, you can answer the ring or view a video recording of the source of the motion near the door. When you answer the ring, you see a video of the person at the door and you can speak to and hear the person (via your mobile device). If you’re out and about and your Amazon order is being delivered, you can instruct the delivery person to leave the package behind the bushes. For $3/month, Ring will store recordings in the cloud for 30 days, and you can recall and view these from your mobile device.
As part of a larger home automation system, the Ring Doorbell acts as a button and motion sensor. These things can be used as triggers in the SmartThings system. You can set it up so when motion is detected, the porch light turns on.
Logitech Harmony Remote and Hub
Logitech makes a standalone hub that can act like a universal remote for your home entertainment system; you can also pair a Logitech remote with the hub, or purchase a hub/remote combination.
Set up of the hub and remote is done via the Harmony app on your mobile device. You must create an account in the Harmony cloud to save all your settings and to distribute them across your remotes and mobile devices. Once you have an account, you add devices, like your TV, Audio Receiver, or Apple TV, and then you assign them to activities like “Watch TV” or “Watch Apple TV.”
The Harmony App also can link to your SmartThings account and you can then control your switches and fans from your remote control. You can also link to your Nest account and control the thermostat from the remote. The Harmony app allows you to group your things by “groups” (like “TV Room” or “Bedroom”), and you can do simple automations like having the lights go out when you turn on the TV.
Your Harmony Hub can be linked to Amazon Echo as well, which allows you to activate your activities with your voice, allowing for command such as “Alexa turn on the TV,” “Alexa turn on CBS.”
Amazon Echo (Alexa)
The Amazon Echo is the first of the table top microphone/speaker control systems. Aside from providing you personal assistant services (add to grocery list, set timers, set alarms, ask questions), Alexa can be linked to many other cloud services and can control those. These services include Harmony, Ring, Nest, and SmartThings.
Everything you do with Alexa goes through Amazon’s cloud. If your Internet is down, Alexa won’t work; you won’t be able to use it to control any of your other devices.
The Amazon Alexa app lets you connect all kinds of services to your Alexa and assign things to groups. If you assign all the SmartThings things to a group named “Bedroom,” you can then say “Alexa Bedroom Off” and all those things in the bedroom will turn off.
Home Automation as a Mash Up
The biggest problem with home automation these days is the lack of coherent integration. Samsung tries to be the controller of your smart home with its SmartThings Hub, Amazon also tries to be the controller, as does Harmony, as do all the rest. No one of them does it all, and all of them are highly tied to the cloud.
Ultimately you need a hub that is the controller of all the other hubs. There are a number of commercial and open source projects that try to be that hub. Commercial solutions include Indigo Domotics, Homeseer, and several others. Open source projects include OpenHab, Home Assistant, and Domoticz. I don’t mean to limit the scope of what’s out there, only to provide a list to get you started in your investigation.
If you are going to use one of these solutions, you may have to dig in and write code in a language the solution requires. For example, OpenHab is written in Java and has its own scheme of configuration files (a language in its own right). Home Assistant is written in Python, and Domoticz is written in C++. If the software doesn’t do exactly what you want, you will have to modify the source, or get someone else in the community to modify the source for you. A commercial solution may not allow you to write code at all, and you may be at the mercy of the company’s developers to get new features.
Or you can roll your own, which is what many people do.
- The Benefits and Drawbacks of Remote Work
When you hear "remote work" do you think of "dream job" and the ability to…
- Add Flexibility to Automation Tests with Protractor
If you’re willing to read the API docs on it and do a little experimenting,…