Scénario programmé le dernier jour du mois

Bonjour à tous,

Je pose peut-être une question con, mais je n’ai pas réellement trouvé de réponse à mon interrogation par rapport à Jeedom.

Je veux exécuter un scénario à 23h59 le dernier jour de chaque mois. Je suis passé par le cron du scénario et j’ai mis 59 23 31 * *

Mais si le mois n’a que 30 jours ou 28, qu’est ce qu’il se passe ?
J’ai vu que sur d’autres systèmes les gens testent si le jour en cours est supérieur au suivant avec

0 0 28-31 * * root [ /bin/date +%d -gt /bin/date -D "%s" -d $(( $(/bin/date +%s ) + 86400 )) +%d ]

Bien sûr cela ne correspond pas à Jeedom. Est-ce que celui-ci le prend en compte automatiquement ?

Merci d’illuminer ma lanterne :grin:

tu peux faire 3 déclencheurs
59 23 30 4,6,9,11 *
59 23 31 1,3,5,7,8,10,12 *
59 23 28-29 2 *
mais si 29 février tu auras 2 lancements (le 28 et le 29)

Salut

En programmé : 59 23 28-31 * *
Au début du scénario il faut alors tester si demain est le 01, si demain est le 01 du mois suivant alors on est le dernier jour.

2 « J'aime »

Oui, très judicieux. Le scénario prend le relais au cas ou le cron bug.

Ca me va bien. Je test ça. Réponse le 1er juillet :joy: :rofl:

Merci à tous les 2

Surtout c’est fin février debut mars qu’il faudra vérifier … :wink:

1 « J'aime »

Rendez-vous dans 10 mois ! :smile:

Alors j’ai programmé mon scénario comme ça 59 23 28-31 * *

Cela vous paraît-il cohérent ? Dans le testeur d’expression ça fonctionne.

Si ça peut aider quelqu’un…

1 « J'aime »

il va se declencher TOUS les mois du 28 au 31

Pourquoi ne pas faire les 3 déclencheurs ça va juste merder les années bissextiles au pire tu ajoutes les années

Il va se déclencher toutes les fins de mois à partir du 28. Il testera si c’est le dernier jour du mois. Si ce n’est pas le cas, il s’arrêtera immédiatement. Au pire ça fait 4 déclenchements par mois. J’en voulais un.
Moi ça me va bien. Ça ne va pas surcharger mon Jeedom, et puis je trouve que ça clarifie le déclenchement.
Merci en tout cas pour tes réponses.

Salut

SI date(d,#timestamp# +86400) == 01
ALORS tu fais tes trucs

cela evite un sinon et le stop, je pense que cela simplifie et fais faire encore moins de chose a jeedom

:wink:

1 « J'aime »

Tu as fait une faute de frappe : 86400
Mais à 23h59, 61 doit suffire.

Corrigé. Mais je préfère ajouter un jour comme cela si jamais tu changes l’heure dans la cron tu ne risques pas d’avoir des surprises derrière.

En l’état cela fonctionnera quelque soit l’heure et je trouve cela mieux et plus générique du coup :wink:

1 « J'aime »

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.