jeedom / core

Software for home automation
https://www.jeedom.com
GNU General Public License v2.0
383 stars 312 forks source link

[BUG] In php8 issue with cronExpression lib does not handle year anymore #2698

Closed zoic21 closed 1 week ago

zoic21 commented 2 weeks ago

https://community.jeedom.com/t/declenchement-programme-unique-plus-si-unique/127301

tomitomas commented 1 week ago

@zoic21 pourquoi fermer ?! Le problème n est pas résolu

A moins qu il y ait une 2nd issue créée ?

zoic21 commented 5 days ago

Le probleme de cette issue est resolu jeedom a repris a son niveau la gestion de l'année dans les expressions cron.

tomitomas commented 4 days ago

comme je le précisais au dans mon précédent msg : "le problème n'est pas résolu" du moins pas avec les qlq commit de cette issue ni avec la derniere version alpha

à la sauvegarde pour execution dans 1 min => c'est OK image

une fois l'exécution du scénario (ok) faite, un refresh/sauvegarde du scénario, nous indique toujours une "prochain" exécution => +7 jour par rapport au lancement initialement demandé image

zoic21 commented 4 days ago

C'est pas le meme soucis la, c'est un autre bug (qui semble plus interne a la lib cron) car l'année est bien respectée (2024).

zoic21 commented 4 days ago

Edit : trouvé il ne faut pas préciser jour de la semaine en meme temps que la date (je pense jour de la semaine prend le pas sur la date). Pour ton cas il faut mettre 1 10 3 7 * 2024 par exemple

tomitomas commented 4 days ago

C'est pas le meme soucis la,

c'était mon soucis initial quand j'ai créé mon post community :)

il ne faut pas préciser jour de la semaine en meme temps que la date

ca fonctionne en effet ! merci,

edit : et cette technique fonctionne également avec tes dernières modif et la lib cron en 2.3.1 (sur php7 donc) ! donc en principe nickel partout

tomitomas commented 4 days ago

il faudrait modifier le jeeHelper cron pour mettre cette étoile sur le jour si le choix "une seule fois" est sélectionné ==> fichier core\desktop\modal\cron.human.insert.php ligne 71 , remplacer le date.getDay() par '*'

zoic21 commented 4 days ago

Effectivement ca par contre c'est un bug, c'est corrigé. Merci pour le retour