Redémarage automatique de Domoticz
-
Limousin19
- Messages : 26
- Inscription : 18 déc. 2022, 14:10
Redémarage automatique de Domoticz
Bonjour,
Je viens de réinstaller Domoticz sur un Rasberry Pi avec la dernière version Raspian light et je suis confronté au problème du redémarrage automatique de Domoticz après coupure du secteur.
Pourriez-vous m'indiquer un script fiable avec les indications pour l'installer svp ?
Je viens de réinstaller Domoticz sur un Rasberry Pi avec la dernière version Raspian light et je suis confronté au problème du redémarrage automatique de Domoticz après coupure du secteur.
Pourriez-vous m'indiquer un script fiable avec les indications pour l'installer svp ?
Re: Redémarage automatique de Domoticz
Tu peux expliquer un peu plus le problème que tu rencontres ?
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
-
Limousin19
- Messages : 26
- Inscription : 18 déc. 2022, 14:10
Re: Redémarage automatique de Domoticz
Les coupures de courant étant fréquentes chez moi, je cherche un script fiable pour relancer Domoticz, car le programme va gérer mon chauffage. J'ai finalement trouvé deux scripts sur cette page :
https://www.dekloo.net/arduino-raspberr ... oticz/2530.
- Je ne vois pas où il faut télécharger le premier script qui s'appelle "auto_reboot_domoticz.sh".
- Le deuxième script est peut-être mieux, mais il faut modifier le fichier domoticz, et comme un des commentateurs le dit : "ce n’est pas un fichier domoticz que j’ai dans /etc/init.d/, mais un fichier domoticz.sh".
Donc je suis dans le brouillard et je cherche toujours un script qui correspondrait à ma configuration. Je précise que je ne connais ni Raspian, ni les variantes de Domoticz...
https://www.dekloo.net/arduino-raspberr ... oticz/2530.
- Je ne vois pas où il faut télécharger le premier script qui s'appelle "auto_reboot_domoticz.sh".
- Le deuxième script est peut-être mieux, mais il faut modifier le fichier domoticz, et comme un des commentateurs le dit : "ce n’est pas un fichier domoticz que j’ai dans /etc/init.d/, mais un fichier domoticz.sh".
Donc je suis dans le brouillard et je cherche toujours un script qui correspondrait à ma configuration. Je précise que je ne connais ni Raspian, ni les variantes de Domoticz...
Dernière modification par Keros le 03 mars 2023, 12:39, modifié 1 fois.
Raison : Citation supprimée. Merci de ne pas citer le message précédent lors d'une réponse directe.
Raison : Citation supprimée. Merci de ne pas citer le message précédent lors d'une réponse directe.
-
Chrominator
- Messages : 1042
- Inscription : 19 déc. 2015, 07:29
- Localisation : France
Re: Redémarage automatique de Domoticz
Redémarrer ton domoticz ne devrait pas te soucier autant que ces coupures de courant ;
Les systèmes à base d’Unix n'aiment pas ces interruptions.
Tu risques de te retrouver avec un système de fichier non montable et là ça ne démarrera plus du tout jusqu'à ce que tu corriges ce système de fichier sur un autre ordinateur Unix.
Cherche un onduleur en parallèle de ce script si ces coupures sont fréquentes.
Pour redémarrer, je te conseille monit, fiable et peu gourmand.
Il y a une discussion à ce sujet ici.
Les systèmes à base d’Unix n'aiment pas ces interruptions.
Tu risques de te retrouver avec un système de fichier non montable et là ça ne démarrera plus du tout jusqu'à ce que tu corriges ce système de fichier sur un autre ordinateur Unix.
Cherche un onduleur en parallèle de ce script si ces coupures sont fréquentes.
Pour redémarrer, je te conseille monit, fiable et peu gourmand.
Il y a une discussion à ce sujet ici.
Un bon frein vaut mieux que deux sparadraps.
Ubuntu 24.04.3 LTS - Domoticz 2025.1 (build 16782)
Pentium G3220T 2.6GHz - 4Go DDR3
RFXtrx433 USB Ver Pro1/1043
Z-Stick GEN5 Version: 1.6-1136-g07ea22bb
Rtl433 RTL-SDR receiver
RFLink Gateway
Zigbee SLZB-06
Ubuntu 24.04.3 LTS - Domoticz 2025.1 (build 16782)
Pentium G3220T 2.6GHz - 4Go DDR3
RFXtrx433 USB Ver Pro1/1043
Z-Stick GEN5 Version: 1.6-1136-g07ea22bb
Rtl433 RTL-SDR receiver
RFLink Gateway
Zigbee SLZB-06
Re: Redémarage automatique de Domoticz
Je valide ce duo de mon côté depuis plusieurs années.
Onduleur + monit et plus de problème
Onduleur + monit et plus de problème
-
Limousin19
- Messages : 26
- Inscription : 18 déc. 2022, 14:10
Re: Redémarage automatique de Domoticz
Merci beaucoup pour ces réponses.
- J'ai effectivement un onduleur pour mon PC et mon NAS, je vais également y connecter le Rasberry, suite à vos sages conseils.
- J'ai installé monit sans problème.
Ensuite je vois qu'il y a pas mal de paramètres à renseigner dans monitrc. Il me semble aussi qu'il faut ajouter ce code indiqué sur la page officielle pour lancer Domoticz.
- Mais à quel endroit du script l'ajoute-t-on ? A la fin tout simplement ?
- J'ai effectivement un onduleur pour mon PC et mon NAS, je vais également y connecter le Rasberry, suite à vos sages conseils.
- J'ai installé monit sans problème.
Ensuite je vois qu'il y a pas mal de paramètres à renseigner dans monitrc. Il me semble aussi qu'il faut ajouter ce code indiqué sur la page officielle pour lancer Domoticz.
- Mais à quel endroit du script l'ajoute-t-on ? A la fin tout simplement ?
Code : Tout sélectionner
check process domoticz with pidfile /var/run/domoticz.pid
start program = "/usr/bin/sudo /bin/systemctl start domoticz.service"
stop program = "/usr/bin/sudo /bin/systemctl stop domoticz.service"
# use below start/stop command for older systems not using systemctl
# start program = "/etc/init.d/domoticz.sh start"
# stop program = "/etc/init.d/domoticz.sh stop"
if failed
url http://127.0.0.1:8080/json.htm?type=command¶m=getversion
and content = '"status" : "OK"'
for 2 cycles
then restart
if 5 restarts within 5 cycles then exec "/sbin/reboot"-
Chrominator
- Messages : 1042
- Inscription : 19 déc. 2015, 07:29
- Localisation : France
Re: Redémarage automatique de Domoticz
Oui, à la fin de monitrc ça va marcher.
Perso je fais pas comme ça.
Je mets les configs dont j'ai potentiellement besoin dans le répertoire monit/conf-available et je crée un lien dans le répertoire monit/conf-enabled vers la config que je veux utiliser.
Ça paraît sûrement compliqué en le lisant mais c'est pratique, si je ne veux plus utiliser une config je supprime le lien mais la config est toujours présente dans monit/conf-available.
Perso je fais pas comme ça.
Je mets les configs dont j'ai potentiellement besoin dans le répertoire monit/conf-available et je crée un lien dans le répertoire monit/conf-enabled vers la config que je veux utiliser.
Ça paraît sûrement compliqué en le lisant mais c'est pratique, si je ne veux plus utiliser une config je supprime le lien mais la config est toujours présente dans monit/conf-available.
- Pièces jointes
-
- Capture d'écran 2023-03-03 201627.png (46.77 Kio) Consulté 993 fois
Un bon frein vaut mieux que deux sparadraps.
Ubuntu 24.04.3 LTS - Domoticz 2025.1 (build 16782)
Pentium G3220T 2.6GHz - 4Go DDR3
RFXtrx433 USB Ver Pro1/1043
Z-Stick GEN5 Version: 1.6-1136-g07ea22bb
Rtl433 RTL-SDR receiver
RFLink Gateway
Zigbee SLZB-06
Ubuntu 24.04.3 LTS - Domoticz 2025.1 (build 16782)
Pentium G3220T 2.6GHz - 4Go DDR3
RFXtrx433 USB Ver Pro1/1043
Z-Stick GEN5 Version: 1.6-1136-g07ea22bb
Rtl433 RTL-SDR receiver
RFLink Gateway
Zigbee SLZB-06
-
Limousin19
- Messages : 26
- Inscription : 18 déc. 2022, 14:10
Re: Redémarage automatique de Domoticz
D'accord, merci. Je vois l'idée en gros mais je ne suis pas sûr de comprendre toute la mise en oeuvre :
Par exemple, je crée un fichier domoticz_autoboot avec le script dans monit/conf-available,
puis je crée un autre fichier vide @domoticz_autoboot dans monit/conf-enabled.
OK ?
Il n'y aurait pas de commande pour initialiser tout ça au final ? Monit regarde systématiquement les fichiers de conf-enabled ?
Ce que tu appelles "les configs", dans mon cas, ce serait un fichier texte avec un nom quelconque où je colle le bout de script ?Je mets les configs dont j'ai potentiellement besoin dans le répertoire monit/conf-available
Concrètement, ce lien est un fichier vide dont le nom est celui de la config précédé de "@" ?je crée un lien dans le répertoire monit/conf-enabled vers la config que je veux utiliser.
Par exemple, je crée un fichier domoticz_autoboot avec le script dans monit/conf-available,
puis je crée un autre fichier vide @domoticz_autoboot dans monit/conf-enabled.
OK ?
Il n'y aurait pas de commande pour initialiser tout ça au final ? Monit regarde systématiquement les fichiers de conf-enabled ?
-
Chrominator
- Messages : 1042
- Inscription : 19 déc. 2015, 07:29
- Localisation : France
Re: Redémarage automatique de Domoticz
En effet, c'est bien cela.Limousin19 a écrit : 04 mars 2023, 02:06 Ce que tu appelles "les configs", dans mon cas, ce serait un fichier texte avec un nom quelconque où je colle le bout de script ?
Non c'est l'outil que j'utilise qui montre que c'est un lien en mettant un "@" en initiale.je crée un lien dans le répertoire monit/conf-enabled vers la config que je veux utiliser.
Concrètement, ce lien est un fichier vide dont le nom est celui de la config précédé de "@" ?
Pas un fichier vide mais un lien.Par exemple, je crée un fichier domoticz_autoboot avec le script dans monit/conf-available,
puis je crée un autre fichier vide @domoticz_autoboot dans monit/conf-enabled.
OK ?
Ca se crée en étant dans le répertoire monit/conf-enabled et en tapant ensuite
Code : Tout sélectionner
ln -s ../monit/conf-available/domoticz_autoboot domoticz_autobootEn effet, normalement tu vas trouver ce qui suit dans le fichier monit/monitrc.Monit regarde systématiquement les fichiers de conf-enabled ?
Ca lui indique de prendre en compte les config qui figurent dans les répertoires désignés après le mot-clé include.
Code : Tout sélectionner
###############################################################################
## Includes
###############################################################################
##
## It is possible to include additional configuration parts from other files or
## directories.
#
include /etc/monit/conf.d/*
include /etc/monit/conf-enabled/*
Un bon frein vaut mieux que deux sparadraps.
Ubuntu 24.04.3 LTS - Domoticz 2025.1 (build 16782)
Pentium G3220T 2.6GHz - 4Go DDR3
RFXtrx433 USB Ver Pro1/1043
Z-Stick GEN5 Version: 1.6-1136-g07ea22bb
Rtl433 RTL-SDR receiver
RFLink Gateway
Zigbee SLZB-06
Ubuntu 24.04.3 LTS - Domoticz 2025.1 (build 16782)
Pentium G3220T 2.6GHz - 4Go DDR3
RFXtrx433 USB Ver Pro1/1043
Z-Stick GEN5 Version: 1.6-1136-g07ea22bb
Rtl433 RTL-SDR receiver
RFLink Gateway
Zigbee SLZB-06
-
pierrotori
- Messages : 821
- Inscription : 29 févr. 2016, 12:11
Re: Redémarage automatique de Domoticz
à l'époque j'avais ce script dans le crontab, quand il y a une coupure de courant le rpi redémarre et le service domoticz est en statut exited. j'avais ajouté aussi le check du serveur apache suite à la montée de version
Code : Tout sélectionner
#!/bin/bash
# Script check service de domoticz et qui relance si off ou crash
now=$(date) # récupération de la date et heure pour les logs
applog=$(date +%d" "%b" "%X)" "$(hostname)" ("$(whoami)"): "
appmsg=$(date +%d" "%b" "%X)":"
debug=N # Y/N mode debug
res=1 # si >0 erreur
f_dry_run=N # on simule la commande
path_log=/home/pi/exploit/log
cd $path_log
#Récupération du retour de la commande de status
# Active: active (failed)
domoticz=$(sudo service domoticz.sh status|egrep -i '(failed)|(dead)')
if [ $? == 0 ] # Si le service arrete
then
if [ ! -f "failed.txt" ]
then
touch failed.txt
relance=$(sudo service domoticz.sh start) # On le lance
echo "$applog relance service" >> /home/pi/exploit/log/exp_domoticz.log
res=1
else
if [ ! -f stopped.txt ]
then
touch stopped.txt
curl -s "https://platform.clickatell.com/messages/http/send?apiKey=xx==&to=+33&content=Reboot_serveur_domotique"
echo "$applog reboot" >> /home/pi/exploit/log/exp_domoticz.log
res=2 # ne sert pas car reboot
relance=$(sudo reboot) #On reboot
else
res=3
fi
fi
else
#Récupération erreur cas coupure de courant ou crash database
# Active: active (exited)
domoticz=$(sudo service domoticz.sh status|grep -i '(exited)')
if [ $? == 0 ] # Si le service est stoppped
then
if [ ! -f "exited.txt" ]
then
touch exited.txt
curl -s "https://platform.clickatell.com/messages/http/send?apiKey=xx==&to=+33&content=Reboot_serveur_domotique-1"
echo "$applog reboot(1)" >> /home/pi/exploit/log/exp_domoticz.log
res=1 # ne sert pas car reboot
relance=$(sudo reboot) #On reboot
else
if [ ! -f stopped.txt ]
then
touch stopped.txt
curl -s "https://platform.clickatell.com/messages/http/send?apiKey=xx==&to=+33&content=Reboot_serveur_domotique-2"
echo "$applog reboot(2)" >> /home/pi/exploit/log/exp_domoticz.log
res=2 # ne sert pas car reboot
relance=$(sudo reboot) #On reboot
else
res=3
fi
fi
else
res=0
fi
fi
# check service apache up
# Active 0
domoticz=$(curl -m 25 -s -i "http://127.0.0.1:8080/json.htm?type=command¶m=getversion")
if [ $? != 0 ] #
then
if [ ! -f "apache.txt" ]
then
touch apache.txt
curl -s "https://platform.clickatell.com/messages/http/send?apiKey=xx==&to=+33&content=Reboot_serveur_domotique-3"
echo "$applog reboot(3)" >> /home/pi/exploit/log/exp_domoticz.log
res=4 # ne sert pas car reboot
relance=$(sudo reboot) #On reboot
else
res=3
fi
fi
if [ $res == 0 ]
then
if [ $debug == Y ]
then
echo "$applog Domoticz est démarré" #On log l'état normal
fi
if [ -f failed.txt ]
then
curl -s "https://platform.clickatell.com/messages/http/send?apiKey=xxx==&to=+33&content=Redemarrage_service_domotique"
rm failed.txt
fi
if [ -f exited.txt ]
then
rm exited.txt
if [ $f_dry_run == Y ]
then
echo "$applog EXITED on allume la prise wifi" >> /home/pi/exploit/log/exp_domoticz.log
else
echo "$applog EXITED on allume la prise wifi" >> /home/pi/exploit/log/exp_domoticz.log
curl -s 'http://127.0.0.1:8080/json.htm?type=command¶m=switchlight&idx=8&switchcmd=On'
sleep 2 # Waits 2 seconds
fi
fi
if [ -f stopped.txt ]
then
rm stopped.txt
if [ $f_dry_run == Y ]
then
echo "$applog STOPPED on allume la prise wifi" >> /home/pi/exploit/log/exp_domoticz.log
else
echo "$applog STOPPED on allume la prise wifi" >> /home/pi/exploit/log/exp_domoticz.log
curl -s 'http://127.0.0.1:8080/json.htm?type=command¶m=switchlight&idx=8&switchcmd=On'
sleep 2 # Waits 2 seconds
fi
fi
if [ -f apache.txt ]
then
rm apache.txt
if [ $f_dry_run == Y ]
then
echo "$applog APACHE down" >> /home/pi/exploit/log/exp_domoticz.log
else
echo "$applog APACHE down" >> /home/pi/exploit/log/exp_domoticz.log
fi
fi
fi
if [ $res == 3 ]
then
if [ $debug == Y ]
then
echo "$applog Domoticz problème service ou database" #On log l'état normal
fi
fi
if [ $res == 4 ]
then
if [ $debug == Y ]
then
echo "$applog Domoticz problème service apache" #On log l'état normal
fi
fi
exit 0