En esta entrada te enseño la forma más fácil y con mejores resultados de dominar Assist, al crear un asistente por satélites.
Índice
¿A qué viene esto?
Desde que publiqué el taller sobre cómo configurar Assist (el asistente local de Home Assistant), sois muchos los que os habéis animado a montarlo. Y hacéis bien, ya que como os he demostrado en muchas ocasiones, ya es plenamente funcional, incluso en español. Si eres de los que sigue pensando que aún está «verde», siento decirte que lo tienes mal configurado (y te invito a solucionarlo viendo el taller al completo).
Ahora bien, aunque hemos dominado la configuración del software, hay que reconocer que cuando os ponéis en contacto conmigo me contáis que os seguís enfrentando a algunas dificultades. Básicamente:
- Os encanta la idea de crear un asistente personalizado, pero preferís no soldar placas y componentes (o no termina de saliros bien, y no funcionan la mitad de los componentes).
- Queréis dar el paso a un asistente local, pero os parece que los dispositivos que venden a día de hoy son muy caros y los que son más baratos, no ofrecen la misma calidad en el audio y el reconocimiento de voz que otras soluciones comerciales.
- Ya lo teníais funcionando, pero derrepente falla Alexa Media Player o cualquier otro componente y os fastidia el invento.
En mi empeño por conseguir que todo el mundo pueda tener un asistente local, he encontrado la solución: crear un asistente por satélites.
Satélites
He denominado «satélites» a cado uno de los componentes que forman parte de nuestro asistente. La idea es que puedas intercambiarlos fácilmente, de forma que te sea posible:
- Reaprovechar los dispositivos que tengas por casa.
- Elegir el nivel de complejidad adecuado a tus preferencias.
- Sustituirlos fácilmente en caso de que alguno falle.
- Colocar cada componente estratégicamente en el lugar más indicado.
- Personalizarlos al máximo.
Núcleo
He llamado «núcleo» al satélite más importante, ya que vas a necesitarlo si o si. Es el componente que se encarga de activar al asistente y captar tus órdenes. Como puedes imaginar, como mínimo debe contar con un micrófono. A continuación te dejo todos los dispositivos con los que lo he conseguido, con sus ventajas e inconvenientes.
⭐ ReSpeaker Lite
A día de hoy, me parece que no tiene rival. Es el único dispositivo con el que he conseguido una tasa de respuesta del 100% (es decir, me escucha siempre que lo llamo). Promete tener capacidades excepcionales de reducción de ruido, reconocimiento y procesamiento de voz, gracias a sus algoritmos de IA y NLU integrados... Y LO CUMPLE!!
Además, tiene un precio contenido (unos 30€), es fácil de configurar (no requiere soldar componentes) y, si quieres, puedes conectarle un altavoz por cable (sin configurar nada). Esta es la opción que recomiendo, sin duda. En esta entrada te explico cómo configurarlo.
👍 ESP32-S3-BOX-3 / M5Stack CoreS3SE
Son los dos asistentes prefabricados que he probado y funcionan bien (el ESP32-S3-BOX-3 un pelín mejor), gracias a sus dos micrófonos. Tienen una alta tasa de respuesta (aunque no llega al 100%) gracias a que funcionan bajo MicroWakeWord. Tampoco requieren soldar componentes, y además incorporan una pantalla en la que puedes mostrar más información e incorporan un altavoz (aunque es mejor usar un altavoz externo).
Por contra, tienen un precio algo más elevado (unos 40-50€) y creo que son menos personalizables a nivel estético.
👍 Placa ESP32-S3
Si ya tienes experiencia con el soldador, ya te enseñé cómo puedes crear tu propio asistente local. La gran ventaja es que puedes montar todos los componentes por menos de 10€ y crear un dispositivo 100% personalizado (con luces, motores, o lo que tú quieras), con la satisfacción de haberlo hecho tú mismo.
Ahora, lógicamente, seguramente las conexiones no estén tan bien ejecutadas y los componentes no sean de la misma calidad que un producto prefabricado. Personalmente, he conseguido muy buenos resultados por unos pocos euros, pero la tasa de respuesta siempre ha sido menor a los anteriores.
👎 Atom Echo
Con este pequeño dispositivo empezó todo, por lo que le debemos mucho!! No obstante, a día de hoy no lo puedo recomendar. Aunque es barato, sus pequeños componentes son proporcionarles a su rendimiento. Además el firmware no ha sido muy estable. Por este precio, te recomiendo que lo hagas tú mismo (si es que no quieres gastar un poco más).
Altavoz
Aunque no es estrictamente necesario, nos gusta escuchar la respuesta del asistente y estamos acostumbrados a ello. Además esto te permite personalizar la voz y darle personalidad al asistente. Para ello lógicamente, necesitamos un altavoz y estas son las opciones que he probado.
⭐ Usa un altavoz que ya tengas
Si has elegido el ReSpeaker Lite como núcleo, no se me ocurre mejor opción que utilizar uno de tus altavoces que ya tienes por casa con sólo conectar un cable. Es totalmente gratis, puedes usar esos altavoces que tanto te gustan por su diseño o calidad de audio, con la tranquilidad de saber que el audio se ejecuta en un entorno totalmente local. ¿Que más quieres?
👍 Integra cualquier altavoz en HA
Si has optado por cualquier otro núcleo, aún puedes reutilizar los altavoces que tienes por casa por muy poco dinero, como ya te he explicado anteriormente. También tendrás la tranquilidad de saber que todo el audio queda en tu entorno local. Eso sí, en este caso necesitarás tirar de soldador y manipular tanto tu altavoz cómo los componentes necesrios.
👍 Usa tus altavoces integrados
En este caso me refiero a los altavoces comerciales que ya tienes integrados en HA (Google o Alexa). Ya te he explicado en varias ocasiones cómo reproducir la respuesta de tu asistente por estos altavoces, y funciona perfectamente. También es una forma de mejorar la calidad de audio sin gastar dinero.
La única pega es evidente. Si quieres dar el paso a un asistente local porque te preocupa la privacidad, ¿tiene sentido que sigas pasando tu información por estos altavoces?
👎 Altavoces integrados
Aunque se agradece que los fabricantes integren un altavoz en el dispositivo, estos son pequeños altavoces que se escuchan poco, o con poco calidad, restando fluidez a la experiencia. Por tanto, te recomiendo que apliques alguna de las soluciones anteriores.
Respuesta visual
Esto también es totalmente opcional, pero generalmente nos gusta identificar visualmente si el asistente está escuchando o respondiendo, ya que esto nos ayuda a la hora de darle comandos. De nuevo, tenemos distintas opciones para conseguir este ‘feedback’ visual.
⭐ Dispositivos de iluminación
Fácil, sencillo y para toda la familia. Si tienes alguna bombilla o tira led integrada en Home Assistant, puedes crear una automatización para que cambie de color en función del estado del asistente (busca la entidad cuyo nombre empieza por 'assist_satellite'). Tardarás segundos en hacerlo, sin necesidad de programar código y soldar componentes.
👍 Crea un dispositivo personalizado
No es ningún secreto que esta es mi opción favorita 😁 Creo que tener un dispositivo animado con tu personaje favorito (como R2D2) es la guinda para tu asistente local. El límite es tu imaginación y sé que esto le encanta a los más 'frikis'. Ahora bien, vas a nececesitar una impresora 3D y utilizar el soldador para crear tus propios dispositivos con ESPHome.
👍 Utiliza la pantalla del asistente
Si has optado por un asistente con pantalla como o el ESP32-S3-BOX-3 o el M5Stack CoreS3SE lo tienes fácil porque funciona por defecto. Además, ya te enseñé cómo puedes cambiar las imágenes del asistente para personalizarlo aún más.