Instalar Watchdog en domoticz

Watchdog es un mecanismo de seguridad que provoca un reset del sistema en caso de que éste se haya bloqueado. Vamos a especificar el paso a paso para poder instalarlo en domoticz.

Dividimos esta guía en varias partes

Software necesario

WinSCP

En primer lugar necesitaremos descargar e instalar WinSCP para entrar en los directorios de nuestra raspberry desde el ordenador.

Para descargarlo e instalarlo clica aquí.

Putty

El programa puTTY lo utilizaremos para conectar con nuestra raspberry por consola. Lo podéis descargar de aquí https://www.putty.org/

download putty
download putty

Lo más seguro es que vuestro PC, si es moderno, sea de 64 bits. En caso de duda bajar la versión de 32, o bien probar y si la de 64 bits no os funciona ya os bajáis la de 32 bits.

Script checkDomoticz.py

Vamos a necesitar un script (un archivo .py para la instalación). Deberéis descargar la carpeta zip del siguiente enlace, descomprimirla y quedaros con el archivo: «checkDomoticz.py«.

Lo podéis descargar de aquí

Una vez descomprimido, en caso de tener un puerto distinto al 80 para domoticz, deberéis abrir el archivo y modificar el "localhost" de la línea 12 por "IP:puerto" (de la raspberry, ejemplo: 192.168.1.138:8080)

Configuración en Winscp

Abrimos WinSCP y creamos una carpeta llamada scripts bajo la carpeta pi:

/home/pi/scripts

Es posible que la carpeta te pida permisos, en ese caso marca tal y como te aparece en la siguiente imagen:

Copiamos y pegamos el script checkDomoticz.py dentro de ese mismo directorio, con el mismo nombre.

Clicamos sobre propiedades del script y cambiamos su configuración y copiamos la de la siguiente imagen:

Configuración en Putty

Recuerda que para pegar texto en la consola podremos hacerlo clicando con el botón derecho del ratón.

Vamos a comprobar que lo que hemos hecho en el paso anterior se ha guardado correctamente. Abrimos sesión en puTTY y lanzamos la siguiente linea:

cd /home/pi/scripts

Ahora introducimos:

 ls -lh

Tendría que aparecer una línea con checkDomoticz.py

Ahora debemos reiniciar el servicio para comprobar que funciona correctamente. Reiniciamos desde domoticz: domoticz > Setup > More Options > Restart System

Abrimos sesión de nuevo en puTTY una vez haya reiniciado el sistema. Lanzamos la siguiente linea:

sudo crontab -e

Pulsamos 1 e intro:

Bajamos al final del fichero y pegamos el comando que os dejamos a continuación. Recordar que si la seleccionáis aquí, la copiáis con control + C y vais a puTTY, haciendo click derecho hará el paste:

*/5 * * * * /home/pi/scripts/checkDomoticz.py >/dev/null 2>&1

Para guardar, redactamos

Ctrl + x y save confirmando el guardado con ENTER

¿Por qué este comando? Define cuándo se va a ejecutar según las siguientes directrices.

Fíjate, en la siguiente imagen ves el significado de los asteriscos.

El */5 quiere decir siempre cada 5. Pero cada 5 qué? Pues la respuesta es…. depende. En este caso son minutos porque está en la primera posición. Si estuviera en la posición horas sería cada 5 horas.

Por si quieres probar otros servicios y necesitas calcular la frecuencia tienes esta web: https://crontab.guru/

Comprobación del funcionamiento

Ahora probamos si funciona el invento. Para ello volvemos al directorio principal si todavía estamos en scripts introduciendo el siguiente comando:

cd

Miramos si domoticz funciona conectándonos por IP, como siempre. Si está OK, lo paramos introduciendo:

sudo systemctl stop domoticz

Si funciona esperamos 5 minutos y vemos si domoticz se autorrestablece gracias a watchdog.

Si el command nos da error como en la siguiente imagen introducimos:

sudo systemctl daemon-reload

Si el comando funciona esperamos 5 minutos y vemos si domoticz se autorrestablece gracias a watchdog entrando por IP de nuevo, como cuando iniciamos domoticz estando la  raspberry apagada o cuando lo reiniciamos.

Alternativa para comprobar

dafegod del grupo «Domoticz a lo spain» de telegram nos explica una alternativa para comprobar el script:

  1. En una consola de putty, paramos el servicio de domoticz.
  2. En otra consola introducimos:
cd /home/pi/scripts 

3. Lanzamos el script (es un script, no hace falta esperar al cron) con:

python checkDomoticz.py

4. Al lanzarse, va comprobando los valores que le hemos dicho al script que tiene que comprobar.

Si el servicio está correcto:

Y si el Domoticz está caído la salida del script será:

Para cualquier duda o consulta tienes disponible el grupo de telegram «Domoticz a lo Spain» para entrar, ponerte cómodo y participar cuanto quieras.

Clica aquí para entrar en él

Cualquier duda, sugerencia o comentario será bien recibida en la web!