Faire demander une précision par Alexa et fournir la réponse

Bonjour à tous
Enervé par les restrictions d’Alexa, je me suis décidé à utiliser ce splendide plugin et j’aurais du le faire plus tôt tant il regorge de fonctionnalités.
Pourvu que ça dure (messieurs Amazon)
Toutefois, il y a une chose que je ne sais pas faire - je ne sais pas si c’est possible.
Je voudrais que suite à une action demandée, Alexa puisse me demander une précision, ou l’action suivante.
En standard, Alexa le fait de temps à autre, si elle n’a pas compris quelque chose, elle peut demander par exemple « Désolé, quel appareil ? » ou bien « Voulez vous ajouter truc machin à votre panier ? » ou « Voulez-vous lancer la playlist truc ? ». En ce cas on peut lui répondre sans dire Alexa avant, juste le nom de l’appareil (pour le 1er exemple) ou « Oui ou Non » pour le 2 et le 3.
Je donne un exemple d’utilisation. Je crée une routine pour allumer mes clims. Si je lui dit par exemple « Alexa, allume la clim », j’aimerais qu’elle me demande quelle pièce sans que je sois obligé de redire Alexa devant (Alexa, le bureau). Autre exemple, si je lui dit de mettre la clim du salon en mode manuel (c’est à dire de ne plus exécuter mon scénario qui gère la température automatiquement), j’aimerais qu’elle me demande, à la suite de la mise en manuel : « Voulez vous (allumer/éteindre) la clim ? »(selon son état actuel).
Pour gérer ce second exemple, après la mise en manuel, je fais dire à Alexa, "Pour allumer (pour éteindre) la clim du (Salon/bureau/chambre) dites : Alexa, allume la clim du (salon /bureau.chambre). C’est lourd. L’idée serait qu’elle me demande « Voulez vous (allumer/éteindre) la clim du (salon/bureau/chambre) » et que je puisse lui répondre par oui ou par non.
Autre exemple. Si Alexa m’annonce « La porte du garage est restée ouverte ». je voudrais qu’elle me demande si elle doit la fermer (Oui/Non). Aujourd’hui, je le gère avec Telegram…

Voilà la question, désolé de ne pas avoir été concis, je voulais que la demande soit claire. Je ne sais pas si c’est possible techniquement. Et si c’est déjà le cas, je n’ai pas trouvé comment.
Merci d’avance

bonjour @phyllox
je pense qu’avec le combo interaction et scenario ca doit etre possible, mais perso j’ai pas encore essayé/eu le temps de tester

@gael
Hello

J’avoue que j’ai un peu de mal à imaginer ça. Tu pourrais développer un peu ?
Merci, bonne soirée

@phyllox,
pour ton exemple de clim, tu commences par faire une interaction pour allumer la clim, « commande » la « objet », et sa réponse, quelle piéce je suppose, tu lui fait lancer un scénario avec le last interaction du pluggin.
c’est dans ce sens que tu dois chercher, mais comme je t’ai dit, pas encore tester.

1 « J'aime »

@gaelSalut
Désolé, mais je ne vois toujours pas ce que tu as en tête.
Par interaction, je suppose que tu veux dire « ordre reçu par Alexa et récupéré dans Alexa-api » par exemple si je dis à l’écho plus de la chambre « Alexa, allume la clim », je récupère effectivement sans problème le message reçu dans Alexa-API. En revanche, je ne pense pas que tu parlesdu module Interactions de Jeedom (que j’utilise avec JPI plugin ou Telegram) et dont je ne vois pas comment le faire interagir avec Alexa et Alexa-API. Mais si je me trompes…

Ensuite, effectivement, je peux gérer sa réponse avec Alexa-API : « Quel appareil ? »

C’est après que je coince, parce pour indiquer à Alexa quel appareil, je dois relancer une interaction avec Alexa, donc dire par exemple : « Alexa, la chambre » et pas simplement « la chambre »
Si c’est bien le cas, ça m’oblige à créer dans Alexa une routine pour chaque pièce, genre « Alexa, la chambre », « Alexa, le bureau », « Alexa le séjour » etc… Gérer dans un scénario à quelle interaction précédente va correspondre le Alexa, la chambre qui peut concerner plusieurs requètes sur différents équipements, et espérer qu’en tout état de cause, Alexa ne va pas confondre la routine Alexa, la chambre avec une commande existante qui va lui faire allumer la lumière de la chambre parce que c’est ce qu’elle préfère faire.
Qui plus est ça ne répond pas à ma question, comment éviter de redire « Alexa » devant « la chambre », parce que si je ne dit pas, comme elle n’attend pas de réponse à sa question, elle n’aura pas l’interaction dans son dernier message.
Ou alors, j’ai loupé une marche dans le plugin Alexa-API. Ce qui est le but originel de ma question.

