Bonjour
J’ai fait un script qui récupère les valeurs de ma station météo Bresser. Malheureusement cette station plante parfois ce qui génère des log du type "script Erreur pour [Bresser][IHIRSC71][Pression] : Json invalide ou non décodable : ". Pour relancer la station, je l’ai branchée sur une prise connectée que j’éteins et rallume au moyen d’un scénario.
Je souhaiterais automatiser cette manœuvre mais je ne vois pas comment m’y prendre, quelqu’un à une idée?
Merci d’avance
Informations Jeedom Luna
Core : 4.4.19 (master)
DNS Jeedom Luna : oui
Plugin : Alexa - SmartHome
Version : 2022-12-23 17:33:00 (stable)
Tu peux faire par exemple un scénario qui se lance toutes les heures, regarde l’age de la commande pression avec la fonction age et si elle est par exemple supérieure a 3000 secondes alors lancer un reboot.
Bien sur a adapter en fonction de la précision et de la fréquence de rafraîchissement
Tu auras vraiment plus vite fait a considérer qu’il y a un pb car la valeur ne s’est pas mise a jour qu’à parser les logs
Aurel, ta solution est jouable mais la station ne plante pas régulièrement, parfois quelques jours entre deux plantages et lors de la relance elle émet un bip désagréable,c’est pour ça que je cherche une solution plus « ciblée »
Dans Réglage/Système/Configuration, j’ajoute un message à chaque erreur dans les logs et je déclenche un scénario en passant les tags #plugin# et #subject#.
Si ta commande se met à jour correctement il n’y a pas de raison que le scénario reboot ta station pour rien … Et rien ne t’empeche de faire en sorte dans ton scénario que le reboot ne se fasse que de jour si tu veux par exemple et pas la nuit.
Pour moi la lecture de logs c’est la fausse bonne idée : si tu as une erreur dans le log c’est que ta valeur ne s’est pas mise à jour, si la valeur ne s’est pas mise à jour c’est que la station à un souci.
Lire des logs pour s’en rendre compte c’est augmenter des lectures sur disque (génant si tu es sur carte SD surtout) alors que la date de dernière maj d’une commande est dans le cache de jeedom donc récupérable nativement.
Sinon la méthode de @Stefjm peut être interessante, mais consomme pas mal de ressources je ne l’utiliserai perso que pour quelque chose que je ne peux pas analyser autrement.
Stefjm, j’essaie de comprendre et d’adapter ta solution (que je ne maitrise pas du tout :), dans la ligne SI: #plugin# == « daikinRCCloud », à quoi correspond « daikinRCCloud »?
Je sais, je pars de loin mais je ne désespère pas…
Merci pour ton aide
Plus ciblée = lors de la detecion du defaut
Par contre, il y a effectivement un coup à jouer avec la fonction age, je n’y avait pas pensé!
donc hoplà, je cherche dans ce sens et je publierais mes resultats
Ben techniquement si tu sais tous les combien de temps tu reçois une valeur « normalement » (toutes les minutes ? toutes les demi heures ? toutes les heures ?) rien ne t’empêche d’ajuster le temps. Tu peux t’aider de l’historique si ta value est historisée
Comme je l’ai précisé dans mon post au départ, toutes les heures c’est un exemple. Si tu veux faire du plus récurent rien ne t’en empêche.
Après si ta station ne renvoi pas de nouvelle valeur avant 15 minutes ça sert de faire tourner le check toutes les 5 minutes non plus …
Yes, grace à vos conseils j’ai changé d’approche et plutôt que de focaliser sur le log, j’ai récupèré une valeur qui change souvent à savoir, la vitesse du vent. Donc, declenchement du scenario de relance si le parametre ne change pas pendant 3000 secondes (stateDuration(#[Bresser][IHIRSC71][Vitesse du vent]#)>3000, à ajuster selon les valeurs historisées).
MERCI encore