I have become increasingly interested in "Smart Home" tech over the past year, in particular the category of devices which are generally labelled as "Internet of Things" or "IoT" devices. These devices have become a lot more popular in the UK lately, visit any branch of Maplin or PC World and notice the "Smart Home" sections. The last time I visited one of those, the amount of space dedicated to Smart Home was comparable to what I saw in stores in Canada a couple of years ago.
Smart Home & IoT Devices
Well known products include thermostats such as the Google "Nest" and Honeywell "Lyric", various control & monitoring products such as Samsung's "SmartThings" family of devices and Philips "Hue" lighting.
The problem is that the various commercial products offerings are pretty expensive and tend to promote some degree of vendor lock-in, requiring multiple interfaces/apps to control your home if you want to mix products from different suppliers. Devices that claim to support the Apple HomeKit or Samsung SmartThings ecosystem will help you to setup control from a single app, but the supported functionality can be limited.
The various App stores are full of "Smart Home" apps in addition to the offerings from the major players. Making a successful choice of which one to use is impossible until you know what devices you are going to be using in your home. Being able to control your alarm, locks, lighting and heating etc. via an app while away from home sounds useful, but not as useful while at home. The thought of controlling devices while at home via a smart phone or tablet app seems like a bit of a hassle, having to get your phone out of your pocket, unlock it and find the app etc. By the time you have done that you could have just done it the old fashioned way!
The more recent introduction of voice assistant devices from Google and Apple to compete with the Amazon Echo has provided more options when thinking about how to design your smart home installation. Amazon has recently updated it's "Alexa" voice assistant software which powers it's Echo devices to provide more Smart Home control capabilities. Like Amazon's Echo, the "Google Assistant" powered "Google Home" device and Apple's "Siri" Powered "HomePod" device can be used with the free IFTTT service to easily setup voice control for all kinds of DIY and off the shelf devices.
As usual, Apple's offering appears to be the more restrictive of the bunch in that to control an IoT device using IFTTT, you have to tell Siri to send a specially crafted text or email message to a specific contact. The contact entry points to an IFTTT number or email address which upon receipt is interpreted to extract the control command to send to the device. This all sounds rather clunky and unreliable. Despite Apple eventually opening up their API to 3rd party apps with the release of SiriKit, it's still rather limited and so still requires the workarounds as used by IFTTT.
These voice assistants can be used via apps on your phone, but having one or two dedicated voice control devices in your home which you can speak to is surely much more convenient for home control, as long as you don't mind that they constantly listen for their activation keywords. As convenient as they sound, I must say that the additional security and privacy implications of these devices are a bit of a concern for anyone with any IT security knowledge.
DIY Smart Home
My plan is to take advantage of these existing technologies to create a kind of DIY Smart Home using a combination of Arduino compatible MCU boards and Raspberry Pi single board computers in conjunction with bespoke API's, MQTT, NodeRed and the IFTTT service. I will check out the various "Cloud IoT" services and other developer targeted offerings to see what they can do. I will also try some well known off the shelf kit out of interest to see how well it works.
Footnote: I wanted to include the Arduino and Raspberry Pi logo's in this post but they have some hefty restrictions on the use of their logos.