asistente proactivo

Lanzar tu asistente sin llamarlo

En esta entrada te enseño un truco para lanzar tu asistente sin llamarlo diciendo «Ok Google», «Nabu» o «Alexa».

Escucha proactiva del asistente

Cuando estamos con una persona no tenemos que decir su nombre al principio de cada frase para que nos escuche. Sin embargo, sí tenemos que hacerlo con los asistentes de voz a través de su palabra de activación (o ‘wake word’). Esto es algo que sin duda nos aleja de tener una experiencia natural a la hora de relacionarnos con ellos.

Pues bien, a continuación vamos a ver cómo conseguir que tengan una escucha proactiva en ciertas situaciones, es decir, que puedas lanzar tu asistente sin llamarlo. Esto nos va a servir para ahorrarnos un paso, pero sobre todo para percibir la comunicación de una forma menos forzada.

Requisitos previos

Para poder lanzar tu asistente sin llamarlo necesitas lo siguiente:

  • No necesitas ningún altavoz, pero si un dispositivo móvil con Android. Si tienes alguno cogiendo polvo en un cajón, es la oportunidad perfecta para darle una segunda vida.
  • Instalar la aplicación de Home Assistant en tu dispositivo móvil.
  • Configurar la aplicación de tu asistente preferido y establecerlo como asistente de voz predeterminado en tu dispositivo. Lo ideal es que elijas aquel que ya tengas integrado en tu ecosistema.
🔊 Por cierto, sin aún no lo has hecho, revisa cómo integrar Google Assistant y Alexa en Home Assistant.

Lanzar automáticamente el asistente

Para conseguir lanzar tu asistente sin llamarlo vamos a crear un ‘script’ en Home Assistant que va a enviar comandos a tu dispositivo. El primero de ellos va a «despertarlo», ya que si lleva mucho tiempo inactivo no responderá al resto de comandos. El segundo es un ‘intent’ de Android que va a activar el asistente de voz (como si hubieras pulsado el botón correspondiente).

El código del script es el siguiente (reemplaza el nombre de tu dispositivo y ejecútalo para hacer la prueba)

alias: Asistente de voz
sequence:
  - service: notify.mobile_app_DISPOSITIVO
    data:
      message: command_screen_on
      data:
        ttl: 0
        priority: high
  - service: notify.mobile_app_DISPOSITIVO
    data:
      message: command_activity
      data:
        intent_action: android.intent.action.VOICE_COMMAND
mode: single
icon: mdi:account-voice

Cuándo y cómo lanzar el asistente

Como cualquier script creado en Home Assistant, este genera un servicio que puedes llamar (en este caso, ‘script.asistente_de_voz’). Por supuesto, puedes llamarlo desde una tarjeta en tu panel de control o en cualquiera de tus dispositivos con HA.

Sin embargo, lo interesante en este caso es llamarlo desde tus automatizaciones para crear esa escucha proactiva sin tener que hacer nada. Esto es especialmente útil cuando es previsible una situación (por ejemplo, al entrar en casa), pero no lo que te va a apetecer en cada momento. De hecho, ni si quiera tienes por qué pedirle nada y seguirá callado.

La forma de construir la automatización va a depender de tus hábitos, pero aquí tienes unos ejemplos para que te hagas una idea:

  • Lánzalo cuando tu dispositivo móvil se vincule al bluetooth de tu coche para darle instrucciones como «Pon música en spotify», «Dime como está el tráfico» o «Pon el GPS al trabajo».
  • Activa la escucha proactiva cuando entres en una habitación usando ESPresense para pedirle que la adapte a lo que te apetece en ese momento, por ejemplo, «Pon la calefacción a 23º», «Sube las persianas» o «Enciende las luces indirectas».
  • Coloca un sensor de puertas abiertas en un tu frigorífico o tu despensa, para que tu asistente siempre esté dispuesto a añadir algún producto a tu lista de la compra.
  • Coloca un sensor de movimiento en algún sitio de tu casa que active el asistente, y sorprende a tus invitados invitándoles a que pidan algo.
  • Lanza el asistente al encender tu Android TV para que sólo tengas que pedirle lo que te apetece ver.

Modo conversacional con ChatGPT

Si has elegido al ChatGPT, también puedes lanzar tu asistente sin llamarlo, con un par de particularidades. La primera de ellas es que este asistente proporciona un modo conversacional espectacular. Esto lo convierte en el asistente perfecto si lo que quieres es mantener una conversación fluida o informarte sobre algún tema.

Por ejemplo, si tienes un controlador (móvil o tablet) en la entrada de tu casa, lanza el asistente cuando abres la puerta y deja «flipando» a tus amigos empezando a hablar con él sin hacer nada.

La segunda particularidad es que, mientras que el resto de asistentes se desactiva tras unos segundo de inactividad, el asistente de ChatGPT va a seguir escuchando la conversación y dando su opinión. Esta característica es la que nos permite tener una conversación fluida, y funciona incluso cuando la aplicación se encuentra en segundo plano o el dispositivo está bloqueado.

Sin embargo, esto puede ser molesto cuando ya no queremos seguir con la conversación, o estamos hablando con otra persona. En estas situaciones vamos a querer que deje de interactuar con nosotros. Para ello puedes cerrar la aplicación manualmente o crear una automatización, por ejemplo:

  • Cuando llevamos ‘x’ minutos sin hablar con él. Puedes detectarlo activando el sensor ‘Interactivo’ de tu dispositivo desde la aplicación de HA, en Ajustes > Aplicación complementaria > Administrar sensores > Sensores de energía. Este sensor pasará a ‘off’ cuando el dispositivo esté inactivo.
  • Cuando entra otra persona en la habitación, o ya no queda nadie. Puedes determinar el nivel de presencia fácilmente con ESPresense.
  • Cuando sucede otro evento más importante. Por ejemplo, si recibimos una llamada puedes detectarlo activando el sensor ‘Estado del teléfono’ de tu dispositivo desde la aplicación de HA, en Ajustes > Aplicación complementaria > Administrar sensores > Sensores de teléfono. Este sensor pasará a ‘offhook’ cuando respondas una llamada.

Respecto a la acción, cerrar una aplicación es un ajuste avanzado que requiere que tu dispositivo esté «rooteado». No obstante, como alternativa podemos usar la integración con Tasker para emular nuestros gestos y cerrar la aplicación, silenciar al asistente bajando el volumen (seguirá hablando pero no le oiremos) o silenciar el micrófono (podremos seguir hablando, pero no nos escuchará).

💡Para cerrar una aplicación a través de Tasker sin 'root', verifica antes que has instalado la aplicación AutoInput y le has asignado todos los permisos

¿Dudas?¿necesitas ayuda? entra aquí
Y si te ha gustado, compártelo! 🙂
Contenido exclusivo de Aguacatec
Send this to a friend