Bonjour, j’aimerais modifier un tag arrivant de google home par ifttt sous cette forme Tags : {"#titremusic#":"« black catcher »"} et je voudrais supprimer la guillemet et le slache car sinon dans mon scenario la guillemet empêche squeezebox de lancer la musique car sinon si j’ai pas les guillemets a la réception j’ai que le mot black qui va sur squeezebox et lance toute les chansons comportant le mot black
Personne peut m’aider a faire ce bout de code car je vois ce qui faut faire mais j’arrive pas a modifier sous jeedom car le plugin manque ce détail car sinon si on lui écrit bien en dur cela fonctionne donc le plugin oublie d’enlever les guillemets
Hello
Un truc comme ca !?
$tags = $scenario->getTags();
$tags['#titremusic#'] = str_replace(array('«', '»'), array('', ''), $tags['#titremusic#'] );
$scenario->setTags($tags)
Bonjour merci bien @tomitomas de m’aider a créer le script j’ai essaye votre version de script mais fonctionne pas car les guillemet sont celle qu’on voit dans le log du scenario. Je pense que entre ce que nous donne le log de jeedom et ce que nous transmet google avec ifttt change car en faisant plusieurs changement entre " ou juste " rien ne fais soit je donne la mauvaise infos a donner apres sur le plugin squeezbox. J’ai remarque aussi que un espace pour ifttt il le considère comme un + donc sous l’appel de squeezebox il comprend pas avec ce + alors que moi je l’écrivais comme ça « black catcher » sans guillemet et cela fonctionne mais c’est en dur et moi je voudrais que sa soit n’importe lequel des mots passe par google assistant
Logs du scenario
------------------------------------
[2020-12-30 15:44:15][SCENARIO] Lancement du scénario en mode synchrone
[2020-12-30 15:44:15][SCENARIO] Start : Exécution provoquée par un appel API . Tags : {"#titremusic#":"\"black catcher\""}
[2020-12-30 15:44:15][SCENARIO] Exécution du sous-élément de type [action] : action
[2020-12-30 15:44:15][SCENARIO] Log : $tags["black catcher"]
[2020-12-30 15:44:15][SCENARIO] Affichage du popup : $tags["black catcher"]
[2020-12-30 15:44:15][SCENARIO] Exécution du sous-élément de type [action] : action
[2020-12-30 15:44:15][SCENARIO] Exécution de la commande [Bureau][SB jeedom 52:54:00:3f:94:8e][Vider Playlist]
[2020-12-30 15:44:15][SCENARIO] Exécution de la commande [Bureau][SB jeedom 52:54:00:3f:94:8e][Jouer Morceau] avec comme option(s) : {"background":"0","title":"","message":"$tags[\"black catcher\"]"}
[2020-12-30 15:44:15][SCENARIO] Exécution d'un bloc élément : 51
[2020-12-30 15:44:15][SCENARIO] Fin correcte du scénario
------------------------------------
Mon scenario avec les modifs
ah oui mais non ![]()
$tags[#titremusic#] ==> ne doit être utilisé que dans le code bloc et il te manque des quotes !
ton array $tags n’est pas connu en dehors de ton bloc code (-> aux autres endroits où tu l’as mis c’est reconnu comme une chaine de caracteres '$tags[‹ titremusic#] › et non pas comme la valeur d’un tag à utiliser)
si tu veux récupérer le contenu dans tag pour l’afficher dans ta log ou le passer en argument d’un autre scénario, il faut que tu utilises tag(titremusic)
il faudrait avoir quelque chose comme ca :
et là ton bloc code n’est pas exécuté car il n’est pas coché
est ce que tu pourrais le remplacer par :
$tags = $scenario->getTags();
$scenario->setLog('Initial value ==> '. $tags['#titremusic#']) ;
$tags['#titremusic#'] = str_replace(array('"', '"'), array('', ''), $tags['#titremusic#'] );
$scenario->setLog('Final value ==> '. $tags['#titremusic#']) ;
$scenario->setTags($tags);
ré-éxécuter et partager les logs qu’on voit ce qu’il recoit et ce qu’il traite ![]()
Ah oui ça fonctionne déjà mieux le code est bon et a part des erreurs de fatigue sur les variables et tag
cela fonctionne dans les logs j’ai fait par étapes pour regarder comment il le comprend et que je comprend mes erreurs car débutant sur insérer un script sous jeedom car trouve que la doc est pas assez explicite avec exemple ou trop peu .
log
[2020-12-30 17:22:50][SCENARIO] Lancement du scénario en mode synchrone
[2020-12-30 17:22:50][SCENARIO] Start : Exécution provoquée par un appel API . Tags : {"#titremusic#":"\"black catcher\""}
[2020-12-30 17:22:50][SCENARIO] Exécution du sous-élément de type [action] : code
[2020-12-30 17:22:50][SCENARIO] Exécution d'un bloc code
[2020-12-30 17:22:50][SCENARIO] Initial value ==> "black catcher"
[2020-12-30 17:22:50][SCENARIO] Final value ==> black catcher
[2020-12-30 17:22:50][SCENARIO] Exécution du sous-élément de type [action] : action
[2020-12-30 17:22:50][SCENARIO] Log : tag[black catcher]
[2020-12-30 17:22:50][SCENARIO] Affichage du popup : tag[black catcher]
[2020-12-30 17:22:50][SCENARIO] Exécution du sous-élément de type [action] : action
[2020-12-30 17:22:50][SCENARIO] Exécution de la commande [Bureau][SB jeedom 52:54:00:3f:94:8e][Vider Playlist]
[2020-12-30 17:22:50][SCENARIO] Exécution de la commande [Bureau][SB jeedom 52:54:00:3f:94:8e][Jouer Morceau] avec comme option(s) : {"background":"0","title":"","message":"tag[black catcher]"}
[2020-12-30 17:22:50][SCENARIO] Exécution de la commande [Bureau][SB jeedom 52:54:00:3f:94:8e][Lecture]
[2020-12-30 17:22:50][SCENARIO] Exécution d'un bloc élément : 51
[2020-12-30 17:22:50][SCENARIO] Fin correcte du scénario
------------------------------------
[2020-12-30 17:24:04][SCENARIO] Lancement du scénario en mode synchrone
[2020-12-30 17:24:04][SCENARIO] Start : Exécution provoquée par un appel API . Tags : {"#titremusic#":"\"black catcher\""}
[2020-12-30 17:24:04][SCENARIO] Exécution du sous-élément de type [action] : code
[2020-12-30 17:24:04][SCENARIO] Exécution d'un bloc code
[2020-12-30 17:24:04][SCENARIO] Initial value ==> "black catcher"
[2020-12-30 17:24:04][SCENARIO] Final value ==> black catcher
[2020-12-30 17:24:04][SCENARIO] Exécution du sous-élément de type [action] : action
[2020-12-30 17:24:04][SCENARIO] Log : tag[titremusic]
[2020-12-30 17:24:04][SCENARIO] Affichage du popup : tag[titremusic]
[2020-12-30 17:24:04][SCENARIO] Exécution du sous-élément de type [action] : action
[2020-12-30 17:24:04][SCENARIO] Exécution de la commande [Bureau][SB jeedom 52:54:00:3f:94:8e][Vider Playlist]
[2020-12-30 17:24:04][SCENARIO] Exécution de la commande [Bureau][SB jeedom 52:54:00:3f:94:8e][Jouer Morceau] avec comme option(s) : {"background":"0","title":"","message":"tag[titremusic]"}
[2020-12-30 17:24:04][SCENARIO] Exécution de la commande [Bureau][SB jeedom 52:54:00:3f:94:8e][Lecture]
[2020-12-30 17:24:04][SCENARIO] Exécution d'un bloc élément : 51
[2020-12-30 17:24:04][SCENARIO] Fin correcte du scénario
------------------------------------
[2020-12-30 17:25:29][SCENARIO] Lancement du scénario en mode synchrone
[2020-12-30 17:25:29][SCENARIO] Start : Exécution provoquée par un appel API . Tags : {"#titremusic#":"\"black catcher\""}
[2020-12-30 17:25:29][SCENARIO] Exécution du sous-élément de type [action] : code
[2020-12-30 17:25:29][SCENARIO] Exécution d'un bloc code
[2020-12-30 17:25:29][SCENARIO] Initial value ==> "black catcher"
[2020-12-30 17:25:29][SCENARIO] Final value ==> black catcher
[2020-12-30 17:25:29][SCENARIO] Exécution du sous-élément de type [action] : action
[2020-12-30 17:25:29][SCENARIO] Log : black catcher
[2020-12-30 17:25:29][SCENARIO] Affichage du popup : black catcher
[2020-12-30 17:25:29][SCENARIO] Exécution du sous-élément de type [action] : action
[2020-12-30 17:25:29][SCENARIO] Exécution de la commande [Bureau][SB jeedom 52:54:00:3f:94:8e][Vider Playlist]
[2020-12-30 17:25:29][SCENARIO] Exécution de la commande [Bureau][SB jeedom 52:54:00:3f:94:8e][Jouer Morceau] avec comme option(s) : {"background":"0","title":"","message":"black catcher"}
[2020-12-30 17:25:29][SCENARIO] Exécution de la commande [Bureau][SB jeedom 52:54:00:3f:94:8e][Lecture]
[2020-12-30 17:25:29][SCENARIO] Exécution d'un bloc élément : 51
[2020-12-30 17:25:29][SCENARIO] Fin correcte du scénario
------------------------------------
Top !
(edit : je n’avais pas regardé toutes les logs)
tout fonctionne comme tu veux du coup !?
cool !
(ton test si avec variable(xx, defaut) ==> le ‹ defaut › ne sert à rien ici, tu peux le virer !
)
@shadsnob : problème résolu ?
ca serait bien de clôturer le sujet si c’est le cas ![]()
Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.


