Page 1 sur 1

Perte régulière à l'interface web

Publié : 27 août 2019, 18:58
par Phreakartz
Bonjour,

Je perds régulièrement l'accès à l'interface web de Domoticz.

Le seul moyen que j'ai de le récupérer est de lancer la commande sudo ./domoticz, mais cela ne dure que le temps de l’exécution de cette commande. Dès que je fais Ctrl+C ou que je ferme la fenêtre putty, le serveur web s'arrête.

Pour autant, Domoticz doit continuer de tourner car je n'ai aucun trou de données dans mes mesures d'énergie et de températures au moment où j'y accède avec la commande précédente.

Lorsque je lance la commande sudo /etc/init.d/domoticz.sh start, le message suivant apparaît :
[....] Starting domoticz.sh (via systemctl): domoticz.serviceWarning: domoticz.service changed on disk. Run 'systemctl daemon-reload' to reload units.
Quelqu'un pour m'aider svp ? :roll:

Re: Perte régulière à l'interface web

Publié : 27 août 2019, 20:58
par Chrominator
C'est normal que domoticz s'arrête lorsque tu fais ctrl-C ou que tu fermes ta session putty.
La première est la manière d'interrompre un programme lancé en interactif, la seconde est dû au fait qu'en terminant ta session lancée dans putty, tu clos également les processus fils de celui-ci, donc ton domoticz.

Pour en savoir un peu plus sur la gestion des processus dans linux, tu peux regarder par-là.

Pour savoir si domoticz tourne quelque part, tu peux taper :

Code : Tout sélectionner

ps aux | grep domoticz
Si une ligne contenant autre chose que grep domoticz apparaît, c'est qu'il est lancé.

Secondo, quand ton système te recommande une action comme celle d'exécuter "systemctl daemon-reload'", bah c'est mieux de le faire :)
Avec sudo en plus si tu n'es pas sous root.

Ensuite, en fonction de ton système, il faut lancer le service s'il n'est pas déjà lancé (voir le ps aux au-dessus, tu suis ? :lol: ).
Ca peut se faire comme ça :

Code : Tout sélectionner

sudo service domoticz.sh start
Ça devrait démarrer dz, tu devrais voir le log défiler sur l'interface web...

Si avec ça tu as toujours des soucis, reviens nous voir.

Bon courage.

Re: Perte régulière à l'interface web

Publié : 25 sept. 2020, 18:59
par oula85
Idem je fais:

sudo service domoticz.sh start quasiement à chaque fois que je veux avoir accès à mon rasp. Je ne trouve pas la solution

Lorsque je fais sudo service domoticz.sh status ça me met domoticz is running sauf que je n'arrive pas à me connecter à l'interface web

Re: Perte régulière à l'interface web

Publié : 25 sept. 2020, 19:55
par Chrominator
Plutôt que d'écrire toi-même Domoticz is running, montre la sortie de l'écran.
Il y a peut-être un indice que nous pourrons voir et qui t'a échappé.

Sur ce, tu ne dis pas comment tu te connectes à l'interface web.
Le démarrage du serveur www est notifié dans le log de Domoticz, tu devrais trouver des lignes comme ceci :

Code : Tout sélectionner

2020-09-25 19:53:43.260  Status: WebServer(HTTP) started on address: 0.0.0.0 with port 8080
2020-09-25 19:53:43.332  Status: WebServer(SSL) started on address: 0.0.0.0 with port 443
sans message d'erreur en dessous.

Re: Perte régulière à l'interface web

Publié : 29 sept. 2020, 14:49
par lost
Phreakartz a écrit : 27 août 2019, 18:58 Le seul moyen que j'ai de le récupérer est de lancer la commande sudo ./domoticz, mais cela ne dure que le temps de l’exécution de cette commande. Dès que je fais Ctrl+C ou que je ferme la fenêtre putty, le serveur web s'arrête.

