How to Use Google Assistant Voice Commands to Control Devices Linked to Apple HomeKit
This week, I was disappointed to learn that my Harmony Hub stopped working with Google Assistant voice commands. After some research, I found that some folks had success with a hard reset of their Hub. However, since this didn't resolve the issue for everyone, I decided to avoid that potential headache. It's frustrating that third-party smart home products seem to be neglecting their integrations with Google.
To be fair, Harmony Hub discontinued their remote products in 2021. However, as of the time of this post, they clearly state on their website that they will continue to support these products and their integrations with Alexa and Google.
I use my Harmony with Alexa and Google, will the integrations with 3rd parties change?
This decision only impacts the manufacturing of new Harmony remotes. We plan to continue to offer service and support.
My Harmony Hub uses IR to turn on my living room TV, set it to the correct HDMI port, turn on my amp, and set it to the correct input setting and volume level. I also use it to turn off these devices. For listening to music, I use it to turn on my amp and set it to the right input setting, and I use it to turn off the amp as well.
Having been a product lead that helped launch Google Assistant, home automation integrations, and routines, I have numerous smart home devices and Google speakers. Back in 2015, one of the first smart home integrations I enabled was the command, "Hey Google, turn on the TV," which coordinated actions across multiple devices. When this doesn't work, it's always been a nuisance to debug.
My household primarily relies on Apple devices and services. Since leaving Google, I've transitioned to using HomeKit and the Apple Home app for my smart home needs. However, I still depend on Google Assistant for a few custom voice commands because I have Google speakers and smart displays in every room in my house.
Since the Harmony Hub integration with Apple HomeKit is functioning properly, I decided to explore how to connect HomeKit to Google Assistant. My goal was to use Google Assistant voice commands to control devices linked to HomeKit. Here’s the process I followed to make it work.
Pre-requisites
- Harmony Hub configured with the desired activities for voice command triggers.
- Homebridge server connected to Apple HomeKit.
- Harmony Hub connected via Homebridge using homebridge-harmony.
- An account set up with the Google Home App.
- Device(s) that can respond to Hey Google voice commands.
This post explains how to:
- Configure these additional Homebridge plugins:
- Create some Apple Automations to trigger several Harmony activities.
- Set up some Personal Routines in the Google Home app to use voice commands to trigger various Apple Home automations.
Homebridge Server Dummy Switch Plugin Configuration
I already run a Homebridge server and have been using the Dummy Switches plugin for other purposes, which I found useful in this situation.
I configured two stateful Dummy Switches on Homebridge: one called DSwitch - TV
and the other DSwitch - Stereo
.
Apple Home App Automation Configuration
I already have my Harmony Hub connected to the Apple Home app via Homebridge using homebridge-harmony. I imported a few Harmony Hub activities to the Apple Home app to switch on the TV
and listen to music
.
Next, I configured a few accessory-controlled automations in the Apple Home app.
When DSwitch - TV
is turned on, it triggers the Harmony Hub's TV-Switch
activity, which powers on my TV and amp.
When DSwitch - TV
is turned off, it triggers the Harmony Hub to turn off the TV-Switch
(which turns off my TV and Amp).
When DSwitch - Stereo
is turned on, it triggers the Harmony Hub to turn on the listen to music
switch (which turns on my Amp).
When DSwitch - Stereo
is turned off, it triggers the Harmony Hub to turn off the listen to music
switch (which turns off my Amp).
Homebridge Server Google Smart Home Plugin Configuration
The Homebridge Google Smart Home (GSH) plugin allows adding devices from HomeKit to Google Assistant in the Google Home app. I followed these instructions to configure the GSH plugin.
It's mentioned in the instructions but it's crucial to first configure this plugin and then add the connection to Homebridge in the Google Home app after setting up the Homebridge Dummy Switches and Apple Home app automations.
Google Home App HomeBridge Configuration
After setting up the Dummy Switches in Homebridge, configuring the automations in the Apple Home app, and installing the GSH plugin in Homebridge, I followed the GSH Wiki instructions to add Homebridge as a connection in the Google Home app. After connecting, I imported the two new Dummy Switches I created.
I believe I had to repeat the Homebridge setup process in the Google Home app to import the second Dummy Switch. On the Add devices
screen, I needed to long press on the Homebridge integration and select Check for new devices
to access the flow for selecting more devices to import.
Google Home App Routines Configuration
Once the Dummy Switches appeared in the Google Home app, I moved them to my Living Room and created a few Google Personal routines with specific voice commands.
When I say to Google Assistant, "Hey Google, turn on the TV," it triggers the DSwitch - Living Room TV
dummy switch in Homebridge (which triggers the Apple Home automation, turning on my TV and Amp).
When I say to Google Assistant, "Hey Google, turn off the TV," it triggers the DSwitch - Living Room TV
dummy switch in Homebridge (which triggers the Apple Home automation, turning off my TV and Amp).
When I say to Google Assistant, "Hey Google, turn on the Stereo," it triggers the DSwitch - Stereo
dummy switch in Homebridge (which triggers the Apple Home automation, turning on my Amp).
When I say to Google Assistant, "Hey Google, turn off the Stereo," it triggers the DSwitch - Stereo
dummy switch in Homebridge (which triggers the Apple Home automation, turning off my Amp).
Conclusion
Although this setup is definitely brittle, it succeeds at connecting Google Assistant to HomeKit. My Harmony Hub now responds to Google Assistant voice commands as it did before the Harmony integration with Google Home stopped working.