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.