Si j’ai tout faux, j’aimerais bien comprendre.
Merci

je parle bien des interaction jeedom qui depuis peu sont géré par le plugin alexa api

Tu coches la case interactions avec jeedom.
Pour ne pas redire « alexa » tu active l’écoute attentive
Et pour les « ordre recue par alexa dans alexa api » c’est « dernier dialogue avec alexa »
L’idée est donc de faire interagir les interaction jeedom avec le plugin alexaapi et le dernier dialogue avec alexa

Rebonjour

AH, voilà le hic, je n’ai pas ce bouton « Interactions avec Jeedom »
J’ai une version du plugin du 27-02-2020, mais Jeedom ne m’en a pas proposé de plus récente.


Je suis en version 4.0.56 de Jeedom.
Est-ce que la version qui propose l’interaction est une beta ?
Merci

Elle est que en beta, @sigalou ne la pas encore passer en stable

Cdt
Thibaut

1 « J'aime »

@Thibaut_T
Merci pour la confirmation.

Ceci dit, je peux tester sans ce mode, puisque je n’ai pas besoin de confirmation à priori pour tester la réponse.

Par contre, je n’ai pas vu que le mode « écoute attentive » soit configurable dans le plugin.
Déjà qu’Alexa a les oreilles qui traînent et comprend assez souvent de travers, si en plus je lui donne des bâtons supplémentaires pour m’envoyer des commentaires impromptus quand je ne l’ai pas sonnée…
L’idée serai de pouvoir activer le mode « écoute attentive » au moment d’une conversation particulière, et de le désactiver ensuite.

Est-ce que comme hélas trop souvent j’ai mal regardé ou de travers, ou bien confirmez vous que ce mode n’est pas configurable dans le plugin (peut-être dans la beta ?)

Merci

mon oubli pour la beta,
l’ecoute n’est pas configurable dans le plugin, juste dans l’appli alexa

Merci pour les réponses.
Je viens de faire quelques tests avec l’écoute attentive activée (mais sans les interactions avec Jeedom).
Alors, à moins que le fait d’activer les interactions avec Jeedom change le mode de fonctionnement, ça ne fonctionne pas - à priorI;
1°) Le mode écoute attentive reste actif très peu longtemps. Il ne faut pas répondre trop vite, ni trop lentement.
2°) Si après le message Alexa, mais avant l’arrêt de l’écoute attentive, je dis à Alexa un mot ou une phrase qu’elle ne connait pas pas, elle n’enregistre pas ce mot dans « dernier dialogue avec Alexa ».Par exemple si je dis « OK », pas de OK dans cette zone qui est alors vide.
3°) Si je veux configurer une réponse qu’elle connaisse - donc dans mon cas uniquement via une routine - le mot ou la phrase est enregistré obligatoirement avec Alexa devant. (par exemple, Alexa, d’accord). Pas moyen de le supprimer !
4°) Si je dis ensuite d’accord sans dire Alexa, d’accord est enregistré dans « Dernier dialogue avec Alexa », mais Alexa me dit « Désolée, je ,ne connais pas ce mot de déclenchement ».
5°) Je n’ai pas le droit de lui définir Oui ou Non comme mot de déclenchement.

Encore une fois, peut être que le module interactions peut changer tout ça, mais je n’arrive pas à imaginer comment.
Merci pour vos idées et commentaires.

@phyllox,

je n’ai plus aucune routine de declenchement dans l’appli alexa, je passe tout par les interactions et scenarios.
Pour ce qui est du scenario « derniere interaction » je m’y prend comme ca :

declencheur :

scenario :

apres l’idée et de lui faire faire une sorte de ping pong entre ce genre de scenario et les interractions jeedom, mais il faut passer par le plugin en beta et refaire un scan pour repartir au propre dans tes devices alexa.

1 « J'aime »

Merci pour ces explications précises.Donc si je comprends bien avec la configuration des interactions Jeedom, plus besoin de définir ses routines dans Alexa, à part je suppose, pour celles qui ne passent pas par Jeedom.

