Auto-surveillance d'un système Jeedom

Bonjour,

Ce matin, j’ai eu la surprise (quoique…) d’avoir mon système Jeedom, embarqué sur un RPi4B avec un disque SSD, figé et qui ne répondait plus. :skull_and_crossbones:

Je pense que c’est lié au disque SSD que je l’ai installé il y a quelques mois, car ce n’est pas la première fois et depuis cela se produit régulièrement, à peu près 1x par mois.
La méthode la plus efficace pour résoudre ce petit souci est plutôt simple : un arrêt/marche. Alors oui, c’est abrupt, mais terriblement efficace et tellement simple… :blush:
D’autant plus que même un RESET ne fonctionne pas toujours dans ce cas. Et Debian, comme tous les systèmes Linux, supporte plutôt bien des A/M sauvages (même si ce n’est pas recommandé et à ne pas reproduire trop souvent en raison essentiellement du risque de corruption des données en BDD, etc…).
Mais ce n’est efficace que s’il y a quelqu’un physiquement à la maison pour débrancher la prise ! Et on perd bien sûr un peu d’historique au passage mais bon, ce n’est pas le point le plus critique.

Du coup je me suis dit que ce serait pas mal d’avoir un système indépendant (et de concept simple) d’auto-surveillance de l’état d’un système domotique pour agir le cas échéant, et éviter de se retrouver dans la situation où la maison va perdre une partie de ses automatismes, plus ou moins sensibles et pendant plus ou moins longtemps, sans que l’on puisse faire quelque chose.

J’ai lu quelques sujets où certains envisageaient de faire tourner un second Jeedom en parallèle, prêt à reprendre le lead en cas de pépin sur le système principal. Le gros avantage reste que ça fonctionnerait quel que soit l’origine du problème : logiciel (bug/plantage/…) ou matériel (panne).
Mais si c’est dans le domaine du réalisable (à voir), ça me semble quand même un peu compliqué à mettre en place.

Pour faire plus simple, et se prémunir d’un problème uniquement d’origine logicielle, j’ai pensé concevoir un système de surveillance en partant sur ces principes :

  • un module ESP32 envoie un ping récurent vers le RPi4 supportant Jeedom, toutes les 30 secondes par exemple (pour ne pas trop saturer le RPi avec ces requêtes purement techniques),
  • s’il n’y a pas de réponse au ping à un moment donné (mais après deux ou trois récurrences pour éviter les faux-positifs), l’ESP va actionner un relais ou une prise connectée (je ferai avec les moyens du bord…) via un des ses GPIO pour effectuer un arrêt/marche physique du RPi4 branché dessus, et donc le relancer.

Du coup je me suis lancé dans une petite XP ce matin en codant un petit bout de programme tout simple avec un ESP32, et ma foi cela semble très bien fonctionner.

Mais avant de passer à l’étape finale pour intégrer proprement tout ça, je voulais savoir si certains d’entre vous utilisait déjà ce type de dispositif, et si je ne passe pas à côté de certains aspects auxquels je n’aurai pas pensé, ou d’autres éléments à prendre en compte, ou même si le principe de pinger en permanence le RPi est une bonne méthode.

Qu’en pensez-vous ?
Si ce petit projet intéresse quelques personnes, je suis bien sur disposé à rédiger un petit tuto à ce sujet une fois que ce sera du concret…

Merci pour vos retours !

1 « J'aime »

Bonjour,
Trouver la cause du plantage régulier serait déjà une première étape non ?
J’ai aussi un Jeedom qui tourne sur un RPi4+SSD et je n’ai pas ce problème. Tu dois donc avoir quelque chose dans ta config (matériel ou logiciel) qui ne va pas.

Dans le concept c’est un watchdog. Je me demande si c’est pas même déjà inclus dans des framework type ESPEasy / ESPHome (en tout cas je l’ai déjà vu inclus de base quelque part)

Tu peux aussi appliquer le principe inverse (mais c’est un plus compliqué et ce n’est pas certain que ça apporte un plus) c’est à dire Jeedom qui fait une requête régulière sur l’ESP et si ce dernier ne reçoit pas la requête, alors il provoque un reboot.

Bonjour,

Je plussoie. Il vaut mieux trouver la cause que gérer la conséquence surtout à la hussarde.
Perso avec un uptime de 463j sur ma prod je ne conçois pas qu’il faille redémarrer électriquement un système linux !

Oui, la cause du plantage, je pense la cerner à peu près.
J’ai acheté ce disque (NMVe Transcend de 256 Go) pour mon RPi5 initialement, mais j’ai eu pas mal de problème avec (voir ici). Du coup de l’ai reversé pour mon RPi4 (en prod), mais je continue néanmoins d’avoir régulièrement, mais beaucoup, beaucoup moins souvent, ce souci. Ce qui n’est pas gênant plus que ça tant que je suis là pour gérer…

Après, au delà de ce petit souci, c’est aussi pour assurer une certaine garantie de redondance pour un système qui prend (pour ce qui me concerne) une place de plus en plus centrale dans la gestion quotidienne de la maison (même si j’applique systématiquement le principe de ne jamais me reposer uniquement sur la domotique en place, et de toujours prévoir un système de contrôle indépendant…).

