Problème avec scénario à heure variable

Bonjour, essayant d’occuper les journées et de refaire vivre mon lapin qui avait passé bien longtemps au fond du tiroir, je voulais redonner un peu de bonne humeur autour de lui en réanimant ses petites phrases d’humeur de façon aléatoire une fis par heure.

Malheureusement j’ai quelques difficultés pour cela.
Je viens vous montrer la démarche que j’ai suivi en espérant que des personnes plus aguerries que moi trouveront la faille dans ma démarche.

donc mon scénario est en déclenchement programmé pour s’exécuter chaque minutes (cron */1 * * *)
dans le scénario en lui même je part sur un si (car je veux que la fonction humeur ne s’exécute que durant une certaine période de la journée entre 7h et 20h50) et je vérifie par la même occasion si ma variable d’heure aléatoire est arrivée (ma variable horaire correspondant à l’heure en cours plus un nombre de minute aléatoire (entre 10 et 50))
lorsque ces conditions sont réunies (heure en journée et que l’heure est celle de ma variable à alors je réveille mon lapin pour q’il me fasse un petit trait d’humour.

De plus j’ai un autre scénario qui lance chaque heure l’annonce de l’heure (il est 11h, il est 12h etc…) qui lui se lance à chaque changement d’heure.

Toutefois il semblerait que ma démarche quand au scénario pour les humeur ne soit pas la bonne.
En effet a lieu de donner de façon aléatoire son humeur, mon lapin la déclenche en même temps que l’annonce de l’heure (dans l’ordre humeur puis heure), hors ces deux scénarios devraient avoir au minimum 10 minutes d’écart…

PS : l’erreur n’est pas sur ma variable d’heure (vérifié a plusieurs reprises et qui par exemple au moment ou j’écris ce post est égale à 1734)

Je prend toute idée de votre part.

Merci par avance de vos lumières!

Le cron pour chaque minute est :

* * * * *

Bonsoir MrPatate,

As tu essayé de mettre un sleep avec un délais en seconde entre les deux commandes action?

J’avais initialement essayé un cron ayant ce format et le résultat était le même, mais sur tes conseils je vais essayer de repasser a cela pour voir.

non je ne connaissais même ps la commande (désolé mode newbe)la seule que je connaissait étant « dans » qui elle est en minutes me paraissait bien longue.
Quelle valeur recommanderais tu?

Pas de recommandation particulière, moi j’en ai une ou mon Kartoz me dit bonne nuit après j’ai un sleep de 300 secondes et une action coucher.

Voulant que cette action ne soit pas trop longue malgré tout après mon heure aléatoire je tente avec une valeur de 30 secondes pour voir si cela peux améliorer les choses.

A toi de voir :wink:
C’est comme ta commande #time# > 0700 ET #time# < 2050 je pense quelle peu être remplacer par time_between(#time#,0700,2050) :wink:

Je prends tout les conseils qui peuvent être bons, vrai débutant dans jeedom ce type de commandes m’est jusque là inconnu, merci a toi :wink:

Pas de souci :slight_smile:

Pense à cocher la case “solution” sur le message qui répond à la demande. ça fermera automatiquement la sujet et fera remonter la réponse sur le 1er post pour que ceux qui auraient la même demande visualisent immédiatement la solution.

Je prend le temps de vérifier que cela marche convenablement et je reviens pour confirmer la résolution de mon soucis si cela est bien le cas.
Merci à toute la communauté de votre aide (très) précieuse pour moi !

Bon après test rapide ce matin mon lapin donne son humeur à l’heure indiquée, bien que je comprenne pas vraiment la nuance que la « pause » apporte dans le scénario cela fonctionne maintenant.

Un petit HS concernant le « sleep ». Ce n’est pas indiqué dans la doc mais j’ai lu plusieurs fois sur le forum que cette fonction était bloquante => un exemple ici :

Du coup, j’essais de l’éviter au maximum quand c’est possible (supérieur à la minute). Par exemple pour faire une pause de 300 secondes, autant faire un « Dans 5 min ».

Ça dépend où tu l’utilise. Le principe du sleep est qu’il met le process qui l’execute en attente.

Donc si par exemple tu en met un dans une action sur valeur d’une commande, celle-ci étant exécutée par le process principal de jeedom alors tu met tout en attente.

Ce n’est pas le cas d’un scénario qui est un process séparé (sauf si tu le met synchrone)

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