Serait il possible d’avoir un exemple de ce que ça donne au niveau de la configuration d’une interaction ?

Pour le lancement du scénario, le fait de l’appeler à chaque changement de la valeur « Dernier dialogue avec Alexa » ne charge pas trop Jeedom, surtout en cas d’utilisation de plusieurs Alexa en même temps ? Jamais de message indiquant que le scénario a été lancé trop de fois ?

Actuellement, toutes mes routines appellent le même scénario qui les gère avec des matches. Mais si demain je n’ai plus de routine mais des interactions, je devrai sans doute revoir ma copie.

Merci d’avance pour les exemples

Bonjour
Merci pour l’exemple. En effet cela marche par contre, il commence par me dire "Désolé … " et ensuite il fait le retour de l’interaction

Sans doute que la demande est traitée par le serveur Amazon avant que l’interaction vers jeedom soit traitée, ça lui coupe la chique :grin:
C’est super intéressant en tout cas, j’espère que l’idée va mûrir !

Au final j’ai mis une routine qui ne fait rien, cela évite qu’Amazon réponde:)

Tu a tout compris, quand j’ai créé la fonction. Je coupe la voie a Alexa quand on a une réponse de jeedom. Le problème c’est qu’il faut du temps. Car on doit attendre que Amazon nous informe de ce qui a été demandé. Puis que après on lui demande de dire la réponse

Cdt
Thibaut

Hello
@gael
Merci pour les retour, j’étudierai la doc complète avec plaisir.
J’ai installé la beta ce matin et créé une interaction.
Effectivement, ça fonctionne, mais j’ai le même souci que @sebfar ou @arnaud-Massart.
Lorsque je « dis » ma phrase à Alexa, selon qu’elle ait une interaction similaire, ou qu’elle n’en ait pas, elle commence à me dire « Plusieurs éléments sont nommés… » ou bien « Hum. Je ne suis pas sure ». Puis la phase est coupée et elle dit la réponse saisie ou « un » si je laisse le défaut #answer#.
L’action s’exécute.
Peut être quelque chose à saisir dans l’interaction ?

Dans l’interaction, je ne saisis que le nom, le groupe, la demande, un synonyme (même chose que la demande, mais avec Alexa devant), la réponse (pour vérifier, mais pas besoin).
Je crée un filtre (type, sous-type, objet, plugin, catégorie).
Ensuite je mets mon scénario (le même pour chaque interaction).

Pour ce dernier point je précise que chez moi, je n’arrive pas à faire fonctionner comme dans ton exemple avec triggervalue(). ‹ triggervalue() › n’est jamais différent de ‹  ›. Sans doute une mauvaise compréhension de la fonction de mon côté, jusqu’à présent j’utilisais seulement trigger(). Enfin, sans importance puisque l’expression peu déclencher le scénario.

Enfin, malgré l’écoute attentive, impossible de récupérer un Oui ou un Non répondu à Alexa à une question générée du genre « Voulez vous allumer la clim ? ». Ni le oui ni le non n’apparaissent dans le « dernier dialogue avec alexa ». Peut être à cause de la réponse intempestive ?
Reste donc à
-Solutionner le problème de la réponse « serveur Amazon » d’Alexa intempestive avant celle de l’interaction

  • Mettre plusieurs phrases de déclenchement dans une même interaction
  • Arriver à récupérer une réponse donné sans le code Alexa

A noter aussi que les interactions n’aiment pas les apostrophes. J’ai froid est repris comme j’ ai froid et le == ne fonctionne pas. Mais bon, je préfère utiliser ds matches.

Merci d’avance

@sebfar
Désolé de mon incompétence… Une routine qui ne fait rien ? Peux tu expliquer, donner un exemple ?
Merci

Pas de soucis, voici ce que j’ai fait :

  • Sur l’application Alexa, j’ai créé une routine par « interaction » que je souhaite par exemple : nettoie la cuisine et je lui fais répondre le nettoyage de la cuisine a été lancé
  • Sur jeedom, je n’utilise pas les interactions de jeedom, je créé directement un scénario avec comme déclencheur « Dernier dialogue avec Alexa » de chacun de mes Alexa, et je teste la valeur de triggerValue (attention il faut un V majuscule) =« nettoie la cuisine » et je déclenche le nettoyage de la cuisine par mon robot

Cela évite qu’Alexa hum je n’ai pas de bras pour faire cela ou autre … J’ai une réponse cohérence et mon scénario se déclenche en parallèle pour déclencher l’action