Pour autant, Domoticz doit continuer de tourner car je n'ai aucun trou de données dans mes mesures d'énergie et de températures au moment où j'y accède avec la commande précédente.

Lorsque je lance la commande sudo /etc/init.d/domoticz.sh start, le message suivant apparaît :
[....] Starting domoticz.sh (via systemctl): domoticz.serviceWarning: domoticz.service changed on disk. Run 'systemctl daemon-reload' to reload units.
Quelqu'un pour m'aider svp ? :roll:
Avant de démarrer domoticz manuellement (cad pas comme un service), par exemple pour voir les logs s'afficher à la console afin de comprendre un problème, il faut stopper le service s'il s’exécutait au préalable: Au mieux il ne sera pas relancé, au pire on a 2 process qui tournent en concurrence (pouvant expliquer que la BDD reste alimentée malgré la perte d'accès).

Pour vérifier,

Code : Tout sélectionner

pidof domoticz
Si on a plusieurs numéros (process ID), c'est que plusieurs process domoticz sont lancés.

Dans ce cas faire

Code : Tout sélectionner

sudo service domoticz stop
au préalable. Revérifier (au cas ou des process aient été lancés à la main et désormais qu'on est certain de ne pas se prendre un redémarrage automatique de la part de systemd, selon la config domoticz.service).

S'il en reste, les tuer:

Code : Tout sélectionner

sudo kill $(pidof domoticz)
Re vérifier après qq secondes (le temps de fermer proprement connections/fichiers ouverts)... et au pire, utiliser l'arme atomique (a ne tenter qu'en dernier lieu):

Code : Tout sélectionner

sudo kill -9 $(pidof domoticz)
Et de là tenter de le démarrer manuellement pour voir les logs en direct. Surveiller en particulier que le "bind" au port http (80 ou 8080, ce qui est configuré dans le domoticz.sh) n'échoue pas: Il m'est arrivé (sur d'anciennes versions de Domoticz) d'avoir la partie http plantée de domoticz qui restait accrochée au port malgré que le service domoticz fut tué, d’où échec... En pareil cas, redémarrer le PI peut être le plus simple avant de repartir sur l'arrêt du service et son redémarrage manuel pour comprendre son souci.

Et laisser le terminal ouvert bien entendu. Si ce n'est pas possible car système seulement accessible par le réseau et qu'on veut pas laisser un PC allumé des heures avec le terminal actif, il est possible de lancer cela dans un "screen": A la perte de connection, il sera détaché et on s'y ré-attache quand on veut.

Il faudra alors installer screen:

Code : Tout sélectionner

sudo apt install screen
Puis,tous process/service domoticz arrêtés, du terminal de test, se faire une session "screen" en la nommant test:

Code : Tout sélectionner

screen -S test
et de là, lancer domoticz dans la console. On peut laisser tourner tant qu'on veut et quand le pb apparait on se reconnecte en ssh puis se ré-attacher (en étant certain d'être détaché au préalable):

Code : Tout sélectionner

screen -dr test
Et on récupère son terminal malgré la perte de connexion/fermeture, avec les logs.

Re: Perte régulière à l'interface web

Publié : 29 sept. 2020, 22:43
par Flying Domotic
Phreakartz a écrit : 27 août 2019, 18:58 Lorsque je lance la commande sudo /etc/init.d/domoticz.sh start, le message suivant apparaît :
[....] Starting domoticz.sh (via systemctl): domoticz.serviceWarning: domoticz.service changed on disk. Run 'systemctl daemon-reload' to reload units.
Quelqu'un pour m'aider svp ? :roll:
Ca veut dire que le fichier domoticz.sh a été modifié sans que systemctl n'ai été invoqué (et du coup,, c'est l'ancienne version qui est invoquée).

Pour corriger ça, il faut lancer un

Code : Tout sélectionner

sudo systemctl daemon-reload

Re: Perte régulière à l'interface web

Publié : 02 oct. 2020, 12:42
par Phreakartz
Merci à vous deux @lost et @Flying Domotic ! ;)