How to view Google Home/Assistant timers and alarms in Home Assistant
Disclosure: This post contains affiliate links. If you click through and make a purchase, I will earn a commission, at no additional cost to you. Read my full disclosure here.
Out of the box, the Google Home/Assistant integration with Home Assistant is more or less a one-way street. The Google Home app will fetch the entities from Home Assistant and even if it can influence their state, it doesn't send much data back.
Considering one of the main use-cases of Google Assistant enabled smart speakers and displays, such as the Google Home and Nest Audio, are timers and alarms, the stock integration with Home Assistant does leave much to be desired. That is, unless you use the Home Assistant Google Home community integration.
This integration isn't anything new. In fact, it has been around for the last six months or so. It's just that I haven't had the time to set it up and explore the features yet. On the plus side, it has allowed the component to mature and become more usable. With that said, I will be showing you how to do the same as I did and what the enhanced Home Assistant Google Home community integration has to offer.
Before continuing on, a quick word on the nomenclature Google uses for their devices and services. The Google Assistant is the voice you talk to, or in other words, the software running on devices ranging from smart speakers, to sound bars and smartphones. If we were to compare Google's ecosystem to Amazon's, the Google Assistant would be Alexa.
Google Home is the branding Google's first generation smart speakers and smart displays were to sold under. Today, these are sold under the Google Nest brand as Nest devices. Current models are the Nest Hub, Nest Hub Max, Nest Mini, and Nest Audio. Only the app that controls Google Nest, other Google Assistant enabled devices, and integrations, continues to carry the Google Home branding.
The Home Assistant Google Home community integration covers dedicated hardware that runs the Google Assistant. It not only covers Google Home and Google Nest products, but also those from Lenovo and possibly others.
There are exceptions though, with the biggest one being Sonos. Sonos' speakers with Google Assistant functionality do not implement the Local Home functionality and can't be accessed using the integration. Unless Sonos makes some changes, the developers of the integration will not be able to make integrate their hardware. Unfortunately, the only smart speakers I have available is a Google Home and Google Home Mini. Thus, I have not been able to test the integration with any third-party hardware.
Installing the Home Assistant Google Home community integration
The easiest way of installing the Home Assistant Google Home community integration is by using the Home Assistant Community Store (HACS). This should come as no surprise, as HACS is by now the standard when it comes to installing custom integrations and Lovelace cards. The installation of HACS is clearly detailed on the website, so I won't be repeating it here. HACS will automatically check for any updated components and allow you to apply the changes with a single click. It is mainly for that reason that I do not recommend any manual installation.
Installing the component should be possible on all types of Home Assistant installation, be it Home Assistant OS running on a Raspberry Pi or Home Assistant Core running in a Docker container. This isn't an add-on, but a custom component.
The installation is easy, as HACS includes the Home Assistant Google Home community integration per default. No additional URLs need to be added to the configuration. Once HACS is installed and set up, search for and install the Google Home repository.
Adding the Google Home integration
With the repository installed, and Home Assistant restarted, you can move in to Home Assistant settings and add a new integration. Search for Google Home and add the integration. If this option doesn't appear, make sure the repository has been correctly added to HACS.
If you already have a Google Assistant enabled device, such Google Home or Nest Audio, on the same network as Home Assistant, the integration should automatically discover these. In case no device to be discovered, make sure Home Assistant can access them. Keep in mind that if you are running Home Assistant in Docker, host networking mode is a requirement for this integration to work.
The integration will next require you to enter your credentials. At this point, you have the option to create an app password using the link in the description, and I highly suggest you do so. If anything nefarious were to happen, you could simply revoke the app password without having to update all of your Google devices. After submitting the credentials, the integration setup is complete, and you will have access to your Google Assistant devices in Home Assistant.
Two Google Home devices integrated with Home Assistant
Google Assistant timers and alarms in Home Assistant
The Home Assistant Google Home community integration will pick up and display timers and alarms set on Google Assistant enabled hardware, such as the original Google Home and Nest Audio, as sensors in Home Assistant. The integration will even register multiple timers and alarms set on the device. However, these will not appear as individual sensors, but in the attributes of a single sensor.
Not only can you view timers and alarms using the integration, but also delete them. The following services can be used for that purpose:
google_home.delete_alarm
google_home.delete_timer
The downside of using these sensors is that you will need to enter the exact timer ID. I will be covering how to better use timers and alarms set on Google Assistant smart speakers and displays in a series of follow-up articles.
Do not disturb without uttering a word
Perhaps my favourite part of the Home Assistant Google Home community integration, is the ability to enable do not disturb mode without having to utter a word. For each Google Assistant enabled device, a switch is added, with which you can easily control the mode.