Hoy exploraremos cómo integrar un dispositivo Sonoff en Home Assistant sin "tasmotearlo", es decir, sin tener que flashear su memoria para cambiar el firmware. Esto nos facilita la tarea de instalación ya que no necesitaremos soldar nada, además conseguimos tener el control del dispositivo por partida doble, una desde HA la otra desde la app nativa.
La contrapartida : la perdida de la independencia con la nube , y de opciones que nos da el tasmotear el dispositivo ya que trabajaremos sobre el firmware original y las capacidades del cloud, no sobre un broker mqtt integrado en nuestros dispositivos sea PI , NUC ó NAS , ...
A día de hoy los dispositivos testeados y las versiones compatibles verificadas son las siguientes :
Lo primero que haremos desde la app de ewelink es emparejar el dispositivo con nuestra wifi.
Es VITAL para el dispositivo desactivar el componente
sonoff
de HA si se realiza una actualización de firmware de otra manera corremos el riesgo de quedarnos con un bonito pisa papeles.
Descargamos los archivos necesarios desde GitHub.
Estos son los archivos que nos interesan: Empezaremos copiando los archivos"sonoff.py" extraidos en la carpeta >custom_components con la siguiente arquitectura:
En nuestra configuration.yaml añadimos lo siguiente :
Aquí definimos el tiempo máximo de actualización de estado de los dispositivos.
Debemos saber que si pedimos un cambio desde Alexa o Google Home, el cambio se mostrará en HA en un período máximo inferior al especificado, mientras que al cambiarlo mediante la interfaz /acciones / etc. de HA se hará instantáneamente.
Sin embargo el tiempo de refresco en HA cuando se activa el dispositivo desde la app nativa puede superar los 2 min.
Debido a que la app de Ewelink solo permite tener una sesión activa.
Esto bloquea temporalmente las actualizaciones de estado de HA durante el tiempo indicado y así dar tiempo al componente sonoff invalidar la sesión móvil y reiniciar el proceso.
Una solución es crear una segunda cuenta y compartir los dispositivos creados en la cuenta principal así tendremos una app dedicada para el móvil y otra para HA (cada una con su usuario y contraseña particular).
Si estamos en HASS.IO y no nos funciona deberemos actualizar python.
Debido a la estructura de hass.os y no deja instalar nada fuera de sus addons , daremos permiso al script python para que se instale .
Lo haremos desde la consola logeandonos como habitualmente usuario:root – password :root si no lo has cambiado .
A continuación introducimos:
1 |
apk add --no-cache python3 |
Reiniciamos y en el frontend de nuestro HA y nos aparecerá nuestro sonoff con el nombre de bautismo:
y en la app oficial también :