Page 1 sur 1

cron tab sur semaine impaires

Publié : 24 janv. 2019, 21:13
par imodiris
Bonjour
Chez moi les poubelles passent le vendredi des semaines IMPAIRES.
Je voulais me faire un sénario autour de cela, mais je n'arrive pas a trouver comment faire mon CRON TAB
Si vous avez des idées je suis preneur

Re: cron tab sur semaine impaires

Publié : 24 janv. 2019, 21:25
par bartounet
HO mais que vois je dans la doc officielle ???

odd(valeur) : Permet de savoir si un nombre est impair ou non. Renvoie 1 si impair 0 sinon.

Code : Tout sélectionner

odd(#semaine#)

Re: cron tab sur semaine impaires

Publié : 24 janv. 2019, 21:44
par imodiris
J'ai pas du encore passer par la.
Je débute.
Merci en tout cas

Re: cron tab sur semaine impaires

Publié : 24 janv. 2019, 21:46
par bartounet
Je blague :)
Mais c'est la première chose à faire.
Lire la doc , surtout celle sur les scénario c'est une mine d'or
https://jeedom.github.io/core/fr_FR/scenario

Re: cron tab sur semaine impaires

Publié : 24 janv. 2019, 22:06
par imodiris
Ca marche ;)
Mon scénario fonctionne. Je m'acharnais sur le cron alors qu'il fallait chercher ailleurs.
Je vais maintenant potasser les variable scénario pour m'en souvenir ;)
Merci

Re: cron tab sur semaine impaires

Publié : 25 janv. 2019, 14:07
par julien74
En cron je ne pense pas que ce soit possible, il n'y a pas la notion de semaine. C'est jour et/ou mois.
Donc oui le odd(#semaine#) te dit si oui ou non la semaine est impaire.
Perso j'aurais fait IF (#semaine#%2==1) mais c'est parce que je suis (trop) matheux.

Re: cron tab sur semaine impaires

Publié : 25 janv. 2019, 14:31
par Jeandhom
D'ailleurs, il n'est pas impossible que la fonction odd ne se serve pas de la fonction modulo.

Re: cron tab sur semaine impaires

Publié : 29 janv. 2019, 12:03
par tomdom
Bonjour,
Jeandhom a écrit :
25 janv. 2019, 14:31
D'ailleurs, il n'est pas impossible que la fonction odd ne se serve pas de la fonction modulo.
Juste pour pinailler, passer par le modulo serait couteux. Le plus efficace est de tester le bit 0. Si il est à 1 alors le nombre est impair.

Code : Tout sélectionner

nombre & 1 == 1 // impair
nombre & 1 == 0 // pair

Re: cron tab sur semaine impaires

Publié : 30 janv. 2019, 06:57
par Jeandhom
En tout cas Loic se sert bien de la fonction modulo.

Code : Tout sélectionner

        public static function odd($_value) {
                $_value = intval(evaluate(self::setTags($_value)));
                return ($_value % 2) ? 1 : 0;
        }

Re: cron tab sur semaine impaires

Publié : 30 janv. 2019, 07:02
par tomdom
Bonjour,

Je n'avais pas regardé le code ;) Mais ce n'est pas le plus optimum.

Maintenant je ne pense pas que de passer par un test binaire rendra Jeedom plus véloce ;)

Re: cron tab sur semaine impaires

Publié : 30 janv. 2019, 07:51
par Jeandhom
Loic est en pleine optimisation en ce moment avec la version 3.3.X.

C'est le moment d'en profiter !!!

Re: cron tab sur semaine impaires

Publié : 31 janv. 2019, 10:25
par julien74
tomdom a écrit :
30 janv. 2019, 07:02
Bonjour,

Je n'avais pas regardé le code ;) Mais ce n'est pas le plus optimum.

Maintenant je ne pense pas que de passer par un test binaire rendra Jeedom plus véloce ;)
Transformé en code assembleur un ($x % 2)==1 et un ($x & 1) == 1 doit être transformé en la meme chose.... On discute rhétorique je suppose.