Perte du démon après coupure secteur de la passerelle

J’ai un capteur de température et une passerelle MySensors. La passerelle est réalisée avec un ESP8266 et le capteur avec un atmega328p.
La transmission radio est effectué avec des NRF24.
J’ai bien galéré pour comprendre pour quelle raison cet ensemble ne fonctionnait que très peu de temps après sa mise en oeuvre.
Je me suis rendu compte que l’origine du problème vient du démon que après plusieurs jours de tâtonnements.
Lorsque une coupure d’alimentation de la passerelle survient, il n’y a plus de communication passerelle-capteur.
Si je redémarre manuellement le démon, tout repart normalement.
Le problème est que il n’y a pas d’avertissement ni de signalement dans les logs et c’est forfuitement que j’ai pu voir le problème car tout était vert et OK dans le démon alors que le problème était présent.
jojo.

J’ai bien mis 5 minutes dans le heartbeat et coché la case adéquate et normalement, le démon devrait repartir automatiquement mais il ne le fait pas et en tout cas, le système n’a pas l’air de s’apercevoir de l’arrêt de communication.

Est-ce qu’il existe une solution pour faire repartir le démon automatiquement à interval régulier?

Hello,

pas vraiment une solution mais tu peux dans un scénario avec comme déclencheur un cron de 5 min mettre cette action dans un bloc code:

JeeMySensors::deamon_start();
$scenario->setLog("JeeMySensors restarting");

Ps: Si ton deamon ne tombe pas le heartbeat ne sert à rien

Tu devrais récupérer le fait qu’il n’y ait plus d’alimentation et mettre cette info en déclencheur, ce serait beaucoup plus propre et cela n’influerait pas sur le fonctionnement

Merci pour la suggestion Maxcrouz. Je ne vois pas trop comment faire mais je vais essayer.
Il faut un scénario récurrent pour son déclenchement, c’est ça?
Comment jeedom peut savoir qu’il y a eu une interruption d’alimentation sur la passerelle? C’est une passerelle qui communique avec un raspberry qui fait tourner jeedom et la com est en wifi.

Oui,

Avec un ping régulier de la passerelle par exemple

Mon Dieu! tu me parles en chinois là.
Dans l’immédiat, je faire ton scénario…

Si tu ping l’adresse ip de ta passerelle à intervalles régulier, en gros tu envoi et reçois des infos de la dite passerelle, si celle si n’est plus alimentée le ping ne se fera pas et tu pourras savoir qu’il y a eu un probléme et donc lancer ton scénario.

Tu peux le faire facilement avec le plugin Scan_IP, en renseignant ta passerelle en en utilisant la commande Online du plugin en déclencheur:

Grand merci Maxcrouz. T’est trop fort! ça a l’air de fonctionner. Tu viens de m’apprendre des choses intéressantes.
Sans cette solution, je ne voyais pas comment utiliser le plugin MySensors de manière fiable.

1 « J'aime »

Parfait si ça fonctionne pour toi, n’oublie pas de mettre le sujet en résolu.

En fait, j’ai parlé un peu vite emporté par mon enthousiasme.
Ca fonctionnait avec le scenario provoqué par récurrence.
Mais avec le plugin Scan_IP, le scenario ne se déclenche pas.

J’ai paramétré comme cela:
jojo3

Mais on dirait que le ping ne se fait pas…

Commence par vérifier que le status online passe de1 à 0 quand tu débranche ta passerelle, le sujet initiale étant résolu, je pense qu’il serait bon d’en récréer un autre concerant scan IP.

Donc, en résumé le scénario récurrent qui toutes les minutes effectue un redémarrage du démon avec les lignes de codes:
jojo
a été la solution retenue.

En effet, je n’ai pas réussi à mettre en oeuvre avec profit l’autre solution qui aurait été plus élégante, à savoir l’utilisation du plugin Scan_IP pour redémarrer le démon uniquement lors des pertes de liaison IP entre le capteur et sa passerelle.

Je vais donc fermer ce post avec tous mes remerciements à Maxcrouz.

Avec en coche solution la réponse qui t’as donné la solution c’est mieux :wink:

Penses a ceux qui feront une recherche avec le même problème que toi.

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.