Smart-Home Lightning Hacks
Kyle Rankin occasionally uses the "lightning hacks" format for his Hack and / LJ column when he has a bunch of neat topics to cover that wouldn't be enough for a complete article on their own. Thinking along those lines for this article, I figured it would be great to cover various home-automation stuff I do. Not only is it fun to share ideas, but if I make a list of all the cool things I'm currently doing, it will make it easier to compare the functionality of open-source options I'd like to explore next. If you haven't been dipping your toes into the world of home automation, maybe some of these hacks will change your mind.
Most home-automation ideas can be implemented in multiple ways. In fact, I'm counting on that as I look into less-proprietary methods in the near future. But right now, I'm using a Samsung SmartThings hub. Yes, it is proprietary, but Samsung really has opened up the API and allowed developers to create device drivers and apps to customize the platform. I think SmartThings is the most feature-complete solution for home automation right now, but it does have a few frustrations. The most annoying is that it requires a constant connection to the internet in order to function. Most folks are frustrated with the inherent privacy concerns of home automation taking place in the cloud, and that's a big problem. For me, the more frustrating aspect is the effect shoddy internet service has on a home. If the internet goes down, so does 90% of my house! I have a few workarounds, but I know that a solid (not fast) internet connection is vital if your solution is cloud-based like SmartThings.
Anyway, my setup consists of the following:
Having both Amazon Echo and Google Home isn't something I encourage; it's just that I have a habit of trying new technology, and they are both so amazing, I haven't yet chosen one over the other. Thankfully, they're pretty happy to function together.
In my home, my office is all the way at the back of the house. In most homes, that's not a big deal, but in my case, my office is purposefully separate from the main living area so that when I'm recording videos, the house sounds don't interrupt. During the day, I'm usually home working alone, so I never know if a package has been delivered. The mailman could kick the front door down, and I'd never hear it in my office. My solution was to install a doorbell with a label about my office being all the way in the back (Figure 1), but sadly, most delivery folks just drop and run. So I decided to automate.
The main device for detecting motion on the porch is, not surprisingly, a motion detector. I'm using an older Samsung motion detector, but if you're considering buying something for a hack like this, look at the reviews online. Samsung's latest upgrade gets many poor reviews. I'm using the Samsung model because it came with my hub, but I've had incredibly good luck with the Aeotec Multisensor (Figure 2).
Sensing motion is only the first step, of course, because I need to be notified when someone is on my front porch. My first solution was to have SmartThings trigger a text-to-speech message on the Sonos speaker in my office. The problem with that is that in the middle of recording videos, my speaker would blare "there's someone on your front porch, master", which was funny, but also frustrating during recording. After a half day of that, I switched to a push notification from SmartThings. I'd see it on my phone, but it wouldn't interrupt what I was doing.
I'm still working on a few issues with my mailman trap. After I adjusted the sensitivity (an app option), the system worked well all summer. Once the leaves started to fall, however, the slightest breeze would trigger a notification as the fallen leaves rustled past. No degree of sensitivity adjustment would find the balance between not notifying of leaves and still triggering when the mailman walked up. Thankfully, I was able to move the sensor to the overhang on my porch. It points down and never sees leaves, but it easily notices people on the porch. The key points: place your sensors well and don't go overboard on notifications. The loud ones are cool, but they become annoying quickly.
I'm a bit finicky about my shower experience. I really dislike being cold, so when I get into the shower, I usually don't turn on the exhaust vent, because it makes a very unpleasant draft. Because I'm usually naked while showering, that draft is really annoying. Yet, if I don't turn on the exhaust fan, the bathroom turns into a swamp. Thankfully, that same Multisensor I mentioned before has a humidity sensor as well. Since it functions on battery power, I can place the sensor in the bathroom without worrying about electrocuting anyone.
The hack requires that your vent is on a smart-home controlled switch, but apart from that, it's a simple event trigger. When the humidity level reaches a certain point, the exhaust fan kicks on. Then it stays on until the level drops back down to normal. I'll be honest, the "turning back off" thing is something I hadn't considered when setting up the automation. Now, the bathroom controls its own humidity quite nicely.
As a bonus, the multisensor has a motion detector, so I pointed it so that it sees the door, and now at night when I stumble in to pee, the light comes on automatically. The only downside of the sensor is that it looks a bit like a spy camera, so having it in the bathroom creeps some people out. Thankfully, it's less creepy when it points at the door, and it doesn't need to be inside the shower in order to detect humidity. Still, you might need to explain the system to guests so they don't think you're a pervert.
I live in a low-crime area of northern Michigan, but when we're out of town, I still worry. I currently have security cameras up, but before that, I sort of booby-trapped our house when we were gone for an extended time. I thought it was silly, but then a desperate text message made me realize how powerful automation can be. I've had several iterations of this hack.
My first faux-security setup was to have our house in an "away" mode, and then tie the door sensors to an event that would play an MP3 file over all the Sonos speakers in the house. I got a vicious-sounding recording of dogs barking, and then whenever a door opened (while in away mode), all the speakers would turn their volume up and play the sound.
This was incredibly fun.
Unfortunately, it wasn't really a deterrent; it was just a great way to scare the crap out of people as they came into the house. I realized that although it was great at "catching" someone, it did very little to convince them they were in danger. Anyone casing the house would realize there were no dogs. The best we could wish for was criminals leaving over concern the neighbors would hear the fake dogs. But still, it was fun to put the house in away mode right before my teenage daughters opened the door.
Version 2 of the hack was far more effective. I used the same triggering mechanism, but rather than dogs barking, I had the system play a text-to-speech message at medium volume from the kitchen. It was just loud enough to hear clearly, but obviously not intended to startle anyone. The message was something like: "Unauthorized motion detected. Authorities contacted. Please stand by for video surveillance upload."
It seems a bit cheesy, but I know it's effective, because my brother in law stopped by our house one evening unannounced. He frantically texted me and called my wife trying to assure us that no one was breaking into the house and to please call the police so they didn't arrest him. It was hilarious.
Is this sort of hack a great security system? Absolutely not. But it certainly is a fun way to make your smart house freak people out. So don't rely on digital barking dogs to scare away a thief, but by all means, scare your teenage kids when when come home past curfew.
First off, let me warn you about a really stupid mistake. Don't tie the ability to unlock your door to an Amazon Echo or Google Home. I realized my mistake one day when I saw our Echo through the window as I approached our front door. I literally yelled at my house, "Echo, turn off front door lock", and sure enough, my door unlocked. The strange wording is because Samsung and Amazon try hard to avoid situations like that, and I had to do some crazy hacking in order to get the ability to unlock the door. I now see why it's such a dumb idea to have a verbal command to unlock your door. And, I feel absurdly stupid. Nevertheless, my next lock automation is worth setting up. But please, learn from my foolishness.
SmartThings has a cool automation that allows you to keep your door locked all the time. This is a really great feature, because even when you're home, it's a good idea to keep your doors locked. Unfortunately, I remember to lock the door only when leaving and at night when going to bed. Usually. So now, using a combination of the Kwikset 910 deadbolt (Figure 3) and a Samsung door sensor (Figure 4), our doors lock themselves after being shut for one minute. It doesn't matter what time of day or who is home; after one minute, the deadbolt locks. The system is smart enough not to lock the deadbolt if the door is open, so you won't get a deadbolt sticking out of the door while you haul in groceries.
Figure 3. These locks are awesome. They're easy to install too.
This automation is one of the most useful of all the automations in my house. I never worry whether we locked the doors. I never worry that someone might sneak into the house while I'm back in my office. The door is always locked. And since the Kwikset 910 has a keypad for unlocking, there's no worry that my family will be locked out. Plus, with SmartThings, there's a great automation called Lock Manager, which allows me to give friends and family temporary codes from anywhere. I also can create "burner" codes that will work only a set number of times.
Having a deadbolt that is connected to the network and that potentially could be hacked does concern me a bit; I won't lie. But having the convenience of automatically locking the door and being able to re-key remotely is worth it for me.
I've mentioned Life360 before. It's always nice to see where your family members are, and although that might seem creepy, we can all track each other (Figure 5). It's not just parents spying on their kids, it's family members being able to track each other. We're not creeped out by it, but it isn't for everyone. If you're okay with the idea of your every movement being tracked, it allows for some great home automation.
Samsung has a "presence sensor", which is a device that the SmartThings hub senses as it approaches. If you're concerned about your movements being tracked, the keychain-like fobs might be a better solution for you. Still, Life360 functions as a presence sensor, plus more.
I have our system configured so that when everyone is "gone" (Life360 tells the hub when people come and go) to adjust the thermostat, turn off lights and stop the mailman notifications. It's a great way to save energy, and it requires nothing more than everyone taking their phones with them. My teenage daughters never have a problem remembering their phones, so it works well.
Another cool bonus is that there is direct integration with Amazon Echo and Life360 now. We can be sitting in the living room watching TV, and say, "Echo, ask Life360 where is Lydia", and Alexa will tell us Lydia's location. I pay for the "pro" version of Life360, so I've configured multiple named locations all over town. If Lydia is at Starbucks, for instance, Alexa will tell us that she's at Starbucks and how long it will take her to get home. If she's not at a pre-defined location, it still tells us her location (street names) and how long it will take her to get home. It's really useful, and the privacy concerns don't bother us. Again, that level of familial transparency isn't for everyone, but it means fewer calls and texts to driving teenagers. For me, that alone is worth it.
I purposefully didn't explain the specific instructions for setting up these hacks, because the process will be different for every smart-home implementation. For me, the "ah-ha" moments are coming up with interesting ways to make my smart house work for me. If you have trouble implementing any of these hacks and no amount of googling helps, drop me an email via the LJ contact form (or email ljeditor@linuxjournal.com), and I'll try to clarify what I did.
All that said, I'd love to hear unique and useful ways you're using the smart-home devices in your house. The implementation is often the easy part; it's the creative thinking that is the magic. Please share your smart-home ideas with me via email, ljeditor@linuxjournal.com, and I'll be sure to share the really cool ones with everyone, giving you full credit. Have fun, and hack on!