Bon j’ai refait un test en supprimant toutes les simulations de la veille, en en créant une sans refaire 2 fois save ou en modifiant le nom puis save donc création puis enregistrer et c’est tout, et avec les logs actifs :
Le résultat à l’arrivée est similaire à précédemment : une seule occurrence et invalid date en haut de la liste des occurrences.
En examinant le log on voit ce qui est fait et parait logique :
- au save on place un cron de début avec action start
- lors du déclenchement du cron start on planifie le cron avec action end et le mode repeat activé est bien vu / on voit même le « replan » à la bonne heure
MAIS :
- dans le moteur de tâches je vois un truc pas bon :la prochaine date de simulation (mode start a priori) reprend l’heure de début de la première occurrence et non de la seconde ! Du coup on se retrouve fatalement avec une date invalide car dans le passé (heure de début de simul n°1 alors que nous sommes déjà à l’heure de fin de simul 1 donc le cron est placé dans le centre de tâches mais avec la mauvaise date.
Voici mon log après sauvegarde de la simulation le 19 au soir :
Citation
[2020-05-19 23:10:07][DEBUG] : Calcul hour for : {« hour::min »:« 10:00 »,« hour::max »:« 10:30 »,« duration::min »:« 200 »,« duration::max »:« 240 »,« repeat »:« 4 »,« type »:« hour »}
[2020-05-19 23:10:07][DEBUG] : Startime : 1589875200
[2020-05-19 23:10:07][DEBUG] : Endtime : 1589877000
[2020-05-19 23:10:07][DEBUG] : Plan execution cron : {« id »:« 241 »,« enable »:1,« class »:« simupre »,« function »:« doSimu »,« schedule »:« 25 10 20 05 * 2020 »,« timeout »:« 60 »,« deamon »:0,« deamonSleepTime »:« 1 »,« option »:{« simupre_id »:298,« simulation_id »:« 5ec44b2f5eafd »,« mode »:« start »,« endtime »:1589976004,« starttime »:1589963104,« repetition »:[{« starttime »:1589963104,« endtime »:1589965797},{« starttime »:1589967216,« endtime »:1589969006},{« starttime »:1589969925,« endtime »:1589971973},{« starttime »:1589972908,« endtime »:1589976004}],« repeat_step »:0},« once »:1,« state »:« stop »,« lastRun »:« »,« pid »:null,« runtime »:« »}
puis le cron après la sauvegarde :
Ce matin (enfin la je regarde ce soir… ) le log après exécution de la simulation :
Citation
[2020-05-19 23:10:07][DEBUG] : Calcul hour for : {« hour::min »:« 10:00 »,« hour::max »:« 10:30 »,« duration::min »:« 200 »,« duration::max »:« 240 »,« repeat »:« 4 »,« type »:« hour »}
[2020-05-19 23:10:07][DEBUG] : Startime : 1589875200
[2020-05-19 23:10:07][DEBUG] : Endtime : 1589877000
[2020-05-19 23:10:07][DEBUG] : Plan execution cron : {« id »:« 241 »,« enable »:1,« class »:« simupre »,« function »:« doSimu »,« schedule »:« 25 10 20 05 * 2020 »,« timeout »:« 60 »,« deamon »:0,« deamonSleepTime »:« 1 »,« option »:{« simupre_id »:298,« simulation_id »:« 5ec44b2f5eafd »,« mode »:« start »,« endtime »:1589976004,« starttime »:1589963104,« repetition »:[{« starttime »:1589963104,« endtime »:1589965797},{« starttime »:1589967216,« endtime »:1589969006},{« starttime »:1589969925,« endtime »:1589971973},{« starttime »:1589972908,« endtime »:1589976004}],« repeat_step »:0},« once »:1,« state »:« stop »,« lastRun »:« »,« pid »:null,« runtime »:« »}
[2020-05-20 10:25:04][DEBUG] : {« simupre_id »:298,« simulation_id »:« 5ec44b2f5eafd »,« mode »:« start »,« endtime »:1589976004,« starttime »:1589963104,« repetition »:[{« starttime »:1589963104,« endtime »:1589965797},{« starttime »:1589967216,« endtime »:1589969006},{« starttime »:1589969925,« endtime »:1589971973},{« starttime »:1589972908,« endtime »:1589976004}],« repeat_step »:0}
[2020-05-20 10:25:04][DEBUG] : [Maison APLG][essai simul 4 répétitions heure fixe un save] - Launch simulation
[2020-05-20 10:25:04][DEBUG] : [Maison APLG][essai simul 4 répétitions heure fixe un save] - Simulation mode is start for : heure fixe 4 fois
[2020-05-20 10:25:04][DEBUG] : [Maison APLG][essai simul 4 répétitions heure fixe un save] - Repeat mode enable, replan on :2020-05-20 11:09:57
[2020-05-20 10:25:04][DEBUG] : Cron : {« id »:« 242 »,« enable »:1,« class »:« simupre »,« function »:« doSimu »,« schedule »:« 09 11 20 05 * 2020 »,« timeout »:« 60 »,« deamon »:0,« deamonSleepTime »:« 1 »,« option »:{« simupre_id »:298,« simulation_id »:« 5ec44b2f5eafd »,« mode »:« end »,« endtime »:1589976004,« repetition »:[{« starttime »:1589963104,« endtime »:1589965797},{« starttime »:1589967216,« endtime »:1589969006},{« starttime »:1589969925,« endtime »:1589971973},{« starttime »:1589972908,« endtime »:1589976004}],« repeat_step »:0},« once »:1,« state »:« stop »,« lastRun »:« »,« pid »:null,« runtime »:« »}
[2020-05-20 10:25:04][DEBUG] : [Maison APLG][essai simul 4 répétitions heure fixe un save] - Do action on
[2020-05-20 11:09:03][DEBUG] : {« simupre_id »:298,« simulation_id »:« 5ec44b2f5eafd »,« mode »:« end »,« endtime »:1589976004,« repetition »:[{« starttime »:1589963104,« endtime »:1589965797},{« starttime »:1589967216,« endtime »:1589969006},{« starttime »:1589969925,« endtime »:1589971973},{« starttime »:1589972908,« endtime »:1589976004}],« repeat_step »:0}
[2020-05-20 11:09:03][DEBUG] : [Maison APLG][essai simul 4 répétitions heure fixe un save] - Launch simulation
[2020-05-20 11:09:03][DEBUG] : [Maison APLG][essai simul 4 répétitions heure fixe un save] - Simulation mode is end for heure fixe 4 fois
[2020-05-20 11:09:03][DEBUG] : [Maison APLG][essai simul 4 répétitions heure fixe un save] - Repeat mode enable, replan on :2020-05-20 11:33:36
[2020-05-20 11:09:03][DEBUG] : [Maison APLG][essai simul 4 répétitions heure fixe un save] - Do action off
et l’état du centre de tâches :
De ce que je vois :
- cron 241 = occurrence 1 début (Good !)
- cron 242 = occurrence 1 fin (good) / non visible dans mes captures car exécuté et clos
- cron 243 = occurrence 2 début => Ko, le cron créé est à la date heure de l’occurrence 1 alors que le log mentionne pourtant bien la date heure de l’occurrence suivante
Donc la je me dis que c’est peut-être une coquille dans le plugin (erreur d’indice pkoi pas entre le log et la planif cron ?)
Bref dans mon cas le ko est « logique » vu ce que me dit le centre de tâches. Ce que je ne m’explique pas trop en revanche c’est comment à un moment donné des tests tu as réussis à avoir une répétition alors que cela semble plutôt systématique le ko !
Bon avec ces tests je vais essayer de voir si quelqu’un de Jeedom peut nous aider (avec une urgence relative car dans mon cas je peux contourner et n’étais pas utilisateur des répétitions meme si maintenant en testant je vois des usages )
En renvoyant vers mes tests + captures + log on devrait pouvoir cerner le souci.