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 😉 Partager la publication "Redémarrage automatique de Domoticz"
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.
Merci pour l’info
Bonjour,
Si on supprime le fichier Domoticz que devient son contenu ?
Faut-il l’ajouter au fichier domoticz.service?
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
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.
Bonjour,
A quel endroit (répertoire) doit-on mettre ce script
En vous remerciant
Je l’ai mi à la racine du compte « pi » :
/home/pi
Merci bcp
Bonne journée
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
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
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 !
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
Merci pour cette astuce.
Y