Sonoff S26 con Tasmota con Watchdog de router

Hace unos días me llegaron unos sonoff S26 , uno de ellos lo quería usar como Watchdog en el router ya que una vez por semana se queda frito de la chicha que le doy , hacer que de forma automatica se reinicie si no hay conexión , el primer paso fue meterle Tasmota y aplicar la plantilla del S26.

Después le puse una regla para que hiciera cuatro intentos de ping a cloudflare ( 1.1.1.1 ) cada cinco minutos y si fallaba apagase el router diez segundos y lo volviera a encender

Así quedaria la regla vista desde la consola de tasmota.

Al ponerla en marcha devuelve un error de Command Unknown

Después de mirar vi que este comando en el firmware habitual de tasmota no esta implementado , hay que crear un firmware personalizado e incluir la directiva.

#define USE_PING

Toda la información para compilar nuestro firmware la podemos encontrar en este enlace https://tasmota.github.io/docs/Compile-your-build/

Una de las opciones mejores para no complicarnos la vida es usar un entorno web para compilar el firmware , el enlace es este

Si no tenemos cuenta en Gitpod tendremos que registrarnos con nuestra cuenta de Github.

Una vez creado el entorno de desarrollo , una interface nos guiara paso a paso

Pondremos nuestras opciones para la red wifi

Elegimos el modulo donde va a ir el firmware , en este caso el genérico y añadimos las características que deseamos añadir.

Este es el momento de añadir la directiva para que podamos usar el comando ping desde nuestra regla

#define USE_PING

Si todo es correcto empezara la compilación del firmware con las opciones previamente configuradas

Al acabar nos dará la opción de bajar el bin del firmware y también bajarlo comprimido en gzip

Para evitar todos estos pasos os dejo aquí ambos ficheros ya preparados para su uso :

Procedemos a instalarlo desde la opción de subir el fichero

Empieza la actualización ….

Pero nos da un error de espacio !!!! 🙁

Para evitar este error descargaremos desde https://ota.tasmota.com/tasmota/ , el fichero tasmota-minimal.bin que nos permite actualizar fichero mas grandes posteriormente sin problemas

Lo subimos de nuevo ….

Una vez que arranque nos avisa de que esta bajo el firmware minimal y que actualicemos con nuestro firmware

Volvemos a subir nuestro firmware personalizado.

Ahora si , al arrancar ya nos arranca con nuestro firmware !!! 🙂

Volvemos a meter nuestra regla de nuevo y esta vez si responde al comando ping correctamente.

Aquí vemos como forcé para hacer pruebas apagando directamente la salida del relé del s26 , y al no responder hace el ciclo de fallo de ping , apagando el router , una espera de diez segundos y luego le da tensión de nuevo.

Y aquí podemos ver como si responde al ping no hace nada y espera al siguiente ciclo

Al final después de varias pruebas comprobé que cinco minutos van un poco justo por lo que subiremos en tiempo de watchdog a 10 minutos y 8 intentos en el ping.

Nuestra regla quedaria así

Y con esto y un bizcocho ….

BONUS : Si queremos integrarlo en nuestro Home Assistant podemos hacerlo de la siguiente forma , primero un binary sensor mqtt por ejemplo así.

Y alguna automatización del estilo

A los diez minutos de que ha pasado de OFF a ON nos envia un mensaje por Telegram