Los nuevos dispositivos de Sonoff poseen el modo DIY que nos permite el manejo de los mismos por medio de una aplicación del fabricante incluyendo, el flasheo de firmware alternativos como puede ser Tasmota.
Como muchos queremos una integración LAN, la opción de poder flashear otro firmware es más que atractiva. Gracias al nuevo modo DIY, Sonoff nos ha facilitado el trabajo poniendo este nuevo modo y una aplicación para poder hacerlo.
El problema es que esta aplicación, aunque hecha en Python, no funciona de forma nativa en Linux y existen varias formas de hacerlo, pero, la mayoría de las soluciones pasa por tener que lanzar los comandos a mano.
Antes de comenzar, os enseñamos como hacerlo en Windows.
NOTA: Para poder flashear los dispositivos es recomendable enlazarlos primero a eWeLink para actualizarlos a la última versión (ahora mismo, a fecha del post, la 3.3.0) y posteriormente, apagamos el sonoff, lo abrimos y ponemos el jumper DIY.
Si estáis trabajando en Window o en una distribución de Linux que permita compartir internet por medio de la WiFi, tendréis que crear un punto de acceso con los siguientes datos:
Nombre: sonoffDiy Clave: 20170618sn Cifrado: WEP Frecuencia: 2.4 Ghz
Si no podéis o no sabéis hacer el punto de acceso en vuestro portátil, podéis hacerlo en el móvil y conectar vuestro portátil al movil y lo Sonoff se conectarán igualmente a ella.
Flash Sonoff DIY en Windows
Los pasos para hacerlo desde Windows son sencillos, lo primero que tendremos que hacer es descargar el programa de Sonoff, podéis hacerlo aquí. Entráis en “tools” y descargáis el que se llama “tool_01DIY85(3.3.0).exe” (puede que cuando lancen nueva versión cambie el nombre).
Una vez con el punto de acceso puesto y tanto nuestro portatil conectado (o siendo el que comparte), conectamos los Sonoff y cuando pasen unos segundos, arrancamos el programa y deberíamos verlos.
Para el flasheo, podéis mirar más abajo en “Arrancamos el Sonoff DIY tool”, una vez que se arranca el programa, es idéntico.
Problemas arrancando el Sonoff DIY tool
- Si a la hora de arrancar el software no os arranca, instalad el .Net redistributable de vuestro Windows. En mi caso, fue el problema que no dejaba arrancar el programa (aunque no indica el problema).
Flash Sonoff DIY en Linux
Al igual que en Windows, usaremos el mismo software, pero, antes, tendremos que instalar Wine.
Para aquellos que no lo conozcan, Wine son las librerías para poder ejecutar aplicaciones de Windows en Linux. En mi caso, con la versión 4.15 me ha funcionado a la perfección, eso si, la versión 32 bits.
Cuando arrancáis el programa por primera vez os pedirá instalar Mono y otras dependencias, le decís que si a todo y debería funcionar. Es recomendable ejecutarlo como root con sudo.
Arrancamos el Sonoff DIY tool
Una vez que hemos arrancado el software, si todo ha ido bien y no habéis tenido problema con todos los pasos anteriores, tanto en Windows como en Linux, debería saliros una pantalla así:
Como veis, os deben aparecer tantos Sonoff como tengáis conectados al punto de acceso arriba indicado. Ahora, vamos a flashear directamente, aunque, podéis configurar también el dispositivo para cambiar su comportamiento si queréis mantenerlo con el firmware original. Por ejemplo, podemos cambiar la manera de comportarse cuando se va y vuelve la luz, apagado, encendido o mantener el último estado.
Pero lo que realmente nos interesa es poder cambiar el firmware, que es lo que quería hacer cuando empecé a ver el tema. Antes de nada, hay que bajar un firmware precompilado de Tasmota para poder ponerlo en nuestro dispositivo, para ello, podéis hacerlo aquí.
Una vez que tenemos el firmware, podemos darle al botón de la derecha que pone “Firmware Flash”, al darle, no sale una nueva ventana más pequeña que nos pide el fichero que nos hemos bajado (el firmware de Tasmota), lo buscamos donde lo hemos guardado y luego el device, que es el sonoff que queremos flashear. Si tenemos más de un dispositivo, podemos abrir el desplegable y seleccionar el que queramos, y, posteriormente le damos a “Flash device list”. Lo de darle a ese botón creo que es necesario porque muchas veces me decía que no había dispositivo seleccionado, por lo que creo que viene a ser como un “Aceptar”.
Una vez hecho esto, le daríamos a OK y debería empezar el proceso en unos segundos:
Cuando termina de hacerlo, nos indica que se debe reiniciar o que reiniciemos a mano (quitando y poniendo corriente). Aunque Tasmota arranca con el jumper puesto, es recomendable quitarlo para evitar que interfiera con algún uso del GPIO16 (quitad la corriente antes de manipular):
Una vez quitada la corriente, quitado el jumper y vuelta a poner la corriente, tendremos nuestro dispositivo con un hotspot de Tasmota para poder configurarlo y darle nuestros datos de la WiFi donde se van a conectar.
Cosas que se pueden hacer en la aplicación
Aunque la idea principal es poder flashearlo, podéis hacer lo siguiente:
- Como hemos dicho, cambio de firmware
- Podemos manejar el relé para encender o apagar de forma manual ya que al poner el jumper el sonoff activa la API para tocar en local
- Cambiar el comportamiento del relé cuando vuelve la luz, “ON”, “OFF” o “KEEP”, keep es mantener el anterior estado
- Podemos cambiar la wifi a la que se conectan, por ejemplo, si no queremos flashear y queremos que entren en una wifi en concreto y así poder tocarlos desde nuestra LAN en cualquier PC conectado a la misma, sin tener que crear el punto de acceso.