Je déclenche un scénario B à partir d’un scénario A.
Scénario A :
ne fait rien d’autre que lancer une action : Déclencher scénario B
Scénario B :
Test si trigger(scénario A)
. * si test est ok, alors afficher : « condition si déclenchée. trigger() »
. * sinon, alors afficher : « condition sinon déclenchée. trigger() »
Le truc est que je tombe toujours sur le sinon.
et la fonction trigger() retourne le mot ‹ scenario › !
N’est elle pas censée retourner le chemin du scénario A qui a déclenché ce scénario B ???
Merci pour cette recherche effectuée à ma place.
Effectivement je n’ai pas pensé à faire des recherches avant de solliciter la communauté. Quel idiot je suis !
Car le si trigger est pas censé avoir un egal quelque chose ?
D’après ce que j’ai compris
trigger() retourne le nom du trigger. trigger(#[ma][commande][info]#) retourne vrai ou faux . triggerValue() retourne la valeur de la commande info.
La doc dit :
#trigger# (déprecié, mieux vaut utiliser trigger()) : Peut être le nom de la commande qui a déclenché le scénario :
api si le lancement a été déclenché par l’API,
schedule s’il a été lancé par une programmation,
user s’il a été lancé manuellement,
start pour un lancement au démarrage de Jeedom.
#trigger_value# (déprecié, mieux vaut utiliser triggerValue()) : Pour la valeur de la commande ayant déclenché le scénario
Donc en l’état,
SI trigger() == « scenario »
on sait que le scénario a été exécuté par un scénario mais on ne sait pas lequel !
triggerValue() ne fonctionne pas car je n’ai pas le nom du scénario cela reste none
A mon avis dans son cas, plus vite fait de passer par un tag
Bon j’avais du rater un épisode, je viens de vérifier et effectivement trigger() retourne « scenario » lorsque c’est un scénario qui l’a exécuté.
Donc tu n’as pas le choix, il faut passer par un tag comme proposé par prflaken
Concrètement :
sur ton scénario A dans la case Tags du met : sc=A
dans le bloc SI de ton scénario B tu oublies la fonction trigger : SI tag(sc) == "A" ALORS Message "Condition SI déclenché par scénario A"