Una vez que tenemos un sistema funcional, podemos ir avanzando poco a poco en la integración de diferentes sensores para que poco a poco nuestro sistema sea de lo más completo, pero, a veces, podemos necesitar algo como Google Assistant para poder complementarlo y poder activar las cosas sin necesidad de entrar al propio sistema, sobretodo si contamos con algún hardware de los que vende Google para su sistema.
En este tutorial, voy a tratar de explicar de la forma más sencilla posible todo lo que tenemos que hacer para poder dejar nuestro sistema funcionando y que podamos lanzar comandos desde Google Assistant.
NOTA: Uno de los requisitos básicos que necesitamos cumplir es el hecho de que nuestro Home Assistant funcione con SSL (https), algo que acabo de darme cuenta, que no he documentado, por lo que prometo tutorial al respecto.
Recomiendo hacer el tutorial con algo de tiempo y quizá comida y bebida cerca ya que es bastante más extenso que cualquiera de los otros que hemos podido hacer.
En Google
Para ir avanzando, entra en esta web y genera 2 cadenas de texto largas (asegurate de cambiar el Format y que ponga a-zA-Z mixed case), una de ellas será lo que posteriormente usemos como client_id y otra será el access_token y apuntalas, por ejemplo:
client_id = rvEoUODKRYFFcuzfpTDKoWQVlZXcLlGaKUWDiXgWGyFCdfddDDDdyQZQtpblZCvfsKCdYMFvVMOFmOoXSJqqzldxBHFWzlOvAYfeTUrCvafTbBFUALMPrljlJjpYs
access_token = UJXHzLnRZbfmIgsKoLEcVEGgNdtnUKOTOEEdgbXwgBiKrXqfDYFmcJdDDDsdDdfvcCyRAjmnprsdkjiKGAuKpwNvPEZKQSATmCHpAuuUKZKOCgLnTbXDygT
- Creamos un proyecto dentro de la consola de Google Assistant, pulsando aquí.
- Pulsamos en “Add/Import project”
- Ponemos un nombre (el que queramos) y ponemos “Spain” (o el país de donde seáis) y le damos a CREATE PROJECT
- Ahora en el centro veremos “Smart Home”, pulsamos sobre BUILD
- Nos pide la URL de nuestro Home Assistant, recordad que debe ser la URL completa, accesible desde internet y con SSL activado.
- Si por ejemplo, vuestro sistema es https://domoticaencasa.es:8123, en ese campo tendréis que poner https://domoticaencasa.es:8123/api/google_assistant
- Ahora pulsamos en la parte superior izquierda en donde pone “Overview”, ahí veremos si nos avisa de algún error, en mi caso, rellenar el nombre de la App por lo que pulsamos en EDIT para solucionarlo, ponemos el nombre que queramos, y el resto de campos podemos rellenarlos como queramos y pulsamos en NEXT
- La imagen y el icono podemos poner alguna de Google Photos que tengamos e incluso los datos de contacto y en el mail, podemos nuestro mail.
- Por último, nos pide unas URL pero son para nuestra política de privacidad en caso de que nuestra app esté al público, como es obligatorio, podemos poner la URL de nuestro Home Assistant o la URL que queramos, podemos bajar abajo y darle a SAVE
- Ahora, volvemos a pulsar en OVERVIEW y veremos que no da error y pulsamos sobre “Account linking” y posteriormente a ADD.
- Grant type cambiamos a Implicit y pulsamos en NEXT
- Ahora, el client ID es el client_id que sacamos antes de empezar y la URL que nos pide es https://domotica.es:8123/api/google_assistant , aunque, si tienes puesta contraseña, que deberías tenerla, debe ser https://domotica.es:8123/api/google_assistant/auth?api_password=XXXXXXXXX donde las XXXXXXXX son tu contraseña. Pulsamos en NEXT
- En el siguiente punto, en Scopes, pondremos, email (pulsamos en ADD SCOPE) y ponemos también name (y volvemos a pulsar ADD SCOPE) y pulsamos NEXT
- En Testing instructions, podemos poner lo que queramos ya que no se usará y pulsamos en SAVE.
- Ya hemos terminado la primera parte, ahora podemos darle a “TEST DRAFT” para probar la App, aunque, es normal que falle por lo que podemos seguir con el resto de configuración.
En Home Assistant
Volvemos temporalmente a nuestro Home Assistant para añadir la configuración:
Tenemos que añadir a nuestra configuración lo siguiente:
google_assistant: project_id: someproject-2d0b8 client_id: [long URL safe random string] access_token: [a different long URL safe random string] agent_user_id: [a string to identify user] api_key: [a Homegraph API Key generated for the Google Actions project] exposed_domains: - switch - light - group entity_config: switch.kitchen: name: Custom Name for Google Assistant aliases: - bright lights - entry lights light.living_room: expose: false room: living room
Donde tenemos que cambiar:
- project_id: Es el nombre del proyecto que pusimos al principio
- client_id: El que guardamos y que ya hemos puesto en la app
- access_token: El otro texto autogenerado que guardamos antes de empezar
- agent_user_id: Podemos poner nuestro correo
- api_key: Es recomendable generarla
- Entraríamos a la consola de Google aquí
- Pulsamos en habilitar
- Tras unos segundos, en la parte izquierda vamos a “Credenciales”
- Crear credenciales y elegimos “Clave de API”
- Apuntamos la clave que nos da y la ponemos ahí
- A partir de ahi, tanto los exposed domains como el entity_config son relacionados con la configuración de cada uno ya que habla de lo que queremos compartir a Google así como los dispositivos que le dejamos ver.
En mi caso, solo voy a dejarle ver el estado de la alarma:
entity_config:
input_boolean.alarma:
name: alarma
IMPORTANTE: Es necesario reiniciar para que coja la nueva configuración
En el móvil
Ahora nos toca seguir con la app en el móvil, si no la tienes, puedes entrar en Play Store e instalar el “Google Assistant”. Una vez que lo tengas instalado, tendremos que añadir nuestra aplicación de Google Home.
Una cosa que debes saber es que Google todavía no ha incluido Google Home en su Assitant español, por lo que para poder seguir, será necesario que pongas tu teléfono en inglés, además, tendremos que llegar a la configuración desde algún sitio diferente. Una vez que arrancamos la app con el teléfono en inglés, vemos donde nos pregunta en qué puede ayudarnos, ahí, pulsamos sobre el icono azul de arriba a la derecha
Una vez que entramos en los ajustes, bajamos hasta abajo del todo donde pone mostrar todas las categorías “All categories”
En el listado general de categorías tenemos que buscar el que tiene un icono de una bombilla y se llama Home control (actualmente, como digo, solo en inglés)
Entramos y elegimos el primero (si cambiara el primero de la lista, lo normal es que cualquiera de los que aparezca, debería servir.
Dentro de por ejemplo, el Tplink que aparece el primero, podemos bajar hasta encontrar “Home Control” para pulsar en Settings a la derecha
Ahora ya estamos dentro de lo que sería la configuración Home Control que, actualmente no podemos encontrar dentro de la aplicación en español ni en cualquier idioma no soportado. En esta configuración veremos todo lo que tengamos conectado a nuestro Home de Google, que, en mi caso es solo un Chromecast. Para continuar, pulsamos en el + que hay en el circulo azul abajo a la derecha
Una vez que pulsamos, si todo ha salido bien, tendremos la aplicación que hemos creado en los pasos anteriores que, pulsando sobre ella, hará el intento de conexión contra nuestro Home Assistant y, si no ha habido errores, la instalará en nuestro Home Control de la App en el movil
Como vemos, Google importará aquello que le digamos que queremos compartir con él, por lo que tendremos aquellos dispositivos/interruptores o demás dispositivos o sensores que tiene Home Assistant, controlables con la voz, eso si, con el comando en inglés.
Google nos mostrará algunos ejemplo de lo que podemos hacer y, si asignamos “rooms”, es decir, habitaciones, podremos realizar acciones sobre todos los dispositivos de esa misma habitación, por ejemplo, encender todas las luces de un salon, de una cocina, etc
Y, con esto, podemos volver nuestro teléfono a español, aunque, el comando si que tendremos que decirlo en inglés, por ejemplo, en mi caso puedo decir “OK Google switch on Acuario”.
Espero que seais capaces de terminarlo, pero, si tenéis cualquier duda, podéis preguntar en los comentarios o, podéis uniros al grupo de Telegram para poder ir avanzando juntos.
IMPORTANTE: Con el fin de ayudaros de una forma más directa, he creado un grupo en Telegram donde podemos ayudarnos todos así como evitar que os quedéis atascados, si tenéis telegram podéis pulsar aquí para uniros y si no lo tenéis, os recomiendo que os lo instaléis ya que lo usaremos en el tutorial para notificarnos.
La entrada Home Assistant #11: Integramos Google Assistant se publicó primero en Domótica en Casa.