Redémarrage automatique de Domoticz

Il arrive parfois qu’une coupure de courant reboot la box Bouygues Telecom. Hors nous nous sommes rendu compte que ce redémarrage de la connexion internet nous fait planter domoticz.

J’ai tout d’abord soupçonné un mauvais redémarrage de la raspberry, mais en refaisant un test de reboot de la box. Domoticz plante. Je pige pas.

Bref, les coupures ou reboot de box sont inévitables. Donc c’est du coté de la raspberry qu’il faut bosser.

Voici le script utilisé pour surveiller le service domoticz : auto_reboot_domoticz.sh

#!/bin/bash

serv=domoticz
sstat=$(pidof $serv | wc -l )

if [ $sstat -gt 0 ]
then
    echo "$serv is running fine!!!"
else
    echo "$serv is down/dead"
    sudo service $serv restart
    echo "$serv service is UP now!!!" 
fi

On oublie pas de rendre executable…

sudo chmod +x auto_reboot_domoticz.sh

Ce programme d’auto reboot de domoticz peut être tester en lancant un simple :

#sudo ./auto_reboot_domoticz.sh

A tester en arrêtant domoticz. Le service doit redémarrer.

Il ne reste plus qu’à ajouter ce script au cron du système :

*/5 * * * * ./auto_reboot_domoticz.sh > /dev/null 2>&1

Dans cet exemple, le script est lancé toutes les 5mn. Donc en cas d’arret, Domoticz se relance.

Simple, rapide, efficace.


Cet article vous a plu ? Partagez-le 😉




Ceci pourrait vous intéresser :

13 Thoughts to “Redémarrage automatique de Domoticz”

  1. Hal

    Autre solution que je trouve plus élégante en utilisant systemd, qui est fait pour ca.
    Il faut supprimer le fichier /etc/init.d/domoticz et le remplacer par:
    /etc/systemd/system/domoticz.service

    [Unit]
    Description=domoticz_service
    After=time-sync.target
    [Service]
    User=domoticz
    Group=domoticz
    ExecStart=/opt/domoticz/release/domoticz -www 8080 -sslwww 8443
    WorkingDirectory=/opt/domoticz/release
    #AmbientCapabilities=CAP_NET_BIND_SERVICE
    Restart=on-failure
    RestartSec=10
    [Install]
    WantedBy=multi-user.target

    Et voila, systemd relance tout seul domoticz 10s après un crash. De plus sur un raspberry pi, qui n\’a pas de RTC, ca permet d\’attendre que le raspberry pi soit à l\’heure avant de lancer domoticz.

    1. yann

      Merci pour l’info

    2. Jeanouss

      Bonjour,
      Si on supprime le fichier Domoticz que devient son contenu ?
      Faut-il l’ajouter au fichier domoticz.service?

    3. Hal

      Si tu ne veux pas le supprimer, tu peux le déplacer dans /root par exemple pour ne pas le perdre:
      « mv /etc/init.d/domoticz /root/. »

      Une fois mis le fichier systemd, il faut faire:
      systemctl reload-daemon
      systemctl enable domoticz
      systemctl start domoticz

      Et pour finir un petit reboot du Rpi pour être sûre que tout démarre correctement:
      shutdown -r now

    4. Pavel

      Bonjour,
      Désolé d’intervenir sur un poste qui date un peu, mais j’ai besoin d’aide a ce propos.
      Pouvez vous me donner la procédure pour effectuer cette modification ?
      Je précise que je suis novice sur le sujet mais domoticz ne démarre pas non après une coupure.
      Merci d’avance pour votre aide.

  2. Pierre-Frank

    Bonjour,
    A quel endroit (répertoire) doit-on mettre ce script
    En vous remerciant

    1. yann

      Je l’ai mi à la racine du compte « pi » :
      /home/pi

  3. Pierre-Frank

    Merci bcp
    Bonne journée

  4. bonjour. Merci beaucoup pour ce tuto. J’ai mis le script dans /home/pi/script. Du coup est ce que dans le CRON, cela convient si je mets
    */5 * * * * root /home/pi/script/auto_reboot_domoticz.sh > /dev/null 2>&1

    merci encore

    1. yann

      oui si le script est bien dans /home/pi/script.
      plus d’infos sur le cron : https://www.linuxtricks.fr/wiki/cron-et-crontab-le-planificateur-de-taches

  5. JF

    Bonjour Hal !
    Ta solution a l’air géniale, mais perso, ce n’est pas un fichier domoticz que j’ai dans /etc/init.d/, mais un fichier domoticz.sh (un script shell quoi), et qui a l’air drôlement complexe ! => à supprimer / déplacer malgré tout ou à conserver car ça n’a rien à voir avec le fichier dont tu parles .
    Merci !

  6. Dom

    Bonjour, super ça marche très bien
    j’ai juste ajouté ces 2 lignes pour garder une trace des redémarrages dans un fichier
    ça peux aider à trouver pourquoi domoticz plante
    echo | date +%H:%M-Le-%d/%m >>plantage.txt
    echo « heure de plantage « >>plantage.txt

    encore Bravo pour cette aide

    1. yann

      Merci pour cette astuce.
      Y

Leave a Comment