A couple years ago I told you about my Smart Home journey, Is my home really Smart?. Since then, I have continued to tinker with the technology. And to some that seems odd that an IT guy would come home and spend his spare time fiddling with computers. That discussion could be a whole other history lesson about a guy with an Electrical Engineering degree that loved embedded system design but whose career veered off in other directions in a need to support a family. For the non-technical, embedded systems are essentially all the little computers that are inside of everything we touch today. The average car today has many embedded computer systems not to mention your television, coffee maker, microwave, and really anything that has a display or keypad of any kind. Anyway, back to my Smart Home.
I have really had an unorganized approach without much planning. With the ease of Amazon Alexa, I resorted to plug and play and adding a mixed group of manufacturers of Wi-fi bulbs and plugs. My Alexa count also increased such that we have 7 devices that accept voice commands in our house, shop, and patio. While easy to setup, performance at times was dismal. My wife was at first a skeptic of the Smart Home concept but became a believer. But the belief turns to annoyance when you tell Alexa to “Turn off Bedroom” and one light of three turns off. Since I’m a tinkerer, I get less annoyed and just blame Alexa for being not so smart. But let’s face it, Alexa isn’t really a Smart Home platform. It is a somewhat smart speaker that really wants you to just buy things on Amazon with your voice. So, time to clean up and make the Smart Home the embedded system it should be that you don’t notice, and it doesn’t annoy.
A couple things needed to happen. The first was to get rid of the wife’s annoyance. The quick simple approach is to move to a single manufacturer, in my case, of Wi-fi bulbs. First a little divergence needed to mention some tech stuff. In the Smart Home world there are several primary wireless “standards” being used. You will see Z-Wave, Zigbee, and direct Wi-Fi as the major ones. Bluetooth Low Energy (BLE) is prevalent as well. Then to throw in terms like Matter and MQTT and I start to get dizzy. (Now to all the geeks, please keep your shorts out of a bunch because I mixed dissimilar technologies there. There was no apples-to-apples comparison meant. I was just making reference to “standards” referenced in Smart Home products.) Having worked in the wireless space since the 90’s I tend to have substantial network capacity at home. Over building is a “quality” I learned from my dad. Where most folks residential Wi-fi would get overloaded with all the devices we have in our house, our network could handle way more than I could stuff in the house. So, Wi-fi is again the easy choice for now to get things less annoying. I have added some BLE devices to our system, but we’ll talk about that another time.
Step one meant replace the Merkury bulbs from Walmart and the Singled bulbs from Amazon all with TP-Link bulbs. Why TP-Link you ask? I’ve used their network products for years at home and they are solid. We had a few of their multicolor Wi-Fi bulbs and smart plugs for a few years and they just work. Plus, their phone app is clean and simple to operate. The Merkury bulbs have been working since 2019 so they were good hardware. My problem was the software side. They are manufactured by Tuya so there are various apps that can be used to manage them. But other integration is difficult. This isn’t the end of Merkury for me. I’ve got another side tinker planned for them. Singled, not so sure. Let’s stay focused for now, TP-Link is the current path. All non-TP-Link bulbs were replaced, and Alexa commands started working flawlessly. Check box one checked, wife not annoyed by lights. I also added TP-Link bulbs in the kitchen so now the kitchen lights can be set to 20% brightness in the morning to also help the “not a morning person” wife get to her first cup of coffee easier. Extra points scored!
The second thing that needed to happen was remove Alexa from Smart Home control and just use it as a Voice Assistant. Huh? Alexa has a feature called Skills. Skills can be many things but in my configuration it was the link to my Wi-fi devices’ cloud control servers. Every request of Alexa to turn on lights went to the Amazon cloud that then made calls to various device clouds which then sent commands to my individual devices. With Alexa trying to coordinate and communicate with a mixed cloud environment in a single device group like our bedroom, it is understandable that weird results could happen. Even though the single manufacturer stabilized our performance, I still wanted Alexa out of control mode. I said earlier that Alexa was not really a Smart Home control system, but I didn’t explain why. Several years ago Alexa had a website that you could control Smart Home features. Removing and adding devices was simpler. Amazon phased out the site and transitioned to just using an Alexa app on a smart phone or tablet. I mean, that’s the way of the world, right? It may be the way in general but for their platform it wasn’t the best move. Of course, that’s just the opinion of a guy who has been doing software development for decades and tries to focus on making applications intuitive. That’s another whole rant I get on when dealing with technology that I’ll drop for now. The other odd thing is that whatever particular Alexa device that “discovered” a Smart Home device hangs on to that definition forever until you manually find it and delete it from that Alexa device in the app. It seemed odd that they were somehow “attached” to a particular device when they are all cloud controlled on a single account. Another reason I say Alexa isn’t really a Smart Home control platform. Anyway, I will take fault in not keeping my Alexa environment clean, but I won’t own all of the fault. There were devices there that haven’t existed in my home for at least four years. I know I had removed some of them in the app, but they keep coming back.
Now that Alexa isn’t in control, what is? Back to the earlier post I discussed Home Assistant. Since that post I’ve maintained Home Assistant but transitioned more devices to Alexa and decommissioned some of my older items. Home Assistant has also matured quite a bit in the last few years. In that post I mentioned support for 1000 different devices. Today they say they support over 3000 devices. Not only is there more device support, the platform itself has matured and usability is more intuitive. That’s a win for the old software developer part of me. Another thing that I want to get to is eliminating any cloud connection from my Smart Home. That’s a longer part of the journey as my current TP-Link devices and Alexa both are cloud controlled devices. I’ll share more of that as I go. But for now, I’m starting to move back to Home Assistant as my control platform.
The first step is setting up the Home Assistant version of “Skills” called “Integrations”. There have supported integration for all my TP-Link devices. Setup of the Integration was easy and now Home Assistant can control the devices. I still intend to use Alexa for now as our voice assistant, so I had to get Home Assistant and Alexa talking. In my first-generation setup I had used a Philips Hue Emulator on Home Assistant to make my Home Assistant controlled devices visible to Alexa since Philips Hue was one of the early things Alexa understood. While it worked pretty well, it required a bit of manual care and configuration file edits. In the early Home Assistant days there was a lot of YAML (Yaml Ain’t Markup Language) file editing required rather than GUI configuration like today. It worked but was a bit finicky to get going. Now Home Assistant has their own cloud platform, Nabu Casa, that controls connection to Amazon Alexa and Google Home platforms. This also controls with easy selection the devices you want to expose to Alexa. Now Alexa can’t just grab everything it finds when it searches your network. So, I signed up for Nabu Casa cloud and repointed the TP-Link devices back to Alexa so Alexa could see them again. Now Alexa routes through Nabu Casa to my local Home Assistant which talks to TP-Link cloud directly to turn on or off a device. I can feel your head spinning on that one and your statement of “that doesn’t sound simpler and didn’t get away from the cloud!”. That is true but there is a reason for my madness. This is the first transition step to get Alexa out of control without just shutting down all Smart Home functionality. When I made the transition, I waited 24 hours before I told my wife. Not that she really cares either way, but I wanted to make sure she didn’t notice any difference in functionality. I promise you that if she did, she would report it right away.
Rather that prattle on all day I’ll wind this up with some next steps. The next big step is getting voice control running on my internal network without any cloud connection. I think I would like to eventually get rid of all Amazon and Google voice assistants in my home. But their convenience today is not easy to replace feature for feature with other devices. We shall see if that is completely possible. As with this initial transition there will be intermediate steps of shifting functions to various platforms, even if only for a short time. There will be experimentation and failed attempts that aren’t quite ready for prime time. I had some of those in the last few weeks. There will be novelty solutions that seem silly but are fun to play with. For instance, just yesterday I connected an old black rotary desk phone through Home Assistant as a voice assistant and was controlling lights in my house (see the picture with this post for a visual). Imagine, Alexa replaced by a 70-year-old rotary phone! I really was laughing out loud, and my wife was shaking her head. But this is a steppingstone for a simplistic input device to now start working on a local voice assistant. The next pieces are setting up Text to Speech and Speech to Text servers on my network.
Probably the other big step is to embrace ESPHome in Home Assistant to easily automate ESP32 and ESP8266 embedded controllers. Sorry for the technobabble but these devices are in all kinds of smart home devices, even your coffee maker as mentioned above. I have several projects underway for some DIY automation but also some purchased products for some new Smart Home automation that I’ve never done. One that I’ve tested a bit is location detection with radar to turn on and off or adjust smart devices based on location and movement in areas of the house. Imagine sitting in your favorite TV watching chair and the lights automatically adjust, and your TV and favorite streaming service come on automatically. And remember the Merkury bulbs mentioned above? Most of them have ESP8266 controllers built in that can be reprogrammed with ESPHome and then controlled locally on the network by Home Assistant without a cloud connection. There are many other ways to do lights without cloud control with commercial products without the DIY hack of a Merkury bulb. I’ll likely transition in that direction once I take the time to test the path I want to go.
After all, I do like to tinker. So, trying and failing but learning and then trying again is fun to me. I don’t really have an end goal in mind. I am of the “enjoy the journey rather than the destination” kind of guy. I would like to say that when I solve one problem then I start the journey toward the next. The real story is I’m traveling down multiple paths so when I do solve one problem, I already have multiple other problems I’m working on. Well, maybe 20+ unfinished projects. But who’s counting anyway. I’m just enjoying the journey.