Espainierazko ahots laguntzaile bat Home Assistant-ekin + integración con OpenAI + VoIP

Cómo ya anunció Home Assistant, hau 2023 será el año de la voz, el año donde podamos controlar nuestro hogar mediante la voz de manera segura. Pero no sólo eso, si no que podremos integrar nuestro asistente con OpenAI para preguntarle lo que nos de la gana! y espera que eso no es todo, también veremos cómo podemos hablar por teléfono con nuestro Asistente!!!

Así como estás entendiendo, ya es posible crear un Asistente en Home Assistant para que nos atienda las peticiones, bien por escrito, bien hablado por voz. Este Asistente nativo estará disponible en infinidad de idiomas, entre ellos, en Castellano o Español, vaya. Podremos darle instrucciones básicas para que encienda/apague luces, eta abar… pero también nos podremos crear nuestras propias frases particulares, para que saque las aspiradoras, el cortacésped… Y cómo decimos en el título, también podremos hacerle consultas para que las responda la IA (tan de moda ya), así que podremos integrarlo con OpenAI y preguntarle lo que queramos que siempre sabrá la respuesta 😉

Al final del post veremos también cómo podemos habilitar VoIP en Home Assistant para poder llamar por teléfono a estos Asistentes y atiendan a nuestras peticiones. Lo haremos con un teléfono tradicional y con un par de softphones, uno para PC y otro para tu móvil… la bomba!!!

Configuración del Assistente,

Empezamos! lo primero de todo será instalar Whisper, este complemento nos hará la conversión de audio a texto, edo, bestela, Speech to text, para instalarlo nos vamos a “Ajustes” > “Complementos” > “Add-on Store” y buscamos 'Whisper',

Sakatu on “Install” instalatzeko,

Behin instalatuta, en su configuración tenemos los modelos de transcripción, por defecto tyni-int8 será el más habitual si tenemos una Raspberry Pi 4 o similar, podremos elegir modelos más completos pero necesitaremos más cómputo. Aquí deberemos indicar nuestro idioma, en lenguaje seleccionamos 'es'. Sakatu on “Gorde”.

Lo iniciamos pulsando en “Start”

Si vamos a “Ajustes” > “Dispositivos y Servicios”, veremos que nos lo habrá descubierto, t klikatu “Configurar” del Whisper.

“Bidali”,

Ahora instalaremos otro complemento, en este caso lo usará Home Assistant para convertir el texto a voz (text to speech), usaremos Piper. Así que vamos a “Ajustes” > “Complementos” > “Add-on Store” y buscamos 'Piper',

Lo instalamos pulsando en “Install”,

Una vez instalado Piper, en su configuración seleccionamos la voz que queremos que use, en este caso usaremos 'es-carlfm-x-low', voz de hombre en español, tenemos aquí el resto de voces por si queremos escucharlas para elegir la que más nos guste: https://rhasspy.github.io/piper-samples/

Guardamos los cambios desde “Guardar”,

Sakatu on “Iniciar en el arranque” además de iniciarlo inmediatamente desde “Iniciar”,

Nos habrá descubierto Piper, lo verificamos desde “Ajustes” > “Dispositivos y Servicios”, y pinchamos en “Configurar” del Piper.

“Bidali”,

Crear el Asistente,

Onena, vamos a ello, vamos a crear nuestro primer Asistente, el que nos ayudará a gestionar y saber el estado de cualquier dispositivo o entidad de Home Assistant. Para crearlo vamos a “Ajustes” > “Asistentes de voz” y pulsamoe en “Añadir Assistente”,

Le ponemos un Nombre, en mi caso el mayordomo se llamará Sebastian, le asignamos un lenguaje, en este caso 'español'. Como Agente de conversación indicaremos 'Home Assistant’ y el idioma 'Español'. Para el uso de Voz a texto usaremos 'faster-whisper’ con el idioma en 'español'. Y para e uso de Texto a voz, usaremos 'Piper', seleccionamos 'español’ y escogemos la voz que hemos indicado anteriormente.

Sakatu on “Prueba la voz” para probar y escuchar. Finalmente pulsamos en “Sortu”,

Para probar arriba a la derecha en la GUI de Home Assistant con un navegador o el cliente móvil, tendremos un el icono para hablar con el asistente.

Seleccionamos el asistente recién creado y ya podemos darle alguna instrucción, podemos probar a apagar/encender alguna luz, dispositivo, subir/bajar alguna persiana, portón… Por ahora tiene una funcionalidad básica y que si queremos crecer, pues entiendo que o esperamos a nuevas actualizaciones, o tendremos que trabajarnos nuestras propias frases/sentences; pero eso lo veremos otro día 😉

