Depuis la migration de mon Jeedom en 4.4.5 j’observe un dysfonctionnement aléatoire sur les scénarios en déclenchement « provoqué » avec le plugin « Weather ».
Typiquement, le scénario qui gère la montée ou la descente de volets roulants en fonction du lever ou du coucher du soleil.
Voici le scénario pour la descente du volet de la cuisine :
J’utilise une action de type « A » pour déclencher la descente du volet en fonction de l’heure du coucher du soleil plus un délai aléatoire compris entre 22 et 35 minutes.
Voici le log d’exécution du scénario pour hier soir.
[2024-05-02 21:08:02][SCENARIO] Start : Scenario execute automatiquement sur evenement venant de : [EXTeRIEUR][METEO][Coucher du soleil] (2108).
[2024-05-02 21:08:02][SCENARIO] - Exécution du sous-élément de type [condition] : at time_op(#[EXTÉRIEUR][METEO][Coucher du soleil]#, rand(22,35))
[2024-05-02 21:08:02][SCENARIO] Evaluation de la condition : [2133] = 2133
[2024-05-02 21:08:02][SCENARIO] Tâche : 38 programmée à : 2024-05-02 21:33:00
[2024-05-02 21:08:02][SCENARIO] Fin correcte du scénario
------------------------------------
[2024-05-02 21:33:02][SCENARIO] ************Lancement sous tâche**************
[2024-05-02 21:33:02][SCENARIO] - Exécution du sous-élément de type [action] : do
[2024-05-02 21:33:02][SCENARIO] Exécution de la commande [CUISINE][Volet][Descendre]
[2024-05-02 21:33:02][SCENARIO] Exécution de la commande [MAISON][NOTIFICATION][ENVOYER] avec comme option(s) : {"background":"0","title":"","message":"CUISINE : Le volet est descendu"}
[2024-05-02 21:33:04][SCENARIO] ************FIN sous tâche**************
On peut observer qu’hier soir à 21:08:02 (heure du coucher du soleil), le scénario s’est exécuté normalement et a définit l’exécution de la sous-tache à : 21h33 (heure du coucher du soleil + valeur aléatoire comprise entre 22 et 35 minutes).
A 21:33:02, on peut voir dans le log que la sous tâche s’est exécutée, cependant dans les faits, le volet n’est pas descendu et je n’ai pas reçu la notification.
Ce phénomène ce produit de manière aléatoire sur tous mes scénarios de montée et descente de volet utilisant une sous-tache programmée et cela depuis le passage en 4.4.5.
Si quelqu’un à une idée sur l’origine de ce problème et comment le résoudre, je suis preneur
Enfin là ça ressemble tout de même plus à un problème concernant l’arrivée de l’ordre au module qui gère le volet qu’à un problème de scénario puisque visiblement ça s’exécute comme prévue.
Ton volet fonctionne avec quel protocole ?
As-tu essayé plusieurs fois de l’actionner manuellement pour voir s’il n’y a pas des ratés qui montrerait le côté aléatoire du déclenchement depuis le scénario.
Pour moi cette histoire de notif ne prouve rien.
Là avec le scénario on a juste la preuve que lui a fait son boulot et qu’il a fonctionné.
Faut regarder les autres logs.
Un problème pareil sur les scénarios on verrait plus de posts du genre.
Avant tout, milles excuses, car je n’ai pas fait attention à une chose… la date du log. Je pensais vraiment que le scénario se déclenchait mais en fait non. Si on regarde le log que j’ai indiqué hier, il est en date du 02/05/2024… donc depuis le(s) scénario(s) ne se sont plus exécutés.
En regardant de plus près…, tous les scénarios dont le déclencheur est fonction du plugin « Weather » (heure du coucher du soleil) ne se déclenchent plus (dernier déclenchement le 02/05/2024).
OK donc c’est normal que le scénario ne se déclenche plus vu que la date de la dernière valeur date du 02 mai.
Il faudrait regarder du coté de ce plugin, je crois que c’est sur ce plugin qu’il y a eu une subtilité sur les coordonnées GPS. Tu peux regarder dans la config de l’équipement si c’est bon ? Je ne suis pas certain de l’impact sur les heures de coucher/lever du soleil mais il doit bien y en avoir une
Moi j’ai un cron dans le moteur des taches, j’ai regardé vite fait, c’est pour éviter de déclencher un événement sur les cmd sunrise et sunset.
a chaque updateWeatherData, le plugin vérifie si l’info de retour api est différente de la cmd, et si c’est le cas, il met direct dans le cache pour ne pas créer d’event. c’est ensuite le cron pull qui vient faire le boulot de l’event au bon moment.