jueves, 29 de agosto de 2024

Home Assistant: Integración de Google Home

En este artículo voy a explicar como integrar los dispositivos de Google Home en Home Assistant con lo que, por ejemplo, podremos enviar mensajes y notificaciones a los altavoces de Google desde HA. Para ello vamos a utilizar la integración oficial denominada Google Assistant SDK.

Vamos a seguir los pasos descritos en la página oficial de la integración. Nos vamos a Ajustes - Dispositivos y servicios - Integraciones - Añadir integración y buscamos por google

Seleccionamos Google y se nos abrirá otra pantalla donde seleccionaremos Google Assistant SDK

Si ya has realizado la integración de Home Assistant en Google Home te puedes ahorrar algunos pasos para añadir tus credenciales de Google en Home Assistant pero vamos desde el principio.

Configuración en Google Cloud

Se nos ha abierto una nueva ventana donde nos pide añadir nuestras credenciales.

Selecciona Credenciales. Si ya tienes un proyecto en Google Cloud no tendrás que crear uno nuevo y saltarte los pasos a seguir para crear un nuevo proyecto. Selecciona un proyecto ya existente y ve al apartado Creación de una nueva credencial.

Creación de un nuevo proyecto

Elige el pais, acepta las condiciones del servicio, las actualizaciones por correo electrónico y selecciona Aceptar y continuar.

En la parte superior de la pantalla haz click en Selecciona un proyecto. Se abrirá una nueva pantalla y selecciona Proyecto nuevo.

Añade un nombre al proyecto y Crear.

Después de unos segundos nos aparece la ventana de credenciales. En la parte superior de la pantalla selecciona Crear credenciales del tipo Crear ID de cliente de OAuth.

En la nueva pantalla selecciona Configurar pantalla de consentimiento.

Seleccionamos Externos y Crear.

Añadimos un nombre a la aplicación, nuestro correo electrónico y en información del desarrollador repetimos nuestro correo electrónico (no rellenes ningún otro campo) y seleccionamos Guardar y continuar. Seleccionamos un par de veces Guardar y Continuar en las sucesivas pantallas y por último seleccionamos Volver al panel.

Ahora ya podemos crear nuestra credencial. 

Creación de una nueva credencial

Seleccionamos Crear Credenciales y selecciona el tipo Crear ID de cliente de OAuth. En tipo de aplicación seleccionamos Aplicación web e indicamos un nombre.

En el apartado URI de redireccionamiento autorizados seleccionamos Agregar URI e indicamos:

https://my.home-assistant.io/redirect/oauth

Por último seleccionamos Crear.

Después de unos segundos nos aparece una nueva ventana que nos indica que se ha creado el cliente de OAuth. Copiamos el Id de cliente, el Secreto de cliente y seleccionamos Aceptar.


Configuración en Home Assistant

Volvemos a nuestro Home Assistant, indicamos un nombre, nuestro Id de Cliente OAuth, nuestro Secreto de cliente OAuth obtenidos anteriormente y seleccionamos Añadir.

Automáticamente se nos abrirá una ventana Web para que nos autentiquemos con Google. Por último indicamos que confiamos en Home Assistant seleccionando Continuar

Ahora nos saldrá una ventana para que introduzca mi dirección IP local de Home Assistant. Como tengo configurado una IP fija sustituyo homeassistant.local por mi IP  y Save.

Por último, seleccionamos Link account.

En Home Assistant nos aparecerá un mensaje indicando que se han vinculado ambas cuentas y selecciono Terminar.

Ahora nos queda un último paso y es volver a Google Cloud y seleccionamos en el menú lateral APIs y servicios habilitados. En el buscador indicamos Google Assistant API, la seleccionamos y la habilitamos.

Ya tenemos listo nuestra integración así que vamos a realizar algunas pruebas.

Pruebas de la integración

A simple vista, esta integración no nos crea nada visual, ni una entidad en concreto. Lo que tenemos a nuestra disposición son dos servicios con los que podemos interactuar. Tendremos un servicio para enviar órdenes a nuestro Google Home y un segundo servicio para enviar mensajes o notificaciones a los altavoces de Google.

Hay algunas limitaciones en estos servicios así que deberás revisar la documentación oficial para evitarte quebraderos de cabeza. Por ejemplo, para las órdenes vocales los altavoces tienen que estar en la misma red local que HA y no debe estar habilitado IPv6 en Home Assistant.

Vamos con las pruebas. Seleccionamos Herramientas para desarrolladores - Servicios y buscamos por Notificaciones: Send a notification with google_assistant_sdk. Escribimos un mensaje y Llamar al servicio.

En el altavoz de Google nos indicará que hay un anuncio nuevo y nos dirá el mensaje introducido, en este caso, Hola mundo!. Si queremos seleccionar el dispositivo donde queremos que se reproduzca el mensaje seleccionamos la habitación en target.

Otra prueba que podemos hacer es enviar una orden a Google Home desde Home Assistant como si le hubiéramos dado una orden vocal. Para ello buscamos el servicio Google Assistant SDK: Enviar comando de texto. Le indicamos un comando a Google Home e indicamos el dispositivo que queremos que reciba el comando, aunque esto último es opcional. Por último, seleccionamos Llamar servicio.

Evidentemente podrás integrar estos servicios en automatizaciones y scripts de Home Assistant.

Resumen

La integración de Google Home en Home Assistant nos abre un mundo de posibilidades para aprovechar lo mejor de ambos mundos. Es un poco complicada, muchos pasos a seguir, pero la recompensa merece la pena.


No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.