Pour le tag #Qui# j’utilise substr((trigger(),0,strpos(#trigger#, 'D')-1)
ensuite dans un bloc code j’utilise mon Tag pour récupérer la valeur de la commande
$tags=$scenario->getTags(); // récupération des tag du scénario
// Récupération des valeurs
// $tags['#EchoAlexaReminderLabel#']=cmd::byString('#[Communication][Echo du sous sol][Reminder Label]#')->execCmd();
$tags['#EchoAlexaReminderLabel#']=("#".$tags['#Qui#']."[Reminder Label]#");
cmd::byString($tags['#EchoAlexaReminderLabel#'])->execCmd();
$scenario->setTags($tags); // écriture des tags dans le scénario
$scenario->setLog($tags); // Écrit un message dans le log du scénario
Sauf qu’il me retourne le nom complet de la commande au lieu de la valeur
$tags=$scenario->getTags(); // récupération des tag du scénario
// Récupération des valeurs
// $tags['#EchoAlexaReminderLabel#']=cmd::byString('#[Communication][Echo du sous sol][Reminder Label]#')->execCmd();
$tags['#EchoAlexaReminderLabel#']=("#".$tags['#Qui#']."[Reminder Label]#");
//cmd::byString($tags['#EchoAlexaReminderLabel#'])->execCmd();
$value = cmd::byString($tags['#EchoAlexaReminderLabel#'])->execCmd();
$tags['#EchoAlexaReminderLabel#']=$value
$scenario->setLog($value);
$scenario->setTags($tags); // écriture des tags dans le scénario
$scenario->setLog($tags); // Écrit un message dans le log du scénario
[2021-05-27 13:44:58][SCENARIO] Start : Scenario execute automatiquement sur evenement venant de : [Communication][Echo du sous sol][Dernier dialogue avec Alexa].
[2021-05-27 13:44:58][SCENARIO] Exécution du sous-élément de type [condition] : if
[2021-05-27 13:44:58][SCENARIO] Evaluation de la condition : ["crée un rappel" matches "/crée un rappel/" OU "arrête" matches "/crée un rappel/" OU "éteins" matches "/crée un rappel/"] = Vrai
[2021-05-27 13:44:58][SCENARIO] Exécution du sous-élément de type [action] : then
[2021-05-27 13:44:58][SCENARIO] Mise à jour du tag #Qui# => [Communication][Echo du sous sol]
[2021-05-27 13:44:58][SCENARIO] Affichage du popup : [Communication][Echo du sous sol]
[2021-05-27 13:44:58][SCENARIO] Exécution du sous-élément de type [action] : action
[2021-05-27 13:44:58][SCENARIO] Pause de 20 seconde(s)
[2021-05-27 13:45:18][SCENARIO] Exécution du sous-élément de type [action] : code
[2021-05-27 13:45:18][SCENARIO] Exécution d'un bloc code
[2021-05-27 13:45:18][SCENARIO] syntax error, unexpected '$scenario' (T_VARIABLE)
[2021-05-27 13:45:18][SCENARIO] Exécution du sous-élément de type [action] : action
[2021-05-27 13:45:18][SCENARIO] Affichage du popup :
[2021-05-27 13:45:18][SCENARIO] Fin correcte du scénario
Il manque un point-virgule à la fin de $tags['#EchoAlexaReminderLabel#']=$value… A priori c’est ça que tu cherches à faire :
$tags['#EchoAlexaReminderLabel#'] = ("#".$tags['#Qui#']."[Reminder Label]#");
$tags['#EchoAlexaReminderLabel#'] = cmd::byString($tags['#EchoAlexaReminderLabel#'])->execCmd();
$scenario->setTags($tags); // écriture des tags dans le scénario
$scenario->setLog($tags); // Écrit un message dans le log du scénario
EDIT :
en + court encore :
$tags['#EchoAlexaReminderLabel#'] = cmd::byString("#".$tags['#Qui#']."[Reminder Label]#")->execCmd();
$scenario->setTags($tags); // écriture des tags dans le scénario
$scenario->setLog($tags); // Écrit un message dans le log du scénario