Bestela, si queremos usar el micrófono de nuestro dispositivo para hablar, en vez de escrito. Tendremos que asegurarnos que estamos entrando a Home Assistant con HTTPS y no con HTTP. Si no tienes HTTPS habilitado, te recomiendo que te instales 'NGINX Home Assistant SSL proxy’ y en un momento habilitas la conexión segura. A partir de ahí el micrófono se podrá usar con el asistente!!!

Integración con OpenAI,

Ondo, esta parte es opcional, así que sólo si te interesa que tu Assistente de Home Assistant pueda responderte a consultas que sepa la IA (Inteligencia Artificial). La integración en este caso es con OpenAI y será necesaria una cuenta de pago, pero no te preocupes que esto no cuesta casi nada, (la consulta con gpt-3.5-turbo sale a $0.002), pero sí es necesaria que la cuenta sea de 'pago'.

Guztira, que en https://platform.openai.com/account, vamos a “Billing” y lo tenemos en “Set up paid account”.

Prest dagoenean, ya podremos obtener nuestra API Key, vamos a “Erabiltzaileak” > “API keys” eta sustatu “Create news secret key”.

Le ponemos un nombre, API para 'Home Assistant’ & “Create secret key”. Y nos generará la clave que nos mostrará en pantalla, nos copiamos la API key en un lugar seguro.

Para instalar la integración de conversación con OpenAI, joango gara “Ajustes ” > “Dispositivos y Servicios” > “Add Integration” > y buscamos “OpenAI Conversation”

Y tan sencillo cómo pegar el API key, “Bidali”,

Vamos a configurar OpenAI, para ello desde “Ajustes” > “Dispositivos y Servicios”. Sustatu “Configurar” del OpenAI Conversation.

Aukeratzen dugu, en mi caso con gpt-3.5-turbo me vale y “Bidali”,

Crear un Assistente con OpenAI,

Para poder usar OpenAI en Home Assistant necesitaremos finalmente crear un Asistente en Home Assistant y vincularlo.

Para ello, vamos a “Ajustes” > “Voice Assistants” y creamos un Asistente desde “Add Assistant”. Le ponemos un Nombre, en mi caso veis que se llamará Erundino, pocos más listos que él hay… asociamos un idioma, en este caso 'español'. Como Agente de conversación indicaremos “OpenAI Conversation” y el idioma en “espainiarra”. Cómo Voz a Texto escogemos “faster-whisper” y el idioma en “espainiarra”. En Texto a voz, usamos “piper”, el idioma en “espainiarra” y la voz que selecionamos anteriormente. Sakatu on “Sortu”,

eta prest, para probar, ya sabemos que en la GUI de Home Assistant, arriba a la derecha lo tenemos, seleccionamos el asistente con OpenAI que acabamos de crear y le preguntamos por lo que nos apetezca! Lo sabe casi todo 😉

VoIP con Home Assistant,

Y para finalizar este artículo veremos cómo es posible usar un teléfono tradicional, uno que tenga conector RJ11, los de toda la vida; o vaya si tenemos un teléfono VoIP, o mejor aún, un softphone instalado en nuestro PC o en nuestro teléfono móvil.

Bai, como estás entendiendo bien, podrás controlar por VoIP desde tu móvil la domótica de tu hogar, o empresa… podrás tener un acceso directo en el móvil, que al pulsarle hará una llamada y te atenderá tu asistente al momento 🙂

Para habilitar VoIP en Home Assistant, instalaremos la integración que lo permite, vamos a “Ajustes” > “Dispositivos y Servicios” > “Añadir Integración” > y buscamos 'voip'.

Bidali,

Amaitu,

Listo, así de fácil tendremos una centralita de VoIP esperando las llamadas!

Haciendo llamadas con un teléfono clásico,

Ondo, si tenemos un teléfono con un conector RJ11, un teléfono de los de toda la vida, bulegoan jartzea nahi dugun retro bat, edo sukaldean, laguntzailearekin hitz egiteko…

Aukera onena Grandstream HT801 gailuaren bidez da, gailu honek RJ11 konektore duen edozein telefono VoIP telefono bihurtzen du, hain erraza da. Badago RJ11 konektore anitz duen modelo bat, telefono osagarri bat nahi badugu… Funtzionamendua oso erraza da:

  • RJ45 sarean konektatzen dugu.
  • RJ11 telefonoan konektatzen dugu.
  • Micro USB kargagailuarekin konektatzen dugu pizteko.