Tout à fait. Il faut que je regarde pour le framework…

Ok, merci pour l’idée, à creuser si cela apporte quelque chose…

C’est effectivement une durée dans cet ordre d’idée que j’obtenais avec ma valeureuse clé USB, jamais eu de plantage… :wink:

Du coup si le problème est le Transcend de 256 Go, ne serait pas plus simple de le changer plutôt que d’ajouter un esp32 qui ping? Avec le risque de corruption des données et l’interruption de service…
Un simple 32 ou 64 go fera très bien le travail

1 « J'aime »

J’ai eu un pb de ce type, Jeedom plus accessible alors que j’étais en congé… mon Jeedom est hyper stable et ne plante jamais, pas de bol.
L’explication : coupure de courant, l’onduleur arrive à 5 mn de reste de batterie…Jeedom s’arrête automatiquement…le courant revient avant les 5 mn alors il n’y a pas de redémarrage de Jeedom puisque arrêté proprement et pas de remise sous tension puisque jamais coupé e !
Je suis donc intéressé pour un système de redémarrage à distance ou automatique

1 « J'aime »

Bonsoir

Perso, mon téléphone (et celui de la soeurs si je capte pas ou autre) envoie toute les 6 heures (iOS, via Automation) une commande API qui passe un virtuel à On.
Si la commande ne passe pas, mon téléphone m’alerte.

Dans l’autre sens, jeedom réinitialise le virtuel à Off toute les 6 heures.
Au soir venu, si le virtuel est à off, il envoie des messages pendant 10 minutes pour dire qu’il va redémarrer.
Si pas de réponse.
Des prises arrete, puis redémarre box / routeur / antennes wifi, puis je lance le redémarrage de jeedom.

J’avais fais ça apres des soucis sur le DNS jeedom (mais ça sert plus à rien depuis bien longtemps, car ultra stable), puis a cause de plantage de ma box ou routeur.
Ça marche comme une horloge !
(Ça sert peu, mais je n’ai plus jamais eu d’incapacité avec mon jeedom)

Ps: @Franck_jeedom : je comprends l’idée de faire propre et d’arrêter Jeedom avec l’UPS, mais comme vous l’avez vu, pour les 3 coupures de courant longue par ans, ça sert à peu, et peut-être tres ennuyant.
J’enlèverais cela…
Parfois / souvent, le mieux est l’ennemi du bien :wink:

1 « J'aime »

Hello,
Perso ayant 2 jeedom j’ai en place un esp équipé de 2 relais, 1 pour chaque jeedom pour couper et remettre en marche les alimentations.
L’esp et aussi connecter sur chaque jeedom.

Actuellement j’ai rien rajouter sur les 2 jeedom et depuis quelques mises à jours faite cette semaine, j’ai 1 jeedom qui plante chaque nuit à la sauvegarde et pour le coup et il ait remis en service par la surveillance du 2e jeedom.

Bonjour,

Oui, pas faux. J’y ai pensé bien sûr, mais deux choses me retiennent :

  • Encore un disque à acheter ! :grin: Ce serait dommage, alors que je suis sur le point de passer en prod sur un RPi5 prêt à l’emploi avec son SSD NMVe intégré, sur lequel j’ai installé Jeedom qui n’attends que cela. La seule chose qui me retient encore, c’est la compatibilité incertaine de certains plugins qui me sont indispensables avec DB12 (et deux ou trois petits trucs…).
  • J’aime bien l’idée de toujours pouvoir compter sur des systèmes de secours en automatique. (sûrement une déformation professionnelle où les systèmes de combat sur les bâtiments sont toujours redondés, un missile ne pardonne pas…) :wink:.

Alors oui, c’est vrai que c’est le plus simple (et peut-être que j’y viendrai finalement…), mais c’est aussi l’occasion de sécuriser encore un peu plus cette installation pour quelques euros.
Et c’est pour le fun aussi !
:grin:

1 « J'aime »

@Franck_jeedom , @Henri , @loustic03

Bonjour,
Merci pour vos interventions et vos idées.

@Franck_jeedom
Je suis aussi sur onduleur avec mon Jeedom (non, je ne suis pas un parano :blush:…) avec une procédure d’arrêt en cas de coupure secteur après un certain temps.
Et effectivement je me suis posé la question de savoir comment faire dans ce cas précis pour relancer par la suite le RPi, bien que stoppé proprement, mais pas électriquement.
Et ce que je propose peut répondre à ce cas de figure du coup.

@Henri

6 heures, ce n’est pas un peu long comme délai max ?

@loustic03

Intéressant comme concept. C’est un peu ce que je disais lorsque je parlai de surveillance mutuelle entre deux systèmes jeedom :

Il y aurait moyen d’avoir un peu plus de détails sur les principes qui guident cette surveillance mutuelle ? Par exemple, comment déterminer quel est le système qui doit être ops, et lequel est en spare ? Comment se passe la bascule via les relais ? Il faut aussi, je suppose, doubler les équipement (clé Zigbee, Zwave,etc…) ?

