Hola a todos, os presentamos un método alternativo para integrar Alexa con Home Assistant. Con este método vamos a poder realizar «acciones» en Home Assistant a través de Alexa con Tasmota. Tengo que decir que éste método no sustituye a Nabucasa y/o Haaska, pero si no queremos complicarnos la vida y poder usar Alexa para hacernos la vida más cómoda no te lo pierdas y sigue leyendo… (Te estaré observando 🙂 ).

¿Qué necesitamos para integrar Alexa con Home Assistant?

Lo primero que necesitamos es un dispositivo «tasmoteado», en mi caso he elegido un enchufe Maxcio W-DE004, es muy simple pero muy útil. Os adjunto una imagen.

Integrar Alexa con Home Assistant a través de tasmota.

Este es el elemento principal ya que además de utilizarlo como enchufe con HA a través de MQTT lo vamos a enlazar con Alexa.

Además necesitaremos Alexa, en mi caso dispongo de un echo dot, debemos de disponer de una cuenta (gratuita) y por supuesto nuestro «cerebro domótico» Home Assistant.

Otros elementos Tasmoteables

Instalar TASMOTA para empezar a integrar Alexa con Home Assistant

Esta la parte más delicada, sobre todo si no te gusta soldar.
No desesperes…. podemos utilizar cualquier dispositivo flasheado, bien soldando o por OTA. A mí personalmente me gusta el olor a estaño quemado. Flashear el Maxcio W-DE004 me costó un poco porque los pines no están muy accesibles pero al final lo conseguí. No voy a explicar el método completo porque hay mucha información en el canal, justo aquí tenéis un par de vídeos donde se trata el tema. Me basaré en lo imprescindible para hacer efectiva la tarea de Integrar Alexa con Home Assistant.

… O flashea sin soldar …

https://www.youtube.com/watch?v=fTn-NW8Z__w
https://www.youtube.com/watch?v=wBcaIxK0C4I

Configuración del template en TASMOTA para integrar Alexa

Para poder tener este dispositivo operativo en Home Assistant es necesario utilizar un template en TASMOTA. Os lo dejo a continuación.

Maxcio W-DE004           {"NAME":"Maxcio W-DE004","GPIO":[0,17,0,0,0,0,0,0,0,56,21,0,0],"FLAG":1,"BASE":18}

Template para integrar Alexa

Esta que véis en la imagen superior es la configuración básica para que funcione el enchufe….Nada nuevo hasta el momento. Habilitamos la opción de MQTT para que esté disponible en Home Assistant y posteriormente crearemos su correspondiente switch en la plataforma domótica.

Configuración de Switches virtuales

Ahora comienza lo bueno, dentro del menú de tasmota nos dirigimos a «Configure Template».

Swicthes virtuales en Tasmota

Como véis tenemos una serie de GPIOs, unos son para la operatividad del enchufe y otros que están «libres» y que físicamente no están conectador a NADA. Aquí viene el «juego»…..

Que vamos a hacer? Vamos a configurar una serie de GPIOs para crear switch «virtuales» que no van a estar conectados físicamente pero los vamos a utilizar para crear rutinas en alexa y tener interconexión con HA. Para ello disponemos de bits (switches virtuales) que los vamos a codificar en decimal (Ummmmmmmmmmmm, que es eso? Lo que se conoce como lógica binaria). Aquí tenéis lo que vamos a hacer:

Relación de pesos en binario

Cada switch «virtual» va a tener un peso, empezando de derecha a izquierda, es decir, el switch virtual 1 será el de la derecha del todo y tendrá el valor 1, el swtich virtual 2 será el segundo de la derecha y tendrá el valor 2, y así sucesivamente. Dependiendo del número de switches virtuales que declaremos en tasmota tendremos una combinación que nos permitirá tener un montón de rutinas y por lo tanto acciones en HA.

Así es como queda el nuevo template en tasmota:

Tabla de switches virtuales

El GPIO14 será el del propio enchufe. El GPIO15 será el switch virtual 1 y valdrá 1, el GPIO16 será el switch virtual 2 y valdrá 2, el GPIO12 será el switch virtual 3 y valdrá 4, el GPIO5 será el switch virtual 4 y valdrá 8, el GPIO4 será el switch virtual 5 y valdrá 16 y el GPIO3 será el switch virtual 5 y valdrá 32. Según la tabla de conversión de binario a decimal vamos a poder realizar 32+16+8+4+2+1=63 acciones (Ahí es nada).

Le daremos a guardar y seguimos……

Integración en Alexa de MQTT

Ahora toca acabar de configurar MQTT y habilitar la opción de que sea reconocido por Alexa. Vamos a ello. Dentro del menú de tasmota nos dirigimos a Configure Other.

Creacion del Friendlynames en TASMOTA

Dentro del Frienly Name rellenamos los campos tanto del switch físico como de los switches virtuales.

