Google Home con Node Red
Aprovechando que muchos de nosotros disponemos de este tipo de Altavoces inteligentes, hoy os quiero mostrar cómo darle un toque más personal a nuestro Home Assistant.
En el tema de hoy vamos a utilizar el Google Home o Google Mini o cualquiera de sus variantes, como notificador acústico de Home Assistant y que podemos hacer, por ejemplo:
- Utilizarlo como Sirena de nuestro sistema de alarma de Home Assistant Bwalarm
- Que nos avise cuando se abre la puerta principal o cuando se cierra.
- Y cualquier maniobra que se os pase por la cabeza, que avise cuando se cierran las persianas, se encienda el riego, etc…
Como ya sabéis, llevamos ya algunos tutoriales básicos de Node-Red para que veais su uso y posibilidades, instalación de Node Red, Programador Horario.
Bueno antes de nada, teneis que tener vuestro Google Home o variante configurado en Home Assistant para ello tenéis que ir al apartado integraciones y añadir Google Cast.
Una vez instalado, vamos a utilizar el nodo Call-Service
Lo arrastramos a nuestro Flow y pulsamos dos veces sobre él para entrar en su configuración.
Vamos a ver qué datos tenemos que seleccionar:
- Name – Asignamos el nombre que queramos.
- Server – seleccionamos Home Assistant
- Domain – media_player
- Service – play_media esto hacer que reproduzca un archivo de audio previamente subido a su carpeta.
- Entity Id – media_player. y el nombre que tenga asignado Home Assistant a vuestro altavoz inteligente.
- Data – {“entity_id”:”media_player.NOMBREASIGNADO”,”media_content_id”:”https://TUDIRECCION.duckdns.org:8123/local/sound/POLICE.mp3″,”media_content_type”:”music”}
RECORDAR SUBIR EL ARCHIVO POR FTP A LA CARPETA www/sound/ CREAR ESTAS CARPETAS SI NO LAS TENEIS.
El archivo que he puesto yo es una sirena, para realizar la prueba podéis poner disparador manual para ver si funciona, para ellos debes utilizar el nodo INJECT
Y en las propiedades tenéis que seleccionar lo siguiente:
Del desplegable seleccionamos string y completamos con ON, para que mande la orden de inicio.
Una vez que tengamos los dos nodos enlazados pulsamos en Deploy y pinchamos sobre el inject que ahora se llama on y debería vuestro altavoz inteligente reproducir el audio.
¿Pero y si quiero que en vez de reproducir un sonido, lea un mensaje? pues realizamos las siguientes configuraciones del nodo Call-Service.
Como podéis ver aquí hemos cambiado el Domain y hemos seleccionado tts, cómo Service google_say, el Entity es el mismo, puesto que queremos usar el mismo altavoz inteligente, y en data ponemos lo siguiente:
{“message”:”activando alarma.”} de esta manera nos reproduce el texto que está entrecomillado “activando alarma” aquí puedes poner lo que te interesa que lea.
Como veis es sencillo y rápido de hacer, la verdad es que es una gozada cuando te dice que la alarma está conectada.
Qué os ha parecido? fácil verdad?
Seguimos intentando realizar ejemplos sencillos y cortos, ya tendremos tiempo de ir complicando todo un poco más, pero primero tenemos que entender cómo funciona Node Red.
Próximamente mas, si tienes dudas deja tu comentario para poder ayudarte, Gracias.
Si tienes alguna petición de como realizar alguna tarea en Node Red comenta.
También puede ver como instalar Alexa en Node Red
Gracias por la explicación, disculpa pero Como hago la carpeta donde subir los Archivos?
Hola, tienes que tener acceso al sistema de archivos de tu Home Assistant, ya sea por ftp, sftp o samba, se tiene que crear una carpeta llamada www y después otra carpeta llamada sound y pegar en esta carpeta el archivo de audio, de esta manera la ruta sería www/sound/nombresonido.mp3.
Buenas tardes. Soy nuevo en Node-Red. Cuando voy a “inyectar” me indica “Successfully inyected ON” pero me da un error de “API Error” y no se escucha ningun sonido. Si enbargo, el Google Home Mini funciona correctamente desde un Lovelace. ¿Que estoy haciendo mal?. Gracias
Hola, asegurate de estar bien seleccionado el entity_id, media_player.NOMBREASIGNADO