I have been a part of the Alexa and Google Assistant smart-home ecosystem for years at this point. Way back when I was still a devout Android user with my OnePlus 5 and then the Galaxy S10, I bought an Echo Dot, a Google Home mini, and even imported a Nest Hub (which was, back then, unavailable in India) to bring my smart home dreams to life.
However, I soon switched to an iPhone, thereby taking the almost irreversible leap into the Apple ecosystem — and iPhone, a MacBook, and an Apple Watch. So, while the Alexa app and the Google Home app, together, allowed me to manage my smart home devices with relative ease, I found myself looking at the Apple Home app with an unexplained longing.
Sure, none of the smart home devices I have are HomeKit compatible, and if you’re living in India, you’ll know why — HomeKit devices are not only few and far in between, but they are insanely expensive; a problem I’m hoping Matter might resolve, but that’s a future-promise that I’m not entirely sure I can count on.
A Longing for the Apple Home App
As I briefly mentioned above, ever since switching to the iPhone, I have found myself looking at the Apple Home app with an unexplained longing. Digging deeper, I realised that it was fuelled primarily by the simple fact that the Home app has a much better UI than what I was used to.
See, the Alexa app is a horrible atrocity in the name of User Experience. I’m sorry, but it’s just the plain truth. The UI is cluttered, and there’s just too much going on. Even though Amazon has updated the UI since the days of its inception, it’s still not good.
The Google Home app on iOS is a little better. At least it makes it easier for you to jump right into your smart home devices and control them as needed.
However, in my opinion, the Apple Home app is by far the best one. The UI is clean, you get a quick overview of your smart devices and you can control them easily as well. There are only two tabs in the bottom navigation bar: “Home” and “Automation”, which serve their purpose and the app doesn’t try to overwhelm users with too many ways of doing the same thing.
What’s more, in a move I would expect from Google and not Apple, the Apple Home app offers more customisability than any of the other two. You can not only re-arrange the devices in the app, you can also edit the background wallpaper to make it unique to yourself.
Then there’s the fact that being in the Apple ecosystem, the Home app offers a lot more than Google Home and Alexa can, simply because Apple just wouldn’t let them. For example, with the Home app, I can create automations that work based on my location. I can create shortcuts that can change the state of my smart home devices from my home screen, or based on a number of triggers — a feat I simply can’t achieve while using the Alexa or Google Home app on an iPhone.
Come for the UI/UX, Leave for the Lack of Devices
Unfortunately for me, the smart devices I have installed at home are not compatible with HomeKit, which meant I couldn’t really control them using the Apple Home app — a sad reality which I had to learn to live with.
After all, finding HomeKit compatible devices in India is a mammoth task. Sure, there are Philips Hue lights, but then again, that’s just one single company and one single kind of smart home device. What’s more, Philips Hue bulbs are incredibly expensive. In a market cluttered with inexpensive Alexa and Google Assistant compatible smart bulbs that cost less than $10, a Philips Hue bulb costs over $30. That’s without the Hue bridge, by the way. A set of three bulbs along with the bridge is upwards of $100.
So, for the longest time, I had given up on using the Apple Home app to control my smart devices. Under no circumstances was I going to be unnecessarily tempted to spend thousands of Rupees just to use an app on my iPhone.
Enter the HomePod mini (and Apple TV 4K)
A while ago, I gave in further to my gadget-fuelled money spending nightmare and purchased the Apple TV 4K and a HomePod mini to go with it as the dedicated speaker system for my bedroom.
And unknowingly, I had taken the leap into using the Apple Home app.
See, the HomePod, being a smart speaker, obviously connects to the Apple Home app (and so does the Apple TV 4K). This meant that I was constantly opening the app on my iPhone to fiddle around with the settings of my newly purchased smart devices, and in doing so, I was once again lured into the desire for using the Apple Home app for all my smart home needs.
Still, I didn’t want to spend a lot of money to get HomeKit compatible devices. I’m sticking with my cheap smart lights and I’m not taking the Philips Hue plunge… yet. Even if I did, it just felt silly to replace perfectly find smart bulbs with newer, more expensive ones, just to be able to use the Apple Home app.
Open Source FTW!
A week ago, I wrote an article about training my own AI image generator, and if you’ve read that article, you must have realised I’m using an open-source project there. Now, in the case of using non-HomeKit devices with my iPhone’s Home app, I once again stumbled across an open-source project that seemed promising.
Homebridge is basically a server that I can run on my laptop, a PC, or even a Raspberry Pi, which can then let me add (and control) non-HomeKit compatible smart home devices to the Home app. It’s a wonderful open-source project and I encourage you to check it out.
Setting up Homebridge
The way Homebridge works is quite simple; install Homebridge on a computer, run the server, install some plugins for the smart devices you own (most of the popular ones are available thanks to some incredible open-source developers), and then connect Homebridge to your Apple Home app by scanning the QR code on the server home page.
Wrong, at least in my case. See, I do have a Xiaomi smart bulb in my living room, and that is supported by a plugin for Homebridge. However, I also have a Syska light bulb in my bedroom, and that doesn’t have any plugins for it, yet. Which means I was out of luck for connecting that to Homebridge… or so I thought.
Virtual Switches to the Rescue
People who develop Homebridge (and plugins for it) are continuously making improvements to the system. Naturally, this means they develop plugins that solve problems a large number of people might be facing or discussing on GitHub or on the Homebridge subreddit.
While it seems that, unfortunately, no significant number of people are discussing the need for Syska plugins in Homebridge, some must have discussed the ability to trigger location-based triggers in the Home app to control smart devices linked to Alexa and Google Home.
Fortunately, this resulted in plugins that create virtual devices for Homebridge.
Devices like motion sensor and contact sensor switches which you can create within the Homebridge interface and they will show up in the Apple Home app.
This, then, is the solution for using location-based triggers in the Home app to control other smart home devices by using things like Routines (available in both the Google Home app and the Alexa app).
My requirements, however, were different. I don’t (at least for now) need my iPhone to trigger smart home devices based on my location. I do, however, want to be able to turn my lights on or off from within the Home app; and virtual switches paired with Google Home routines let me do just that.
I mentioned earlier that I bought an Echo Dot, a Google Home mini, and even the Nest Hub for my house. The Home mini I have since given away to a family member, leaving me with a Nest Hub in my kitchen, the Echo Dot on my bedside table, and the HomePod mini under my bedroom TV, paired with the Apple TV 4K.
Naturally, I use the Echo Dot to control my lights more than I use the Nest Hub. After all, I don’t find myself in the kitchen nearly as frequently as my bank balance would like.
Therefore, I wanted to use the Alexa app to create routines for controlling my smart lights based on the virtual switch.
The idea was simple, and I will break it down into steps for clarity.
- Create a virtual switch in Homebridge
- Connect Homebridge to the Apple Home app so the virtual switch shows up there.
- Add the virtual switch to the Alexa app
- Create a routine which turns my bedroom lights on or off based on the switch turning on/off
- Revel in my incredible feat, and control my smart devices using the Apple Home app for the foreseeable future.
The Alexa Problem
The first three steps were unexacting and effortless. The virtual switch showed up in the Home app as well as the Alexa app, and things seemed to be going on track. However, when I tried to create a routine in the Alexa app, the switch wouldn’t show up in the list of available devices.
Google Home to the Rescue
After a few re-tries, deleting devices from the Alexa app and re-discovering them, as well as after uninstalling and reinstalling the plugins and the Homebridge server, I realised that Alexa was not the way to go.
Fortunately, there’s a Google Home plugin for Homebridge as well, which means I can connect my Homebridge devices (including virtual devices) to the Google Home app. While this wasn’t exactly my backup plan (I had none), it was a good option to try, and I decided to just wing it, thinking I could just drop the entire idea if this too didn’t work.
Mercifully, it worked. The Google Home app was allowing me to use my virtual motion sensor switch as a trigger for a routine. From that point, I simply followed the original plan and soon, I had a routine in the Google Home app that would turn my bedroom lights on/off based on my activation of the virtual switch from the Apple Home app.
Having tested the switch to my satisfaction, I could finally move to the last, most important step in my plan: revel in my incredible feat; and so I did. I still am. I can now use the Home app on my iPhone to control the smart lights in my bedroom.
Since I was testing things out when I originally started this endeavour, I didn’t put much thought into naming the virtual switch I created — it’s called, plainly, ‘Delay Switch.’
So yeah, I need to re-do a couple of things and find a better name for the switch — currently I’m deliberating using the straightforward and unassuming name “Bedroom Lights” because that’s what this particular switch will control. Once that is done, however, I am going to create a bunch of virtual smart devices in Homebridge and connect all of them to different Google Home/Alexa enabled smart devices that I already have.
I am still not going to spend thousands of Rupees to buy HomeKit compatible smart lights and other devices when more affordable options are available, and Homebridge lets me control them anyway.
Escaping the Walled Garden I Didn’t Even Know I Was In
Truthfully, I agree with the term “walled garden” when describing the Apple ecosystem. It is incredibly locked-in, and it’s getting more so with every passing year. Even macOS is getting steadily more locked-in than it has been in the years past.
The fact that only a select few smart devices support Apple’s HomeKit was not unknown to me either. However, in my naivety, I had expected more HomeKit compatible devices to launch in India soon. I say naivety because the experience I have gained over the last few years working in the field of technology has taught me to never rely on future promises of support and bug-fixes, and that the same logic applies to hardware as well; but back when I was still, relatively, green, I did count on the hope of future hardware releases.
I know better now, and thanks to Homebridge, I don’t need to worry about being locked out of using an app on my iPhone purely because I don’t want to buy overpriced smart home devices.
I am still, counting on Matter though, so in a way I guess I am still naive. However, I have my hopes under check, and instead of putting all my apples in the proverbial basked of the day when all smart home gadgets work seamlessly, I’m simply waiting for such a day to rise. It will be beautiful. Until then, I’m happy with my Alexa and Google Assistant compatible smart home accessories, and Homebridge.