Problème variable inutilisable

bonjour, je rencontre un problème avec l’utilisation d’une variable:

dans un scénario j’utilise plusieurs variables dans un bloc code qui fonctionnent très bien, je commence par vider les variables :

$scenario->setData(« V_phrase_IFTTT »,«  » ,false); //Vide la variable demandée à google
$scenario->setData(« V_couleur_IFTTT »,«  » ,false); //Vide la variable demandée à google
$scenario->setData(« V_couleur_Hexa_IFTTT »,«  » ,false); //Vide la variable demandée à google
$scenario->setData(« V_phrase_Full_IFTTT »,«  » ,false); //Vide la variable demandée à google
$scenario->setData(« V_phrase_Title_IFTTT »,«  » ,false); //Vide la variable demandée à google

un peu plus loin je renseigne les variables :

// Correction de la phrase IFTTT pour aider les interaction
$tags["#phrase#"]=strtolower($tags["#phrase#"]); //tout en minuscules
$tags["#phrase#"]=str_ireplace(array_keys($IFTTTReplaceFromTo),$IFTTTReplaceFromTo,$tags["#phrase#"]); //effectue tous les remplacements
    
$scenario->setLog("Corrected Sentence : ".$tags["#phrase#"]); //Log

// Mod couleur récupère le dernier mot V_couleur_IFTTT
$last_word_start = strrpos($tags["#phrase#"], ' ') + 1;
$last_word = substr($tags["#phrase#"], $last_word_start); // dernier mot couleur
// Mod debutt phrase sans couleur à la fin V_phrase_IFTTT
// couleur
if ($last_word == "jaune")
{
  $color="#FFFF00";
  $title="setColor"; 
}
if ($last_word == "rouge")
{
  $color="#FF0000";
  $title="setColor"; 
}    
if ($last_word == "vert" || $last_word == "verre")
{
  $color="#00FF00";
  $title="setColor"; 
}

pour au final écrire les variables :

$position_espace = strrpos($tags["#phrase#"], " "); //on récupère l'emplacement du dernier espace dans la chaine, pour ne pas découper un mot.
$texte_debut_phrase = substr($tags["#phrase#"], 0, $position_espace);  //on découpe à la fin du dernier mot

$scenario->setData("V_couleur_IFTTT",$last_word ,false) ; //sauvegarde de la phrase dans une variable pour la suite avant urlencode     
$scenario->setData("V_couleur_Hexa_IFTTT",$color ,false) ; //sauvegarde de la phrase dans une variable pour la suite avant urlencode       		
$scenario->setData("V_phrase_IFTTT",$texte_debut_phrase ,false) ; //sauvegarde de la phrase dans une variable pour la suite avant urlencode
$scenario->setData("V_phrase_Full_IFTTT",$tags["#phrase#"] ,false) ; //sauvegarde de la phrase dans une variable pour blanc chaud ou blanc froid    
$scenario->setData("V_phrase_Title_IFTTT",$tags["#phrase#"] ,false) ; //sauvegarde de la phrase dans une variable pour blanc chaud ou blanc froid  

résultat en photo :

dans le bout de code ci-dessus c’est la dernière variable que me pose problème:

$scenario->setData("V_phrase_Title_IFTTT",$tags["#phrase#"] ,false) ; //sauvegarde de la phrase dans une variable pour blanc chaud ou blanc froid 

en effet elle se rempli bien avec la valeur « setColor » mais quand j’utilise variable(V_phrase_Title_IFTTT) dans ta partie « Titre » de la commande « Custon Code » la variable n’est pas transmise

alors que quand j’utilise variable(V_couleur_Hexa_IFTTT) dans ta partie « Message » de la commande « Custon Code » la variable est bien transmise

voici mon log où la partie « title » ne se remplie pas avec variable(V_phrase_Title_IFTTT) dans la partie « Titre » :


