Empecher le multilancement d'un scénario

Bonjour,

Je fais un scénario de séquence. A chaque appui sur un bouton d’une télécommande, cela incrémente de 1 une variable que je stocke pour un autre scénario.

Mon problème est que ma télécommande n’émet pas un signal très propre et parfois un appui génère 2 impulsions à 1 centième de secondes d’écart. Du coup, le scénario d’incrémentation se lance 2 fois et comptabilise 2 appuis.

Ma question est : comment puis-je empêcher le scénario de se lancer une seconde fois dans un laps de temps donné : typiquement 1 seconde.

Dit autrement, lorsque le scénario se lance, il doit ne pas accepter de se relancer une autre fois tant qu’il n’a pas terminé l’exécution du premier scénario.

J’ai essayé de faire des « sleep » mais cela ne change rien. J’ai regardé aussi du côté du « multi-lancement » mais coché ou non, le second scénario se lance quand même si le premier n’est pas terminé.

Merci pour votre aide.

Bonne journée,

Paqueuc

C’est étrange parce que en décochant le multi-lancement et avec un sleep ça devrait marcher.

Je pense que c’est possible de contourner cela en passant par un virtuel qui sera mis à 1 par la commande de la télécommande et en configurant un retour d’état à 0 au bout de 1 minute. Par contre il ne sera pas possible de descendre en dessous d’une minute.

Merci @seb821 c’est vrai que je 'ai pas exploré la piste du virtuel. Je peux tenter. Mais le 1 minute de sleep est problématique.
D’autres pistes à tout hasard ? Sinon, je vais quand même regarder le virtuel, sait-on jamais.

Salut,

As-tu également changé le mode des répétions dans le(s) déclencheur(s) ? (Auto => aucun)

Probablement oui. J’utilise une commande enocean qui est transcrite en KNX. Dans le paramétrage avancé, j’ai un « toujours répéter » que j’avais actionné. Si je le mets sur « ne jamais répéter », ça ne fait pas mon beurre car évidemment, je ne récupère qu’une fois pour toute mon info si je clique plusieurs fois sur le même bouton… L’inconvénient peut alors être contourné avec le fait d’utiliser un deuxième bouton de ladite télécommande pour changer la valeur envoyée (0 et 1) et du coup éviter la répétition de l’information en paramétrant le « jamais ». J’alterne manuellement les 2 boutons pour faire défiler ma séquence. Ce n’est pas parfait mais ça fonctionne de manière fiable. A défaut, je vais partir sur cette logique.
Merci @naboleo

1 « J'aime »

Sinon tu peux tester le temps d’exécution du scénario

lastScenarioExecution(123)>1

Voir si ça marche avec 0.01 ???

Avec 123 le numéro de ton scénario…

Salut @Theking31
Je ne suis pas sûr de comprendre ce qu’il faut voir dans ce test. On est d’accord, j’utilise le testeur d’expression et j’écris ce que tu me dis avec l’ID de mon scénario à la place du 123. Si tel est le cas, j’obtiens un « true » car il me donne une valeur de « 48057 » qui est effectivement supérieure à 1. Je ne sais pas trop comment interpréter cela…

lastScenarioExecution(scenario) : Donne la durée en secondes depuis le dernier lancement du scénario

Source: https://jeedom.github.io/core/fr_FR/scenario#tocAnchor-1-7-4

En seconde… Non adapté à ton 1 centième de secondes d’écart alors…

Désolé pour la fausse piste :pensive: