
Interruptores SonOff. Firmware Tasmota y HA
Continuando con las utilidades de MQTT, hoy vamos a hablar de los interruptores SonOff.
Los interruptores SonOff son dispositivos basados en el chip ESP8266 del que te hablábamos hace unos días aquí.
La principales ventajas de estos dispositivos es que llevan incorporado el relé, no necesitan alimentación externa y su conexionado es muy sencillo.
Las desventajas que tienen es que únicamente pueden controlar un circuito y no disponen de conexión usb
Los interruptores SonOff no se pueden integrar en HA tal cual nos llegan a casa, es necesario sustituir su firmware por TASMOTA para configurar la conexión vía MQTT
Para ello, debido a la ausencia del puerto USB que comentábamos anteriormente, nos debemos apoyar en un hardware auxiliar, un convertidor USB a TTL PL2303, popularmente conocido en DomologyES como tasmoteador (los hay a partir de 2 euros).
Empezaremos descargando el firmware TASMOTA desde aquí (archivo source code.zip) y descomprimiendo en una carpeta conocida y fácilmente accesible, donde obtendrás lo siguiente:
Una vez lo tengas descargado hay que prepararlo para flashearlo en el sonoff ya configurado.
Para ello nos valdremos del IDE de Arduino, el cual puedes conseguir en la página de arduino
En cuanto tengas instalado el Arduino IDE, debes navegar hasta la carpeta Arduino del directorio donde efectuaste la instalación para encontrar arduino.exe (generalmente c:/programasinstalados/arduino) y crear una carpeta a la que debes llamar portable
Una vez creada, ejecutamos arduino.exe desde esa misma ubicación.
En el menú de arduino IDE vamos a Archivo > Preferencias y en la casilla del Gestor de URLs Adicionales de Tarjetas pegamos lo siguiente:
http://arduino.esp8266.com/versions/2.3.0/package_esp8266com_index.json
A continuación nos vamos al menú Programa > Incluir libreria > Gestionar librerías
En la casilla de busqueda, buscaremos json y pubs, y los instalaremos
Una vez esté todo instalado, volvemos a la carpeta portable que hemos creado anteriormente y si todo ha ido bien, debe aparecernos algo así:
Navegamos por las carpetas hasta encontrar el siguiente archivo sketchbook > libraries > PubSubClient > src > PubSubClient.h y lo editamos con Notepad++ o el editor que uses
y editamos la linea “MQTT_MAX_PACKET_SIZE” a “512”
Guardamos los cambios y salimos
Ahora debes ir a la carpeta de tasmota, si esa, la que te dije antes que tenia que ser conocida y fácilmente accesible.
Dentro de la carpeta sonoff encontrarás el archivo sonoff.ino, el cual debes abrir con el arduino IDE para editarlo.
Debajo de la barra de herramientas hay varias pestañas. Busca "user_config.h"
Edita la linea #define PROJECT "sonoff1"
y dale un nombre. En este caso hemos nombrado como sonoff1 para poder añadir más SonOff
Ahora configuramos el wifi
Y ahora configuramos MQTT
Guardamos los cambios
Ahora solo queda configurar la conexión. Previamente has de instalar los drivers del tasmoteador.
Te será muy sencillo encontrar los drivers para tu sistema operativo.
Para grabar TASMOTA en el SonOff, debes configurar los siguientes parámetros en el menú herramientas:
Placa: Generic ESP8266 Module
Flashmode: DOUT
Freq: 40
CPU: 80
Flash: 1M (64K SPIFFS)
Upload speed: 115200
Port: Com (el número de puerto dependerá de tu equipo. Lo puedes averiguar en el administrador de dispositivos)
A continuación debemos preparar el conexionado entre el sonoff y el tasmoteador.
Necesitarás cuatro hilos con conexiones dupont (los tipicos de arduino) hembra-macho y conectarlos según las instrucciones que vienen a continuación:
PRECAUCIÓN: Por tu seguridad, el Sonoff deberá permanecer desconectado de la corriente durante todo el proceso.
Tasmoteador | Sonoff | |
---|---|---|
VCC (3V3) | <~> | VCC |
TX | <~> | RX |
RX | <~> | TX |
GND | <~> | GND |
En la siguiente captura del vídeo que tienes al final de la página puedes ver la disposición de los pines en el SonOff
Conecta el tasmoteador al PC
Conecta solo los hilos de GROUND y los hilos RX y TX (fíjate que van cruzados)
Mantén pulsado el botón del SonOff y conecta entonces el hilo de VCC 3V. Con esto conseguimos poner el SonOff en "Flash Mode"
El PC emitirá un sonido y ya podemos liberar el botón.
En cuanto tengas todo el conexionado preparado, has de darle al botón subir de arduino IDE. En la ventana inferior podrás ver todo el progreso y además verás como muestra actividad el led del tasmoteador
Si mostrase algún error por falta de alguna librería, debes buscar en el menú de gestionar librerías el archivo que te falte e instalarlo.
Al finalizar con éxito el grabado del firmware, el SonOff emitirá un destello verde
Una vez tengamos TASMOTA en nuestro SonOff lo único que nos falta es crear el switch en HA
Para ello, nada más sencillo que ir a la carpeta switch y crear un archivo switch_sonoff1.yaml en el que pegaremos los siguiente.
Hemos llamado al archivo con el mismo nombre que le hemos dado en la linea project en "user_config.h" para identificarlo posteriormente con facilidad.
- platform: mqtt
name: "nombre que aparecerá en el frontend"
state_topic: "stat/sonoff1/POWER"
command_topic: "cmnd/sonoff1/POWER"
qos: 1
payload_on: "ON"
payload_off: "OFF"
retain: true
En las lineas state topic y command topic, debe aparecer el mismo nombre que le hemos dado en la linea project en "user_config.h"
Y ya está, si todo ha ido correctamente ya tienes tu interruptor wifi SonOff integrado en Home Assistant
Fuentes:
https://www.arduino.cc/en/Main/Software
https://github.com/arendst/Sonoff-Tasmota
Si quieres conocer otros artículos parecidos a Interruptores SonOff. Firmware Tasmota y HA puedes visitar la categoría Hardware.
- Pingback: Tasmotear SonOff RF Bridge y añadirlo en HA | Domology 2.0
Deja una respuesta