RANT ALERT: Can someone go fix the real issue in Home Automation?
Gosh, home automation is such a big mess! Why hasn’t anyone yet cracked the problem?
I believe that while the industry was focused on fighting over which communication protocol was the best for home automation (Zigbee, Z-Wave, BLE, Wi-Fi, RFID…), we all missed the point: Home Automation is not a communication protocol issue, it is a device modeling issue.
In 2023 we are still not able to say that there is a unique and agreed upon way to describe devices, sensors, actuators, their capabilities, properties, relationships. This makes all home automation solutions proprietary or cumbersome, incomplete, hard to use, not bridgeable, all the above.
The IoT guy in me is getting frustrated with commercial solutions
Like for many others, bringing work home is a no-no. Sure, you can argue that I do work from home, but you get what I mean: I like my time off to not be about work-related stuff. That's why I don't have a sophisticated DIY home automation system at our place: I don't want to spend my weekends tinkering with electronics, Cloud services and all, just to turn lights on or off at home. Everything at home must “just work” and should be usable by anyone in the family: there is no way I spend my days doing customer support at home. If you are reading my blog posts, I’m sure you can relate to that!
Ok, I do have some Wi-Fi lightbulbs and switches, some Zigbee and Z-Wave equipment connected through a SmartThings hub, a garage door opener, smart lock, and some appliances connected as well, oh, and an Alexa device in the kitchen. I know, that's more than the average, but these are all off-the-shelf solutions and I use them as any random person. I should also add that I’m the only one using their “smart” functionalities, even though the whole family is tech savvy.
But the IoT guy in me gets very frustrated every single day as these off-the-shelf solutions just don’t work together and it’s a nightmare when I try to set up some simple scenes easy to activate by anyone. Should I set them up in Alexa, SmartThings, Smart Life? Should I use IFTTT or some native scene or routine on one of the platforms? Furthermore, not everyone likes using voice activated devices, so scenes should all be controllable with a physical trigger. I tried to consider going with a single type of connectivity and a single way of controlling everything, but it just doesn’t work, or is way too expensive, plain, and simple! Everyone is keeping their garden as closed as possible.
Are open-source home automation projects better?
I decided to go against my rule of not doing work stuff during non-working hours and to test out the use of one of the existing open-source solutions out there. At the end of the day, IoT is one of my hobbies, right 😉?
Since the mid-2000s, frustrated engineers like me have decided to just build their own Home Automation solution themselves and they started sharing with the community, creating open-source projects that would try and address the mess and bridge the various ecosystems.
Some of the earliest and most influential open-source home automation projects were openHAB, Domoticz, and Home Assistant, which started in 2010, 2012, and 2013, respectively. These projects aim to integrate as many devices and services as possible into one platform, supporting and integrating various protocols and standards. They also offer powerful automation engines, user interfaces, mobile apps, and community support.
Other open-source home automation projects emerged later, focusing on specific aspects or niches of the smart home market. For example, Calaos (2014) focused on providing a sleek and modern user interface, OpenMotics (2014) focused on integrating with Google apps and services, HomeGenie (2015) focused on offering helpful customization tools, and PiDome (2015) focused on providing an advanced rules editor. And there are many others that I am not listing here.
In recent years, open-source home automation projects have faced new challenges and opportunities, such as the rise of voice assistants, the increasing demand for energy management, and the growing concern for privacy and security. Some projects have adapted to these changes by adding new features, integrations, or add-ons, while others have remained faithful to their original vision and goals.
I picked Home Assistant as the one to try out based on popularity, comments, size of the community. And I have to say the experience was pleasant… to a certain point. I had a Raspberry Pi 3 lying around and it took me about 5 minutes to set up the home assistant OS on it, and as soon as it was connected it sniffed my network and detected a certain number of devices.
It created a dashboard automatically giving me rapid access to devices and their features. Same thing on the mobile app.
I have to say that the pleasantry stopped there, as going into the configuration of each of these devices, the addition of integrations and all the other operations necessary to have a usable and useful tool are far from being user friendly, or should I say consumer friendly.
“What is that SIMPLEconnect Fan-A7A06C device? Oh yes, it’s one of the ceiling fans, but which is it? The bedroom one or the nook one?”
“And What is that ibeacon tracker? Never heard of it!” (that got me worried for a minute until I figured it out)
“Then there is this AP-510547006896 thingy that popped up… never heard of it…” (It took me a while to realize that the LED light strips my teenagers bought online and installed in their rooms were controllable over Bluetooth. They had no idea either and were only using the IR remote).
While some operations are automated, others are far from simple. For example, to configure my Roomba, I had to install some NodeJS app and run command lines to retrieve a device code…
Don’t get me wrong, Home Assistant is great, and I will take the time necessary to do the clean integration of everything to then set up all my scenes and automations in a single place. That’s very promising and I believe it will allow me to have this single pane of glass to interact and automate my home.
But I am not an ordinary user, I am a power user and even though the Home Assistant community is doing an excellent job, this is not a solution accessible to everyone.
Why is Home Automation not sorted out yet?
Over the past 15 years, I have seen a never-ending debate in Home Automation, like the one going on in Industrial IoT or in other IoT application domains: which one single communication protocol is better than the others and should be used as the only one protocol to connect all things? For Home Automation, it is: which of the low-power protocols should be the one and only? Zigbee, Z-Wave, BLE?
The same way Wi-Fi, LoRaWAN, NB-IoT and others each have good reasons to co-exist in Industrial IoT solutions, all these Home Automation low-power (and less low-power) wireless protocols have their pros and cons and are all justified depending on various scenarios. We are starting to see an admission of that in some smart home hubs that now support several different protocols all in one box (Wi-Fi, Bluetooth, Zigbe, Z-Wave and more), such as the Homey Pro, the Wink Hub 2.
If the issue is not at the communication protocol level, where is it?
Home automation solutions are all struggling at addressing (or rather suffer from) the following core issue: there is no one unified (and agreed upon) way to describe devices, their behaviors, and their relationship.
Before getting into why I say that, let me share a story: I started introducing smart devices at home 17 years ago. At the time I had just joined Microsoft and one of the first projects I worked on was about building a Home Automation demo wall, showing off how you could use Windows Media Center to control shades, lights, TV, display the ring bell camera on the TV and more. Yes, that all was already (technically) possible 17 years ago. During the project, I tried to put the two biggest electrical equipment manufacturers in the same room to discuss and agree on devices’ descriptions and models. You would think that something as basic as a dimmer could be described by everyone in a common straightforward way: a Boolean for on/off status and an Integer for the percentage of light intensity, plus some metadata like a manufacturer ID, model ID and revision or version number. Simple enough, right? Well, it never worked as they never agreed. At the time I didn’t understand why, but since then, I realized that this would break their business model which consisted in forcing their customers into their own single ecosystem with no way to bridge with others’. If that sounds familiar, that’s because things have not changed much over the past couple of decades, even if the various players involved are trying to make you think otherwise, they still want you locked in their own ecosystem. 15 years ago, it was about making you buy only hardware from a single manufacturer. Today it’s about having you locked to pay a subscription to them (in addition to their hardware).
So, whether it is commercial solutions trying to lock you in and protecting their business models, or open-source ones trying to work around commercial manufacturers’ solutions non-interoperability, they are all lacking that single unified way to describe and interact with devices independently of their communication protocols.
Is Matter the solution?
Matter is an effort driven by the Connectivity Standards Alliance (the one driving Zigbee specification) gathering 300+ industrials to define an open standard for smart home technology that lets a device work with any Matter-certified ecosystem. It’s the first effort I have seen over the past 15 years that I am hopeful for to help sort out the home automation mess. Not only does it have all the major players involved, but it also proposes a sound, backward compatible approach with the ability to update or bridge existing devices.
The premise of the standard is based on a client-server model and builds around a Data model and an Interaction model for devices. I have not read the entire specification from the CSA, and I recommend checking out the Google Developer Center Matter Primer which is well written and is the most understandable piece of documentation that I could find out there. Matter builds on top of IP, so it is primarily supporting IP-based devices, the ones connected over WiFi, Ethernet, or Thread. But Matter also extends to BLE and supports bridging of other smart home technologies such as ZigBee, Bluetooth Mesh and Z-Wave.
I won’t get into the details, but Matter covers a lot of ground from device with the Device Data model to their interactions with the Interaction model, as well as securing communications within a group of devices with the Fabric, or a rich discovery mechanism.
I would have to play some more to forge a more solid opinion myself, but at first glance, this all looks well thought through and I do hope it will build consensus among the Home Automation players because before Home Automation can become a reality, all the big actors of the domain will have to agree on how devices are described and interacted with at the very level Matter addresses. Let’s keep our eyes peeled and hope no one messes this one up.
Could Matter be used beyond Home Automation?
I was asked a couple times if Matter could be used for other IoT scenarios, like Industrial IoT or Smart Buildings. While there are some concepts that would definitively translate to other IoT applications, Matter is very much focused and optimized on smart home scenarios and there are some challenges and limitations that need to be addressed before Matter can be even considered in these domains. Some of these are:
Matter goes all the way to defining types of devices and I am not sure if this list can be extended easily without having to go through the CSA (if anyone knows, please chine in here!). Furthermore, Matter currently supports only a limited set of device types and functionalities, which may not cover the diverse and complex needs of smart building or industrial automation applications. For example, Matter does not support cameras, robot vacuums, home appliances, routers, garage door controllers, smoke detectors, or energy management features. These device types are on the roadmap of the CSA, but the timing and details are not yet clear.
Matter relies on IP-based networking technologies, which may not be suitable or optimal for some low-power or resource-constrained devices that are common in smart building or industrial automation scenarios. For example, there is no reference anywhere about BACnet or Modbus, and even if both are IP based protocols, it doesn’t feel like there is any intention of extending or bridging Matter to these. LoRaWAN is not mentioned anywhere either.
Matter requires certification from the Connectivity Standards Alliance to ensure interoperability and security. This may impose additional costs and barriers for developers and manufacturers who want to use Matter in their products or solutions.
Considering all this, Matter is still a new and evolving standard that may not have enough market penetration or consumer awareness to compete with other established standards or platforms in other IoT applications beyond Home Automation.
Home Automation is still a mess and even though open-source solutions, and to be fair, commercial solutions, are doing a decent job, consumers still don’t have the ring that will rule them all. They must be somewhat tech savvy and navigate an ocean of options that often don’t interoperate.
On the bright side, this gives us frustrated engineers an excuse to go play with gizmos pretending it’s not for work, right?
What’s your take on Home Automation and on Matter?