En este artículo voy a cargar un Script de la librería de Shelly y configurarlo para que se ejecute en un Shelly Plug Plus S. El script se denomina Router Watchdog y su función es la de resetear el router si detecta que este se ha quedado "colgado". Para ello el script intenta ejecutar solicitudes HTTP GET dentro de un tiempo determinado, a un conjunto de servidores. Después de una cierta cantidad de fallos de conexión, el script apaga el relé y después de un tiempo lo vuelve a encender. Para ello voy a enchufar mi router al Shelly.
Si quieres colaborar con el desarrollo del blog puedes hacerlo adquiriendo uno de estos dispositivos en Amazon España a través del siguiente enlace:
En este artículo no voy a explicar el código del script, tan solo voy a explicar como cargarlo en el dispositivo. Para empezar, averiguamos la dirección IP del Shelly utilizando la app y accedemos utilizando un navegador web.
Cuando importamos el script nos indica además que podemos habilitar la consola. Es interesante hacerlo porque podemos ver los reportes o log que envía el script (comandos print).
Bajo el nombre del script tenemos tres opciones:
- Save: Cargamos el script en el dispositivo
- Snippets: Nos muestra una especie de resumen de los comandos disponibles para realizar nuestros scripts y nos permite insertar su código en nuestro script.
- Docs: Enlace que nos lleva a la documentación técnica sobre los script de Shelly.
Seleccionamos Save y el script se guarda en nuestro dispositivo. Además, nos aparecen dos nuevas opciones:
- Start: que nos permite ejecutar el script.
- Delete: Nos permite borrar el script de nuestro dispositivo.
Si seleccionamos Start la consola nos muestra el mensaje que se ha puesto en marcha el script y la hora en que se ha producido.
Breve explicación del código
Los puntos finales a los que intenta acceder son los siguientes:
Si accedo a esos servicios con un navegador web, el primero me devuelve europe-southwest1 y, el segundo, us-central1. Son servicios que miden la latencia de mi conexión con las regiones de Google Cloud, que son aquellas zonas donde Google tiene centros de datos y devuelven la zona donde existe menos latencia.
Otros parámetros que se definen en el script son los siguientes:
- numberOfFails: Número de fallos consecutivos que producirá el apagado y encendido del relé, en este caso 3 fallos.
- httpTimeout: tiempo que permanecerá apagado el relé, en este caso 10 segundos
- toggleTime: tiempo que transcurrirá entre las peticiones HTTP GET después de producirse un fallo, en este caso 30 segundos. Como el número de fallos son 3 significa que esperará un minuto y medio antes de apagar el relé.
- pingTime: nos define cada cuanto tiempo realizará una petición HTTP GET, en este caso cada 60 segundos.
Resumen
Como puedes ver, es muy sencillo cargar un script predefinido en la librería de Shelly en nuestro dispositivo. Te invito a que investigues qué hacen el resto de scripts de la librería y pruebes a instalar alguno de ellos si te es de utilidad. Yo voy a dejar instalado éste en mi Shelly Plus Plug S y que controle mi router.
No hay comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.