Bonjour à tous
En règle générale nous posons des questions à Alexa et elle y répond ou s’exécute s’il s’agit d’ordres.
Dans certains cas il peut s’avérer intéressant/amusant que ce soit Alexa qui vous pose la question en fonction de tel événement ou situation, et qu’en fonction de votre réponse elle agisse.
Un exemple simple, la luminosité baisse et Alexa pourrait vous demander si vous souhaitez allumer la lumière.
C’est ce que fait le ASK au niveau du plugin mobile par le biais d’une notification. Le mobile va avoir l’avantage de patienter un certain temps avant que vous ne donniez votre réponse. Avec Alexa, il vous faudra lui répondre dans la foulée. C’est ce que nous allons voir au travers de l’exploitation des Flows de la skill Voice Monkey.
Les Flows sont des scénarios très simples du type IFTTT, mais suffiront pour traiter des ASK.
Il est primordial que vous ayez lu et mis en œuvre toute la première partie du tuto Faire parler Alexa sans plugin, ne serait-ce que pour avoir configuré et créé vos devices dans l’application.
En admettant que ce soit chose faite, rendez vous sur votre Console Voice Monkey et dans la partie gauche cliquer sur Flows puis New flow.
Nous allons prendre l’exemple où Alexa nous demandera si nous voulons allumer une lumière. Pour cet exemple simple, nous supposons que votre lampe est intégrée à Jeedom, avec 2 commandes (actions) On et Off.
Donnez un nom à votre Flow, par exemple "Ask lumière salon".


De sorte à ce qu’Alexa nous interroge, nous allons rédiger la question. Sélectionner "Question prompt" puis "Add action"

Précisez le device qui devra parler, rédigez votre question et choisissez le type de réponse attendue. Dans notre exemple ce sera de type Yes/No

Après validation, vous aurez un aperçu de votre flow, avec sa question en entête et les 2 possibilités de réponse.

Restent à dérouler les actions que vous souhaitez faire en fonction de chaque réponse fournie.
Answer Yes + : si réponse= oui, alors allume
Answer No + si réponse= non, alors confirmation vocale (optionnel, peut être vide).
En face de Answer Yes, cliquez sur le +
Cela vous fait retourner sur la liste des actions, où cette fois ci vous choisissez "Web Request", puis "Add action".


Le champ URL correspond à l’URL qui va lancer l’action Jeedom Lampe On.
Vous trouverez cette URL dans votre équipement Jeedom, sur l’onglet configuration de la commande, puis informations et enfin URL directe.
Copiez-collez cette URL et validez par Add action.
De retour sur la configuration de votre flow, en face de Answer No, cliquez sur le +
choisissez "Speech" puis "Add action"

Sélectionner le device qui devra parler, rédigez votre message et validez.

Votre flow est désormais opérationnel et vous pouvez le tester directement depuis la console Voice Monkey avec Trigger Flow.
Si vous avez bien fait les choses, Alexa devrait vous poser la question et en fonction de votre réponse, allumer ou non votre équipement.
A savoir que faute de réponse, Alexa se limitera à poser 2 fois la question.
Jusqu’à présent nous avons vu comment créer un flow et l’exécuter depuis la console Voice Monkey.(La doc VM annonce 3 flows gratuits dans l’offre de base, mais j’en suis à plus de 10 sans abonnement.)
Ce qui va nous interesser, c’est de lancer directement ces flows depuis Jeedom.
Tout comme pour "Faire parler Alexa", Voice Monkey propose une API qui va générer les URLs permettant de lancer ces flows
On peut voir que cette URL est composée de 2 éléments principaux, votre token et l’ID du flow (1010 dans mon exemple)
https://api-v2.voicemonkey.io/flows?token=30xxxCECI_EST_MON_TOKENxxxxx0f2e&flow=1010
Votre premier flow portera le numéro 1000 et ce numéro s’incrementera à chaque nouvelle création.
C’est cette URL que nous allons exploiter dans Jeedom pour faire nos ASK. Tout comme pour "Faire parler Alexa" un petit scénario intégrant un bloc code rédigera automatiquement cette URL. Il vous suffira de connaître le numéro de votre flow pour le lancer.
Le scénario que j’ai nommé "Voice Monkey Flow API" contient ce bloc code :
$tags = $scenario->getTags();
$Flow_Number = $tags['#Flow_Number#'];
$scenario->setLog('DEBUG CODE: '.$Flow_Number);
$url_VM = 'https://api-v2.voicemonkey.io/flows?token=METTRE-ICI-VOTRE-TOKEN&flow=' .$Flow_Number;
$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);
Ne pas oublier de saisir votre token
Pour être exécuté correctement, ce scénario a besoin d’un tag: Flow_Number
C’est le numéro identifiant votre flow sur la console Voice Monkey.
Dans le scénario Jeedom où vous souhaitez "Faire votre ASK", ajoutez une action de type scénario, scroller pour sélectionner le scénario Voice Monkey Flow API, et choisir Démarrer (sync)
Dans la partie Tags du scénario, ajouter:
Flow_Number=1000
Exemple d’un scénario ayant pour déclencheur une présence dans la pièce et comme condition un seuil de luminosité.
Ce n’est qu’un exemple basique afin de montrer la faisabilité. Libre à vous d’étoffer, les possibilités sont nombreuses.
Si par la suite vous créez d’autres Flows sur la console, pour les appeler depuis Jeedom, il vous suffira d’appeler le scénario avec pour tag le numéro du flow concerné.
Amusez vous bien ![]()






