triggerValue fonctionne-t-il vraiment?

Bonjour,
J’ai un problème avec triggerValue, est-ce qu’il fonctionne vraiment ?
J’ai un scénario qui teste la valeur d’une commande qui déclenche le scénario via 5 SI (un par touche de la télécommande).
Sauf qu’on peut voir que la valeur est différente.
Voici l’un de mes SI :

trigger(#[Itinérant][8 - Fibargroup Keyfob FGKF601 Mathieu][CentralScene-1]#) == 1 ET triggerValue(#[Itinérant][8 - Fibargroup Keyfob FGKF601 Mathieu][CentralScene-1]#) == 4

Dans les logs:
[2023-07-17 16:30:58][SCENARIO] **-- Start :** Scenario execute automatiquement sur evenement venant de : [Itinerant][8 - Fibargroup Keyfob FGKF601 Mathieu][CentralScene-1] (4). [2023-07-17 16:30:58][SCENARIO] - Exécution du sous-élément de type [condition] : if (trigger(#[Itinérant][8 - Fibargroup Keyfob FGKF601 Mathieu][CentralScene-1]#) == 1 ET triggerValue(#[Itinérant][8 - Fibargroup Keyfob FGKF601 Mathieu][CentralScene-1]#) == 4) [2023-07-17 16:30:59][SCENARIO] Evaluation de la condition : [(1 == 1 ET 90 == 4)] = Faux

On voit bien que la valeur de déclenchement est 4, mais derrière dans la condition, c’est 90.
4 est la valeur de la commande, et 90, c’est l’état de « repos ».

Merci pour votre aide.
Mathieu

Peut-être qu’entre le déclenchement et le test, la valeur est revenue à l’état repos.

Hello @mich0111,
Oui mais le but de cette commande c’est de garder la valeur qui déclenche le scénario.
Mathieu

Bonjour,

Ce sujet a été débattu ici : Bloc code: récupération de la valeur de la commande qui a déclenché le scénario

La fonction récupère l’état du trigger quand tu lui demande. Comme le dis @mich0111, à ce moment, l’état est revenu à 90.

Si c’est cette commande qui a trigguée.

Sauf que la doc dit:
triggerValue(commande) : Permet de connaître la valeur du déclencheur du scénario.
Ok vu, comment contourner le « problème » ?

Et bien la doc est fausse.
Si la valeur du trigger est furtive, tu ne pourras pas la récupérer.

1 « J'aime »

Effectivement :frowning:
Comment contourner le « problème » ?
Je n’ai pas trouvé comment garder l’état pendant x temps sur l’équipement Fibargroup Keyfob FGKF601.
Mathieu

1 « J'aime »

Essai d’ajouter un tag au tout début du scénario pour récupérer la valeur dès le déclenchement.
Si le retour à 90 n’est pas trop rapide, ça peut le faire et ensuite utilise ton tag plutôt que triggerValue()

@Bison, je vais essayer.
J’ai historisé une des commandes pour voir au bout de combien de temps ça bascule à 90.
Le problème que je vais avoir, c’est que j’ai 6 commandes, une par bouton (depuis le nouveau plugin zwave).
Existe-t-il une commande qui permet de connaitre la commande qui déclenche le scénario.
trigger(#nomduscénario#) ==> tag
Cela marche ça ?
Mathieu

Pourquoi tu t’embêtes.
Tu crées autant de tags que de triggers et ensuite tu manipules le bon trigger en utilisant la fonction trigger()

6x2 télécommandes, j’ai peur qu’en exécutant les 12 tags, le changement d’état ait déjà eu lieu.
Je viens de voir que c’est uniquement trigger() pour connaitre le déclencheur du scénario.

Le mieux serait que tu montres ton scenario complet

Norbert

@ngrataloup en version texte ou imprim écran ?

1 « J'aime »

Je ne sais pas ce que fait ton scénario mais, en ce qui me concerne, j’ai un scenario par télécommande (TV Salon, TV Ami, …).
Du coup, après déclenchement, je teste la valeur de l’appui.

imprim ecran (lisible)

voilà :slight_smile:

5 scénarios au lieu d’un résoudra ton problème.
Tu n’auras besoin que de tester la valeur du declencheur à chaque fois en début de scénario et plus le trigger. Plus de triggervalue() non plus.
Quelquefois à vouloir tout condenser ça ne facilite pas le codage.

Totalement en phase avec @mich0111, 5 scenarios, 1 pour chaque SI, avec comme declencheur les « centraleScene » correspondantes de Mathieu et cedric et leur valeur
ex de declencheur :

#[Itinérant][8 - Fibargroup Keyfob FGKF601 Mathieu][CentralScene-1]# == 4

Eventuellement 1 test sur le trigger (et pas sur la valeur) pour savoir si c’est mathieu ou cedric qui declenche

et plus de souci

norbert

Ok je vois.
Je vais essayer avec un tag et en gardant les 5 SI.
Si ça bug encore, je partirai sur 5 scénarios.
Merci à vous pour votre aide :slight_smile:

Mathieu