En la parte de Emulation tenemos que habilitar para que los switches sean reconocidos por Alexa. Si habilitamos Belkin Wemo solo estará disponible el switch físico del enchufe y si habilitamos Hue Bridge estarán disponible TODOS los switches, tanto el físico como los virtuales. Guardamos y Voilá……… Configuración terminada y continuamos.

Creamos los switches virtuales y el sensor en Home Assistant

Lo siguiente ya será declarar los switches en Home Assistant, sí ya se que lo podemos hacer para que los «autodescubra» pero yo prefiero declararlos a «pinrel» en HA (manías de uno 😊 ). Os dejo los dos primeros pero el resto es igual, lo único que cambia es el POWERx.

Cracion de Switches MQTT en Home Assistant

Ahora necesitamos crear un sensor para «pasar» de binario a decimal, tic-tac, tic-tac, … y como hacemos eso?. Pues con un poco de imaginación, esto es HA, todo es posible. Dentro de «un» sensor (sensor.yaml por ejemplo), platform: template ponemos esto:

Creacion de sensores en Home Assistant

¿Necesitas un Alexa?

Configuramos Alexa para terminar la integración en Home Assistant

Esto ya va tomando forma. Vamos a continuar. Ahora desde Alexa vamos a crear una rutina para que active los switches virtuales y poder trabajar con ello en Home Assistant

Lo primero que haremos será descubrir los dispositivos virtuales que hemos habilitado previamente en tasmota. Los reconoce como light pero tampoco es que importe mucho…

Switches MQTT en ALEXA

Ahora haremos una rutina para, por ejemplo en mi caso, abrir las persianas domotizadas que tengo en el salón (Aquí es la imaginación de cada uno, tenemos 63 acciones).

Cracion de rutinas en Alexa

Dentro de la rutina definiremos uso de voz, por ejemplo abrir salón y vamos a «activar» el valor 40, es decir, tenemos que activar el switch virtual con valor 32 y el switch virtual con valor 8, el resto de switches virtuales los desactivaremos.

Configuracion de rutinas en Alexa

Creamos la automatización y los scripts necesarios en HA

Con esto hemos acabado la fase Alexa, ahora nos queda tratar el sensor creado anteriormente y «lanzar» la acción correspondiente. Estamos llegando a la meta.

Como vamos a hacer esto?. Vamos a crearnos una única automatización que nos va a lanzar el script correspondiente al numero decimal y dentro de éste programaremos lo que nos interese. Aquí os dejo la «auto».

Creacion de automatizaciones en Home Assistant

¿Qué hace esta automatización?. Consulta el estado del sensor que hemos creado anteriormente, si es mayor que cero esperamos un tiempo (por seguridad ) y lanzamos la acción. Actualizamos el estado del sensor (por seguridad) y lanzamos el script correspondiente al número recibido. Es decir, si recibimos el numero 40 lanzará la ejecución del script.virtual_alexa_40. Buahhhhh, como mola…. La verdad es que sí.

Para acabar, vamos a programar el script que abrirá las persianas del salón…

Creacion de Scripts en Home Assistant

Qué hace el script?. En el salón tengo dos persianas, primero abro una, cuando está abierta abre la otra, sí ya se que podría hacer las dos a la vez pero por consumo prefiero una y luego la otra; llamo a otro script que se encarga de poner a cero TODOS los swtiches virtuales y por último lanzo un mensaje en Alexa de que las persianas están abiertas.

Por supuesto, podemos crear automatizaciones interactuando con los switches virtuales para lanzar acciones igual que lo hacemos por voz con Alexa. Aquí ya os dejo a cada uno que juegue con su imaginación …

Conclusiones

Este método no pretende sustituir a nada. Hay diferentes formas de conseguir el objetivo y con este he disfrutado un montón. Todo es mejorable, se puede pulir, añadir, modificar y demás pero hasta ahora funciona de lujo. Yo ya me he creado cerca de 40 scripts para luces, alarmas y demás. Todo lo que se es ocurra es posible. Espero que os haya gustado tanto como a mí y que le podáis sacar partido. Como se suele decir la imaginación al poder y con HA todo es posible.

Muchas gracias a @jhony251 por el excelente trabajo que hace y nos vemos en el próximo post.

Un saludo. Hackos

Por Juan Antonio

Creador y Administrador de isytec.net. Como amante de las tecnologías que soy, disfruto conociéndolas, probándolas y lo que más me gusta es contaros mi opinión por si os ayuda en algo. Espero que disfrutéis tanto de isytec.net como yo. :)

Un comentario en «Integrar Alexa con Home Assistant a través de Tasmota sin Nabucasa ni Hasska»
  1. Hola, estoy intentando hacer esto, y me da muchos problemas la automatización, cuando llamas al script virtual_alexa_xx. Diría que hay algo mal escrito. ¿Me puedes ayudar?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.