Préambule :
Si comme moi vous utilisez essentiellement la fonction Faire parler Alexa et que vous souhaitez vous affranchir d’un plugin et de cookies récalcitrants, alors cette alternative pourra peut être vous intéresser/dépanner.
Primo, j’ignore si cette proposition durera dans le temps, puisque dépendante d’un éditeur tiers.
Deuxio, elle n’est pas faite pour vous détourner travail fait par les devs sur les plugins gravitant autour d’Alexa.
Je ne suis pas développeur, ni codeur, je me suis basé sur des exemples simples pour rédiger ces quelques lignes, autrement dit, c’est à prendre en l’état ![]()
Les grandes lignes sont :
- La skill Voice Monkey
- La console Voice Monkey
- Le côté Jeedom
La version gratuite est suffisante pour les besoins de "faire parler, parler à, et lancer des routines" Je n’ai d’ailleurs exploré que ces possibilités, mais vous verrez que bon nombre d’autres options sont disponibles.
Avant de pouvoir commencer à utiliser Voice Monkey, vous devez effectuer les étapes suivantes :
- Activez la Skill Voice Monkey en allant sur https://www.amazon.fr/dp/B08C6Z4C3R
- Acceptez de lier la Skill à votre compte Amazon et acceptez les autorisations pour les notifications.
- Connectez vous sur Voice Monkey - Sign In
- Terminez la configuration et créez vos "Monkeys", des sonnettes connectées virtuelles, chacune munie d’une URL d’API que vous pouvez utiliser pour déclencher des routines.
- Créez une routine et utilisez le "Monkey" que vous venez de créer en tant que déclencheur.
Astuce: Pour éviter l’annonce, sur l’application Alexa ne pas oublier de désactiver les "Notifications de coup de sonnette" sur votre appareil.
Vous devez créer autant de devices/routines que vous avez de Echo. Cette opération ne sera à faire qu’une seule fois.
Assurez-vous de leur bon fonctionnement en agissant sur le bouton TEST depuis la console Voice Monkey.
Ceci étant fait, vous pourrez créer des Flows (espèces de scénarios succincts*), des Triggers (déclencheurs pour routines) et faire parler Alexa, ce que nous allons voir dans ce sujet.
* J’ai d’ailleurs détourné leur utilisation pour en faire des "Ask", puisqu’au travers de ces Flows, Alexa peut vous poser des questions. (Ça pourra faire l’objet d’un autre sujet)
Pour faire parler Alexa depuis la console Voice Monkey, il faut se rendre dans le menu APIv2 puis Announcement API
Après avoir choisi votre device et saisi le texte à prononcer, cliquer sur Send request
Si vous entendez parler votre device, c’est ok ![]()
Consultez cette même page et vous verrez l’URL qui a été utilisée sous la forme :
https://api-v2.voicemonkey.io/announcement?token=xxxxxxxxxx&device=monkey-salon&text=Ceci%20est%20un%20test
Où sont affichés votre token, le device vers lequel est envoyé le message et pour finir le message
En utilisant cette API on peut donc envoyer un message de notre choix sur un device désigné.
Reste à demander à Jeedom de rédiger la syntaxe de cette URL pour faire parler notre device à notre convenance en faisant varier le texte du message et accessoirement le device de destination.
J’ai décidé de procéder ainsi :
- Le message sera saisi dans un tag
- Un scénario récupérera ce tag et l’intégrera dans un bloc code où sera déjà écrit en dur votre token*.
- Le démarrage du scénario rédigera l’URL correspondant et l’exécutera, faisant ainsi parler Alexa.
* Votre token peut également être copié depuis Voice Monkey - Sign In
Le scénario que j’ai nommé "Voice Monkey Announcement API" contient ce bloc code :
$tags = $scenario->getTags();
$Voice_Message = $tags['#Voice_Message#'];
# Si le message est vide ou omis
if (empty($Voice_Message)) {
$Voice_Message = "Désolé je n'ai rien à dire";
}
# Si le device est vide ou omis, envoi sur le device par défaut
$Voice_Device = $tags['#Voice_Device#'];
if (empty($Voice_Device)) {
$Voice_Device = "monkey-salon";
}
$scenario->setLog('DEBUG DEVICE: '.$Voice_Device);
$Encode_Message = urlencode($Voice_Message);
$scenario->setLog('DEBUG ENCODE: '.$Encode_Message);
$url_VM = 'https://api-v2.voicemonkey.io/announcement?token=METTRE-ICI-VOTRE-TOKEN&device=' .$Voice_Device .'&text=' . urlencode($Voice_Message);
$scenario->setLog('DEBUG URL: '.$url_VM);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url_VM);
$response = curl_exec($ch);
curl_close($ch);
$scenario->setLog('DEBUG RETOUR : '.$response);
Pour être exécuté correctement, ce scénario a besoin de 2 tags:
- Le premier Voice_Message est le message désiré
- Le second Voice_Device est le nom du device de destination
Dans votre scénario où vous faisiez appel à la commande "Faire parler Alexa", remplacez la par une commande de type scénario. Scroller pour sélectionner le scénario Voice Monkey Announcement API, et choisir Démarrer (sync)
Dans la partie Tags du scénario, ajouter:
Voice_Message="mon message de test" Voice_Device=nom-de-votre-monkey
Pour des raisons pratiques, plutôt que de saisir:
Voice_Message="mon message de test" ce qui n’est pas forcément pratique dans la zone Tags du scénario, on peut au préalable créer un tag supplémentaire qui contiendra votre texte.
Tag → MonMessage → mon message de test de ce #sjour#
La syntaxe sera alors:
Voice_Message="tag(MonMessage)" Device=nom-de-votre-monkey
C’est d’autant plus conseillé si le message contient des calculs ou infos.
Si vous entendez Alexa vous dire "Désolée je n’ai rien à dire", c’est que votre Tag Voice_Message était vide.
J’admets que c’est plus contraignant car il faut saisir 2 actions pour faire parler Alexa (le tag + le lancement du scénario), mais on ne dépend plus d’un plugin couplé à Alexa, mais d’Alexa liée à une skill tierce. A voir ce que vous jugerez le plus pertinent.
Je fonctionne ainsi depuis les dernières pannes du plugin Alexa-api et même si il semble être de nouveau opérationnel, pour l’heure je vais rester sur cette alternative qui répond à mon besoin.

















