Last week, I provided an overview of how I’ve introduced automation and control to our apartment by combining various smart-home devices with a robust platform to manage those inputs. My earlier post described, in broad terms, the hardware and software I’ve leveraged, and some of the automations I’ve implemented. Today, in anticipation of releasing the software configurations that make this possible, I’ll inventory the devices used and explain their roles in the overall system.
As previously mentioned, I use the Home Assistant software to control all of our devices and implement all automations. For this reason, I’ve only chosen hardware that is either compatible with Home Assistant itself, or that can be integrated with a device that is supported by Home Assistant. This approach ensures that Home Assistant is the canonical control for all smart devices, and eliminates the need for each provider’s app and the juggling that would come with that.
All of our smart lights are from Philips’ Hue line of products, specifically the “Ambiance” model. While colors aren’t supported (I made this choice intentionally), these lamps’ color temperatures and brightnesses are adjustable, providing ample control over the quality of light throughout our apartment. Hue also offers wireless dimmer switches, retaining manual control over lights and allowing switches to be added where they otherwise wouldn’t exist.
In total, we’ve replaced eleven compact fluorescent lamps with Hue bulbs, and paired those with eight dimmer switches. Several of these bulbs are in the same fixture, an arrangement easily supported by grouping lights under a single control. Lights in a particular room, such as our living room, are also now jointly controlled by dimmer switches. Despite the convenience of grouping lamps, all bulbs are still individually controllable, though it’s rare that we adjust bulbs separately from the group as a whole.
Thanks, in part, to these smart bulbs, lights now automatically come on at dusk or when we return to a dark apartment. Similarly, inactivity will extinguish lamps left on accidentally. Understandably, the lights themselves don’t provide these capabilities, but rather, it’s through Home Assistant and the other devices it supports that these automations are feasible.
Coming & Going / Security
One of the many sensors that Samsung’s SmartThings platform provides is what they refer to as a “multipurpose sensor.” Its primary function is as a contact sensor–one that detects whether a door, window, etc. is open or closed. It also detects acceleration (a door or window actively being opened or closed) and temperature. Each door and window is fitted with one of these sensors, for a total of five, plus one installed on a cabinet in our office. They are part of the “Smart Home Monitor” (SHM), or alarm, feature SmartThings provides. These sensors are central to turning lights on when we return home. The temperature data is used to alert us if a window is open or closed when it shouldn’t be. Acceleration is monitored to detect attempts to force open doors or windows.
Over the weekend, I added our August Smart Locks to Home Assistant as well. Doing so was fairly involved, as it required extracting keys from the August mobile app. Once I handled that, however, I was able to take advantage of an existing library, which only needed some minor adjustments to support multiple locks. Thanks to that open-source library, our Raspberry Pi now hosts an Express-based REST API that communicates with the locks over Bluetooth (Low Energy, specifically), using the Pi 3’s native radio. For security reasons, the API only listens on localhost, so it isn’t accessible from outside of the Pi. It provides three endpoints–lock, unlock, and status–allowing full control and monitoring from within Home Assistant. I’ll share more on this in a later post, once I’ve worked out some minor annoyances and prepared my modifications for public consumption.
Another of SmartThings’ offerings is a motion sensor, which does exactly what one expects. In addition to detecting motion, it also captures temperature data, just like the multipurpose sensor. We currently use five motion sensors, two in the office and three in the space that comprises our living room, dining room, and kitchen. Their primary purpose is to turn off lights after inactivity, though they’re also monitored when SHM is set to “away” mode.
Other than lights, there are very few electrical components in our apartment that need switching; instead, most devices are meant to always be on. Accordingly, we’ve had very little need for smart switches, with two exceptions.
First, we received a lava lamp as a wedding gift, and while we don’t turn it on frequently, we consistently forget to turn it off when we do. By putting it on a smart switch, it turns off when the rest of the office lights time out, so we no longer leave it on all night.
Second, I’ve a mobile-phone stand on my desk that includes as a wireless charger. Unfortunately, the charger doesn’t have a switch, and I don’t always want to charge my phone. Putting the stand on a smart switch gives me control over the charger, and the convenience of not needing to reach under my desk for that control.
While I have thought about adding more smart switches so I can monitor power consumption, since so much of that consumption would be from always-on devices, there’d be little I could do with the data.
As our home automation increases, it becomes more and more necessary to check that someone is home before turning on a light, issuing an alert, and so on. That said, I plan to change how presence is detected in the near future, but for now, we’re leveraging SmartThings. Its mobile app acts as a presence tracker, which covers most cases. For the rare occasions when we leave without our phones, our keys include SmartThings’ arrival sensor fobs. Given how infrequently we leave home with our keys and not our phones, I plan to switch presence tracking to leverage our wireless router, which can report to Home Assistant based on devices connected to it.
Besides switching to router-based presence detection, I hope to eventually incorporate some luminance sensors into our current setup. Lights currently switch on based on the sun’s movement, but being able to detect ambient brightness would provide even greater control and flexibility. For example, on overcast days, lights could turn on earlier in the evening than the sun’s position dictates, or not turn off after the proscribed period.
I’d also like to add a thermostat to the mix, but that won’t be an option while we’re in our current apartment. We have heat, but not air conditioning, so the system’s wiring doesn’t support anything beyond a basic thermostat. Luckily, we live in a very temperate area and use our heat infrequently, so the lack of a smart thermostat isn’t terribly inconvenient; still, I’d like to incorporate that into our larger system, both for use in automations, and to take advantage of the many temperature sensors now present throughout our apartment.