[2020-04-03 21:25:21][SCENARIO] Start : Execution provoquee par un appel API . Tags : {« #createdat# »:« "April 3, 2020 at 09:25PM" »,« #phrase# »:« "couleur du salon en rouge" »}
[2020-04-03 21:25:21][SCENARIO] Exécution du sous-élément de type [action] : code
[2020-04-03 21:25:21][SCENARIO] Exécution d’un bloc code
[2020-04-03 21:25:21][SCENARIO] IFTTT request Created at : 2020-04-03 21:25:00
[2020-04-03 21:25:21][SCENARIO] IFTTT request Received at : 2020-04-03 21:25:21
[2020-04-03 21:25:21][SCENARIO] Elapsed : 21 sec
[2020-04-03 21:25:21][SCENARIO] IFTTT request time OK
[2020-04-03 21:25:21][SCENARIO] Received Sentence : « couleur du salon en rouge »
[2020-04-03 21:25:21][SCENARIO] Corrected Sentence : couleur du salon en rouge
[2020-04-03 21:25:21][SCENARIO] All received responses :
[2020-04-03 21:25:21][SCENARIO] All received responses corrected :
[2020-04-03 21:25:21][SCENARIO] Exécution du sous-élément de type [condition] : if
[2020-04-03 21:25:21][SCENARIO] Evaluation de la condition : [« couleur du salon en » matches « /couleur du salon/ » || « couleur du salon en » matches « /couleur salon en/ » || « couleur du salon en » matches « /couleur du salon en/ » || « couleur du salon en » matches « /couleur salon/ »] = Vrai
[2020-04-03 21:25:21][SCENARIO] Exécution du sous-élément de type [action] : then
[2020-04-03 21:25:21][SCENARIO] Exécution de la commande [Salon][Lumiere][ON]
[2020-04-03 21:25:21][SCENARIO] Pause de 1 seconde(s)
[2020-04-03 21:25:22][SCENARIO] Exécution de la commande [Salon][Panneau Led][Custom Code] avec comme option(s) : {« background »:« 0 »,« title »:«  »,« message »:« #FF0000 »}
[2020-04-03 21:25:22][SCENARIO] Pause de 1 seconde(s)
[2020-04-03 21:25:23][SCENARIO] Exécution de la commande [Salon][Panneau Led][Custom Code] avec comme option(s) : {« background »:« 0 »,« title »:«  »,« message »:« #FF0000 »}
[2020-04-03 21:25:23][SCENARIO] Exécution du sous-élément de type [condition] : if
[2020-04-03 21:25:23][SCENARIO] Evaluation de la condition : [« couleur du salon en rouge » matches « /couleur blanc pur au salon/ » || « couleur du salon en » matches « /couleur blanc pur dans le salon/ » || « couleur du salon en » matches « /couleur blanc pur salon/ »] = Faux
[2020-04-03 21:25:23][SCENARIO] Exécution du sous-élément de type [action] : else
[2020-04-03 21:25:23][SCENARIO] Fin correcte du scénario

et mon voici mon log où la partie « title » se remplie avec « setColor » dans la partie « Titre »


[2020-04-03 21:36:33][SCENARIO] Start : Execution provoquee par un appel API . Tags : {« #createdat# »:« "April 3, 2020 at 09:36PM" »,« #phrase# »:« "couleur du salon en rouge" »}
[2020-04-03 21:36:33][SCENARIO] Exécution du sous-élément de type [action] : code
[2020-04-03 21:36:33][SCENARIO] Exécution d’un bloc code
[2020-04-03 21:36:33][SCENARIO] IFTTT request Created at : 2020-04-03 21:36:00
[2020-04-03 21:36:33][SCENARIO] IFTTT request Received at : 2020-04-03 21:36:33
[2020-04-03 21:36:33][SCENARIO] Elapsed : 33 sec
[2020-04-03 21:36:33][SCENARIO] IFTTT request time OK
[2020-04-03 21:36:33][SCENARIO] Received Sentence : « couleur du salon en rouge »
[2020-04-03 21:36:33][SCENARIO] Corrected Sentence : couleur du salon en rouge
[2020-04-03 21:36:33][SCENARIO] All received responses :
[2020-04-03 21:36:33][SCENARIO] All received responses corrected :
[2020-04-03 21:36:33][SCENARIO] Exécution du sous-élément de type [condition] : if
[2020-04-03 21:36:33][SCENARIO] Evaluation de la condition : [« couleur du salon en » matches « /couleur du salon/ » || « couleur du salon en » matches « /couleur salon en/ » || « couleur du salon en » matches « /couleur du salon en/ » || « couleur du salon en » matches « /couleur salon/ »] = Vrai
[2020-04-03 21:36:33][SCENARIO] Exécution du sous-élément de type [action] : then
[2020-04-03 21:36:33][SCENARIO] Exécution de la commande [Salon][Lumiere][ON]
[2020-04-03 21:36:33][SCENARIO] Pause de 1 seconde(s)
[2020-04-03 21:36:34][SCENARIO] Exécution de la commande [Salon][Panneau Led][Custom Code] avec comme option(s) : {« background »:« 0 »,« title »:« setColor »,« message »:« #FF0000 »}
[2020-04-03 21:36:34][SCENARIO] Pause de 1 seconde(s)
[2020-04-03 21:36:35][SCENARIO] Exécution de la commande [Salon][Panneau Led][Custom Code] avec comme option(s) : {« background »:« 0 »,« title »:« setColor »,« message »:« #FF0000 »}
[2020-04-03 21:36:35][SCENARIO] Exécution du sous-élément de type [condition] : if
[2020-04-03 21:36:35][SCENARIO] Evaluation de la condition : [« couleur du salon en rouge » matches « /couleur blanc pur au salon/ » || « couleur du salon en » matches « /couleur blanc pur dans le salon/ » || « couleur du salon en » matches « /couleur blanc pur salon/ »] = Faux
[2020-04-03 21:36:35][SCENARIO] Exécution du sous-élément de type [action] : else
[2020-04-03 21:36:35][SCENARIO] Fin correcte du scénario

ma question est pourquoi cette variable ne peut pas etre utilisée dans la partie « Titre » de mon scénario…

merci à tous.

je me répond à moi même, la variable variable(V_phrase_Titre_IFTTT) n’était pas déclarée
dans le scénario, j’ai donc rajouté dans le « si » => || variable(V_phrase_Titre_IFTTT) !=""

et ça fonctionne… si cela peut aider…
bon confinement.