Piztean, DHCP bidez IP helbidea eskuratuko du, jakin nahi badugu, Telefonoa desegin eta sakatu *** eta aukera hautatzen dugu 02, telefonomak IP helbidea emango digu.

Bere IP helbidera nabigatzaile batekin sartzen gara, berriak egiten dugu (login) , lehenetsita admin da / admin

Y realizamos una configuración opcional mínima como pueda ser una dirección IP estática, cambiarle la contraseña, establecer el NTP de nuestra red

Para que según descolguemos el teléfono marque a Home Assistant, vamos a la pestaña “FXS PORT”, en la sección deOffhook Auto-Dialindicaremos la dirección IP de Home Assistant con el siguiente formato: *47192*168*1*116*5060 y pulsamos “Aplikatu”

Si descolgamos ya nuestro teléfono, hará la llamada automáticamente y podremos escuchar cómo por el auricular nos indica que tenemos que configurar este teléfono en Home Assistant antes de poder usarlo.

Si vamos a Home Assistant, en la configuración de ‘Voice over IPveremos que ha detectado ya nuestro primer dispositivo! Pulsamos en el dispositivo,

Y aquí tendremos que primero permitirle que haga llamadas y asociarle a un Assistente de Voz que hayamos creado previamente,

Este teléfono queda listo, podemos hablar con el asistente con un teléfono tradicional!

Haciendo llamadas con un softphone de PC,

Si quieres desde tu equipo lo mismo, poder hacer llamadas fácilmente a Home Assistant para hablar con alguno de tus asistentes, estos son los pasos.

Estoy usando MicroSIP, pero entiendo que en principio valdría cualquier softphone. Una vez instalado MicroSIP, o el que sea, deberemos tener en cuenta que tengamos los codecs Opus habilitados. Si tenemos alguna cuenta ya configurada en MicroSIP contra otro VoIP, deberemos marcar aquí la opcion de 'Activar cuenta local',

Y directamente, sin hacer mucho más, podremos marcar a nuestra centralita de Home Assistant marcando en el siguiente formato: DIRECCION_IP_HOME_ASSISTANT:PUERTO

Veremos igualmente que nos indica una dulce voz que el teléfono se ha conectado bien, pero debe ser configurado antes de ser usado.

Para ello, igualmente, en la integración de Voice over IP nos habrá detectado un nuevo teléfono que deberemos activar, para ello marcaremos 'Permitir llamadas’ y asignaremos el Asistente que queramos que le atienda.

Haciendo llamadas con un softphone en el móvil,

Y bueno, este último ejemplo donde vemos cómo configurar en un teléfono móvil de Android una app para hacer llamadas de voz IP como pueda ser Mizudroid.

Una vez instalada la app deberemos configurarla, indicamos el Servidor y el Usuario, da igual el usuario, ez da aurrez existitu behar, eta ez dugu ezer sortu behar. Home Assistant-era dei bat egiteko saiatzea ahal dugu, formatoarekin markatzen dugu: bai:ha@IP_HELBIDEA:PUERTO

ondo joan bada, berriz entzun ahal izango dugu konektatu dela erakusten digun ahots goxoa, eta beti bezala VoIP integrazioaren bidez Home Assistant-en aktibatu behar dugula, (deiak onartzea eta laguntzaile bat esleitzea).

Gainera, dei hau Kontaktuen artean gehitzen badugu, ondoren mugikorraren pantailan lasterbide bat sor dezakegu, soilik sakatu eta gure Laguntzaileari dei egiten dion moduan, erraza eta sinplea!

Onena, poste honetan Home Assistant eta ahotsarekin egin ditzakegun gauza asko ikusi ditugu, etxeko interakzioa egiteko laguntzaileak sor ditzakegu, OpenAI-rekin hitz egiteko, navigatzaile beretik edo telefono mugikorreko app natibotik lagunekin hitz egiteko, halaber VoIP bidez, zoroa! Baina hau hemen amaitzen ez da, etorkizuneko dokumentuetan jarraituko dugu buruko mina ematen, asko ikusteko geratzen zaigu!

Betiko moduan espero dut norbaiti erabilgarria izan dela, eskerrik asko irakurtzeagatik hemen iritsi bazarete eta noski bihotz eta likeak eta sare sozialen gauza horiek direla eta, eskertzen da!

Muxuak!

Izenburuko mezuak

Egilea

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, ez zalantzarik izan nirekin harremanetan jartzeko, ahal duzun guztietan laguntzen saiatuko naiz, partekatu ahal dudan guztietan ;) . Dokumentuez gozatu!!!

Arpwatch

30 de May de 2023