Merci !

Il serait possible de faire plus court (il faudrait que je crée 24 automations sur mon iPhone pour 24 h, etc… car pas de système « lance toute les XX minutes »)
Voici les principaux déclencheur d’une automation :

mais… toujours pareil le mieux est souvent l’ennemi du bien.
Quel est la probabilité de
Il n’y a personne chez moi + PB Jeedom + aucun avertissement avant ce PB + pendant ces fameuse 6 heures + un incident important ?

Jeedom tourne comme une horloge.
Si je perds la connexion fibre, je suis averti → backup 4G (+ redémarrage du réseau & box)
Si coupure de courant, je suis averti → backup UPS de 12 h.
Si perte de plus de X module z-wave ou Zigbee (brouillage) → Je suis averti

Honnêtement, la probabilité est tres faible et je ne controle pas une centrale nucléaire, donc le 0,00XX %, je laisse de coté (pour avoir plus de temps pour autre chose + plus c’est précis, plus il y a des risque de faux positif et pas envie de vivre avec mon tel qui me solicite tout le temps : C’est d’ailleur pour cela que j’ai commencé la domotique : gestion du chauffage à distance + alarme plus efficace que dans le commerce)

1 « J'aime »

Le plus simple que j’ai trouvé , c’est une prise sonoff en wifi. rien d’automatique, mais le but ce n’est que en cas de catastrophe et quelques euros

3 « J'aime »

Bonjour,

Pareil mais une Shelly qui se relance automatiquement après 60 secondes lorsque qu’elle n’est plus alimentée.

Merci Ngrataloup

3 « J'aime »

Bonjour,

Moi je n’ai rien. En cas de domotique HS, la maison repasse en mode ‹ maison normale ›
Donc cela ne pose pas vraiment de souci.

L’humain doit juste penser dans ce cas qu’il faut se lever pour appuyer sur le bouton pour ouvrir ou fermer les volets.
Que même en jour rouge le cumulus va chauffer
etc. etc.

Mon métier m’impose de faire des infras haute disponibilité mais le faire chez moi, je ne suis pas Elon Musk.

Donc je préfère mettre en place une domotique débrayable si elle tombe !

Et puis les usines à gaz c’est bon au travail, à la maison je n’ai pas envie de passer ma vie à gérer tel et tel système mettre à jour et autre.

Enfin à mon âge je pense aussi à ma épouse qui serait bien ennuyée si jamais la maison était dépendante et que quelque chose m’arrive !
Que 54 ans certes, mais motard, fumeur et bon vivant.

2 « J'aime »

J’utilise un seul esp avec espeasy avec 2 relais avec sortie NC et NO , j’ai mis dans espeasy le mode controller mqtt et j’utilise le plugin Jmqtt sur chaque jeedom.

Pour la surveillance j’ai un scénario en mode provoqué lancer par l’équipement jeedom créer par jeelink et j’utilise l’info Joignable.

Pour le scénario j’ai fais simple :

et

Donc le même scénario sur chaque jeedom et ça tourne depuis 3 ans.

Pour l’usage du relais, les prises sont relier sur la sortie NC ce qui permet d’avoir les relais H24 hors tension, si un jeedom est relancer, je fais un OFF sur le relais (donc il s’allume) et ensuite je le passe ON ( il coupe le relais)
sur Jmqtt

1 « J'aime »

Idem, un Shelly hors Jeedom (piloté via l’app Shelly) qui me permet de rebooter tout ce qui va bien (y compris la box) avec un rallumage automatique au bout de 30s

Norbert

2 « J'aime »

Mais si ta box est en bug, tu pourras pas le piloter alors que personne n’est chez toi… :slight_smile:
Jeedom peut surveiller le lien vers internet, et tout redémarrer si la perte est trop longue (c’est ce que je fais, au retour d’internet, je m’envoie un mesage pour prévenir d’un bug et du temps de coupure)
Avec le plugin Monitoring


Bonjour,

Oui, c’est tout simplement du bon sens et par principe j’applique aussi cette philosophie : ne pas laisser le contrôle à 100% à un système, quel qu’il soit.
Du coup, je mets/laisse toujours en place un moyen secondaire de pallier à une défaillance quelconque de la domotique (interrupteur classique, sélection M/A/Auto pour le routeur solaire, convecteurs avec leur propre thermostat, etc…), ne serait-ce que pour le WAF.

Que 59 ans, mais pas motard, pas fumeur, et bien vivant aussi ! :smile:

1 « J'aime »

Chez moi l’autosurveillance ne sert quand on est à la maison (tu as raison, ça devrait être évident de pouvoir tout utiliser chez soit alors que Jeedom est éteind . en panne)
L’autosurveillance me sert surtout pour l’alarme (+ surveillance température / feu)…
Savoir que si quelqu’un est détecter (par les caméras ou dans la maison), je vais être au courant… Et non que "pas de bol, le mec vient la semaine où c’est en panne et je suis même pas au courant :upside_down_face: )

1 « J'aime »