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

 

También te podría gustar...

3 Respuestas

  1. FRN dice:

    Si instalamos IDE en MAC no hace falta crear la carpeta portable, podemos encontrar los ficheros que nos indican en /documentos/arduino/libraries

Deja un comentario