Page 1 sur 2

souci de demarrage

Publié : 20 janv. 2020, 13:39
par chrisb13
bonjour
voici mon souci
a chaque demarrage ou reboot je n ai pas acces a l interface domoticz par l adresse reseau
donc j ouvre ssh je tape
cd dev-domoticz
puis sudo ./domoticz
il me donne plein d infos et c est a ce moment la que j arrive a acceder a l interface web, seul souci c est que si je ferme le ssh page inaccessible
je ne sais pas quoi faire pour ne plus avoir a faire ceci

Re: souci de demarrage

Publié : 15 févr. 2020, 08:19
par gestdomvel
Bonjour,

Je rencontre un problème similaire avec mon Rpi 3B+. Après le boot du Rpi correctement configuré (SSH, IP fixe, etc.), je n'accède pas à la page de Domoticz en SSH alors que j'accède sans difficulté au Rpi.
Après le boot, Domoticz envoie par SMS (j'ai paramétré cet envoi dans ma configuration) de nombreuses erreurs dont voici quelques lignes :
2020-02-15 08:03:37.244 Error: mainworker seems to have ended or hung unexpectedly (last update 72828.000000 seconds ago)
2020-02-15 08:03:37.245 Error: Domoticz(411) is exiting due to watchdog triggered...
En tapant

Code : Tout sélectionner

sudo service domoticz.sh status
, j'obtiens :

● domoticz.service - LSB: Home Automation System
Loaded: loaded (/etc/init.d/domoticz.sh; generated)
Active: active (exited) since Fri 2020-02-14 11:49:50 CET; 20h ago
Docs: man:systemd-sysv-generator(8)
Process: 377 ExecStart=/etc/init.d/domoticz.sh start (code=exited, status=0/SU

févr. 14 11:49:48 raspberrypi systemd[1]: Starting LSB: Home Automation System..
févr. 14 11:49:50 raspberrypi domoticz.sh[377]: 2020-02-14 11:49:50.784 Status:
févr. 14 11:49:50 raspberrypi domoticz.sh[377]: 2020-02-14 11:49:50.793 Status:
févr. 14 11:49:50 raspberrypi domoticz.sh[377]: 2020-02-14 11:49:50.794 Status:
févr. 14 11:49:50 raspberrypi domoticz.sh[377]: domoticz: Domoticz is starting u
févr. 14 11:49:50 raspberrypi domoticz[394]: Domoticz is starting up....
févr. 14 11:49:50 raspberrypi domoticz[411]: Domoticz running...
févr. 14 11:49:50 raspberrypi systemd[1]: Started LSB: Home Automation System.
févr. 15 08:04:05 raspberrypi domoticz[411]: Domoticz stopped...
lines 1-15/15 (END)...skipping...

J'en comprends que Domoticz démarre puis s'arrête tout seul. Enfin, pas tout à fait car lorsque je relance Domoticz avec la commande
sudo service domoticz.sh start
, Domoticz ne fonctionne toujours pas. Il faut que je stoppe d'abord par la commande
sudo service domoticz.sh stop
puis que je relance par
sudo service domoticz.sh start
pour que Domoticz fonctionne enfin normalement.
Pour info également, j'ai refait trois fois l'installation du Rpi et de Domoticz, rien n'y fait. Toujours le même comportement !

Quelqu'un peut-il me dire pourquoi et surtout comment y remédier.

Merci d'avance

Re: souci de demarrage

Publié : 28 avr. 2020, 23:19
par andpierard
Bonsoir,
Avez vous trouvé une solution à ce problème ?
J'ai pu constater que cette erreur affecte le boot de mon système de façon sporadique sans que je puisse en déterminer les raisons. Comportement très dérangeant quand un sytème en remote ne reboote pas complètement après une coupure de courant.

Re: souci de demarrage

Publié : 29 avr. 2020, 09:48
par Jean Pierre
pas de solution mais quelques pistes :
-changer de version domoticz ?
- changer la carte SD ?

Re: souci de demarrage

Publié : 29 avr. 2020, 10:53
par thier
Le problème vient du fait de la mise à l'heure de raspbian au démarrage. C'est pour ça que watchdog arrête domoticz (last update 72828.000000 seconds ago).
La solution que j'ai adopté est de modifier domoticz.sh pour qu'il attende la mise à l'heure avant de lancer domoticz. Une autre solution est d'ajouter une horloge rtc.

Re: souci de demarrage

Publié : 29 avr. 2020, 11:14
par thier
La modification de /etc/init.d/domoticz.sh pour attendre la mise à l'heure avant de lancer domoticz:
ouvrir /etc/init.d/domoticz.sh avec sudo nano /etc/init.d/domoticz.sh.
remplacer

Code : Tout sélectionner

# Function that starts the daemon/service
#
do_start()
{
        # Return
        #   0 if daemon has been started
        #   1 if daemon was already running
        #   2 if daemon could not be started
        start-stop-daemon --chuid $USERNAME --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
                || return 1
        start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
                $DAEMON_ARGS \
                || return 2
}
par

Code : Tout sélectionner

# Function that starts the daemon/service
#
do_start()
{

# Wait For Time Synchronization
while [ "$(timedatectl status | sed -n 's|^System clock synchronized: \(.*\)|\1|p')" != "yes" ]
do
  echo -n "."
  sleep 1
done
echo "" 
#fin de Wait For Time Synchronization

        # Return
        #   0 if daemon has been started
        #   1 if daemon was already running
        #   2 if daemon could not be started
        start-stop-daemon --chuid $USERNAME --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
                || return 1
        start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
                $DAEMON_ARGS \
                || return 2
}
Le principe:
En tout début du script de démarrage, le script va attendre que la réponse à la commande timedatectl status soit yes sur la ligne System clock synchronized:

Attention à l'effet pervers. S'il n'y a pas de connexion internet pour synchroniser l'heure, domoticz ne démarrera jamais.

Re: souci de demarrage

Publié : 29 avr. 2020, 19:57
par Chrominator
Alors là chapeau bas, je n'ai pas eu le symptôme mais je pense que je n'aurais pas trouvé la cause.

Tu as raison sur l'effet pervers, mais d'un autre côté, que Domoticz ne démarre pas pour cause de liaison Internet défectueuse ou parce que le watchdog l'arrête, ça fait pas une grosse différence. Au moins avec ta soluce il y a une chance pour que ça démarre normalement.

On peut aussi utiliser monit (un autre chien de garde du bestiaire) qui va relancer le service s'il manque à l'appel, quelque soit la cause. Et avec lui ça marche aussi si l'arrêt a lieu à un autre moment que le boot.

Image

En dernier, mais sans que je ne l'ai jamais expérimenté, en théorie on pourrait utiliser les tags LSB.
Ils permettent de définir notamment quelles fonctionnalités doivent être déjà initialisées avant de lancer un nouveau service, et précisent ainsi l'ordre du boot.

Pour domoticz, c'est dans /etc/init.d/domoticz.sh ce qui suit :

Code : Tout sélectionner

### BEGIN INIT INFO
# Provides:          domoticz
# Required-Start:    $network $remote_fs $syslog
# Required-Stop:     $network $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Home Automation System
# Description:       This daemon will start the Domoticz Home Automation System
### END INIT INFO
Il est possible qu'en ajoutant le tag $time dans Required-Start, on ait le même résultat qu'avec la modif de ton script (et le même effet pervers).

Re: souci de demarrage

Publié : 29 avr. 2020, 20:06
par Chrominator
Un petit aperçu de mon monit sur mon raspi ubuntu pour Domoticz :

Screenshot_2020-04-29 Monit phoenix.png
Screenshot_2020-04-29 Monit phoenix.png (32.14 Kio) Consulté 7726 fois

Re: souci de demarrage

Publié : 23 mai 2020, 01:09
par Goa_From_Gaia
Salut Chrominator.

J'ai une question relative à monit, dont je ne saisi pas le sens.
Monit est un daemon de monoting des process (ou autres). Seulement les signaux sont ils envoyés à monit ou lui même doit aller les chercher auprès des services?
Ce que je veux dire par là, c'est que si l'un des process tombe (error) monit le catch directement ? ou alors monit doit faire une ronde (test) pour aller récupérer le status du process?
Dans le cas ou Monit fait des test à des intervalles, et que ceux ci soient trop écartés, qu'un des service tombe et se relance rapidement, il ne soit pas en mesure de détecter l'erreur?

Re: souci de demarrage

Publié : 23 mai 2020, 06:48
par Chrominator
Monit "inspecte" les process en fonction des paramètres qu'on a défini, et à une fréquence qui est spécifiée dans son fichier /etc/monit/monitrc

Code : Tout sélectionner

set daemon 60

Là c'est revue des process à chaque minute.
Goa_From_Gaia a écrit : 23 mai 2020, 01:09 Dans le cas ou Monit fait des test à des intervalles, et que ceux ci soient trop écartés, qu'un des service tombe et se relance rapidement, il ne soit pas en mesure de détecter l'erreur?
Ça arrive sûrement.
Comme il arrive aussi que monit détecte une défaillance qui ne se reproduise pas au check suivant ; en général on ne paramètre pas monit pour une action sur un déclencheur unique, c'est lorsque le défaut se répète qu'on effectue l'action.

Exemple de mon paramétrage pour Domoticz :

Code : Tout sélectionner

# Domoticz
   check process domoticz with pidfile /var/run/domoticz.pid
   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&param=getversion with timeout 20 seconds
          and content = '"status" : "OK"'
      for 2 cycles then restart
   if cpu usage > 70% for 3 cycles then restart
   if 2 restarts within 2 cycles then exec "/sbin/reboot"