J’ai un script qui envoi un message à mon enceinte Nest via TTS mais qui ne lit que le premier mot et s’arrête au premier espace. Je ne vois pas ce qui cloche (problème d’encodage ? ).
J’utilise le moteur Jeedom TTS (Local)
Le Log: ------------------------------------ [2026-01-30 18:28:41][SCENARIO] **-- Début :** "Dernier avertissement:La fenêtre de la Chambre de Mathis est restée ouverte". Tags : {"#level#":"INFO","#title#":"[INFORMATION","#message#":"\"Dernier avertissement:La fenêtre de la Chambre de Mathis est restée ouverte\"","#trigger#":"api","#trigger_message#":"Scénario exécuté sur appel API"} [2026-01-30 18:28:41][SCENARIO] - Exécution du sous-élément de type [action] : action [2026-01-30 18:28:41][SCENARIO] Exécution de la commande [SALON][Nest][TTS] avec comme option(s) : {"background":"0","title":"","message":"\"Dernier avertissement:La fen\u00eatre de la Chambre de Mathis est rest\u00e9e ouverte\""} [2026-01-30 18:28:41][SCENARIO] Fin correcte du scénario
De ce qu’on voit ici, le scénario semble bien récupérer l’info correctement et la transmettre à la commande TTS.
Du coup si tu n’a pas le résultat escompté, je pense qu’il faudrait mettre les logs du plugin en debug (en redémarrant le daemon pour que ce soit pris en compte) et refaire les essais sur toute la chaine.
On voit ici que ton URL est encodée pour envoyer un tag entre " (guillemet), c’est le %22 qu’on voit dedans , donc dans ton scénario, le champ TTS est construit avec une chaine qui démarre avec des guillemets (ce que l’on voit également dans les logs du plugin, et que que tu évoques dans un de tes messages :
Ce « triple quote » n’est que le résultat qu’envoie ta commande et le tag(message).
Et enfin, si tu utilises le moteur TTS de Jeedom par défaut (pico ou espeak), il est probablement appelé par jeedom via une ligne de commande (je ne suis pas allé vérifier, c’est une supposition), et comme la ligne de commande par sécurité doit « entourer » la chaine à générer par des guillemets elle aussi, ca donne une ligne de commande bash où il doit y avoir un truc du genre pico -monoption -monautreoption ""Dernier avertissement...
Donc, il voir un double quote "" (qui s’annule donc) + un mot Dernier qu’il prend pour la phrase à générer, voit un espace et se dit que la suite ce sont des paramètres erronés ou à ignorer… (l’espace en linux est un séparateur de paramètre)
… Et il te génère juste le « premier mot »
Il faudrait voir lorsque tu définis ton tag, pour ne pas ajouter les " autour de sa valeur.
Et/Ou ne plus utiliser le moteur TTS pico ou espeak qui sont à éviter si on tient à ses oreilles
@gdseb hum par contre si je peux me permettre, personnellement je n’aurais pas fait comme ça pour lancer l’action via l’api http.
Plutôt que d’appeler un scénario via l’api et de passer le message à diffuser dans un tag, perso je ferais plutôt une commande dans un virtuel contenant le message (ou une variable) et je mettrai à jour cette dernière via l’api http.
Et je mets la commande en question (ou la variable) comme déclencheur de ton scénario.
Donc dès que la commande contenant le message est mise à jour, le scénario se déclenche et diffuse le message.
Je pense que ça à plusieurs avantages :
Ca simplifie l’appel avec beaucoup moins de paramètres
Tu n’a pas à gérer les quotes spécifiques au passage du tag
Ca permet plus de souplesse par exemple si tu veux avoir un scénario de test, ou faire une V2 de ton scénario, tu peux gérer directement le changement de déclencheur coté jeedom sans que l’url appelée par l’api ne change.