Comme annoncé, ce forum est passé en lecture seule au 1er janvier 2020. Désormais nous vous invitons à vous rendre sur notre nouvelle page communauté :
Image

A très bientôt !

[DEV] Plugin Alexa-Api en BETA uniquement

Sous forum pour les plugins Dialogflow et Google Assistant
Avatar de l’utilisateur
jbecker
Timide
Messages : 52
Inscription : 27 janv. 2019, 17:46

Re: [Tuto] Faire dire et faire faire ce que l'on veut a Alexa grâce a un script

Message par jbecker » 16 févr. 2019, 10:21

Ça peut vous sembler paradoxale mais ce matin, je viens enfin d'installer le plugin Jeedom (la partie réalisée par notre ami sigalou).

Je vais donc pouvoir venir l'aider ce sur ce point 😉

Je suis déjà entrain de mettre un peu d'ordre ... Avant d'être interrompu pour aller à une bourse aux vêtements...

Je mettrai à jour le plugin ce soir mais sachez d'ores-et-déjà que le problème d'accents/ponctuations n'est plus!!
A ce soir 😘

Ricardo
Timide
Messages : 227
Inscription : 14 mars 2015, 15:26

Re: [Tuto] Faire dire et faire faire ce que l'on veut a Alexa grâce a un script

Message par Ricardo » 16 févr. 2019, 11:53

jbecker a écrit :
16 févr. 2019, 10:21
Ça peut vous sembler paradoxale mais ce matin, je viens enfin d'installer le plugin Jeedom (la partie réalisée par notre ami sigalou).
Mieux vaut tard que jamais :lol:
jbecker a écrit :
16 févr. 2019, 10:21
Je mettrai à jour le plugin ce soir mais sachez d'ores-et-déjà que le problème d'accents/ponctuations n'est plus!!
A ce soir 😘
Super bonne nouvelle :D

Bon week-end ;)
HP T610 - Jeedom
56 modules Zwave - 32 modules Enocean - 3 modules Edisio - 7 modules Rfxcom - 40 modules Zigbee
Cam : 2 Dafang - 3 Foscam - 3 Wanscam
3 Broadlink - 7 Nuts
5 Amazon Echo - 4 Amazon Echo Dot
5 SqueezeBox - 4 Xiaomi Speaker

Avatar de l’utilisateur
jbecker
Timide
Messages : 52
Inscription : 27 janv. 2019, 17:46

Re: [Tuto] Faire dire et faire faire ce que l'on veut a Alexa grâce a un script

Message par jbecker » 16 févr. 2019, 14:48

Mise à jour Github:
:arrow: Correction du problème lié aux accents et ponctuation
:arrow: Modification des images des équipements (ajout de transparence, ajout du multiroom et tablette)
:arrow: Utilisation du serialNumber à la place du nom de l'équipement lors des requêtes (plus fiable)
:arrow: Nettoyage et factorisation du code afin de le rendre plus clair, plus lisible (indentation, code mort, simplification de la logique)
:arrow: L'équipement This Device est ignoré lors de l'importation
:arrow: Amélioration de la gestion d'erreur
:arrow: Remplacement du fichier cookie par le nouveau lors du lancement du serveur

Bref, il y a eu plein de petits changements en arrière plan pour améliorer la lisibilité et donc la maintenabilité du plugin.

Prochaine étape:
:arrow: Ajouter le contrôle du volume dans la commande speak

J'ai l'impression que le /speak sur un équipement de type multiroom ne fonctionne pas ... est-ce également votre cas ?

ownleex
Timide
Messages : 414
Inscription : 22 avr. 2016, 13:51
Localisation : Alpes-Maritimes

Re: [Tuto] Faire dire et faire faire ce que l'on veut a Alexa grâce a un script

Message par ownleex » 16 févr. 2019, 17:00

Mise à jour installée, tout va bien :)

Par contre je vote pas pour le volume en option du speack, je gère mon volume avec une variable et ça me va très bien comme ça mais ce n’est qu’un avis :)
Rpi3 sur SSD, Rfxcom, stick Zwave+, clé Bluetooth, plugin Hue et netatmo

Avatar de l’utilisateur
jbecker
Timide
Messages : 52
Inscription : 27 janv. 2019, 17:46

Re: [Tuto] Faire dire et faire faire ce que l'on veut a Alexa grâce a un script

Message par jbecker » 16 févr. 2019, 18:01

Mise à jour Github:
:arrow: Adaptation de la commande /speak pour vous permettre de spécifier le volume (si besoin). Ce paramètre est optionnel.

dpm62980
Timide
Messages : 97
Inscription : 06 mars 2015, 21:01

Re: [Tuto] Faire dire et faire faire ce que l'on veut a Alexa grâce a un script

Message par dpm62980 » 16 févr. 2019, 19:58

Réinstallation de la dernière mouture après désinstallation de la version en place.
Tout est OK. Super !
Les images > OK
Prononciation des mots accentués ou avec apostrophe > OK
Concernant la ponctuation, la "," permet de faire une petite pause > Parfait.
La commande speak en multiroom ne fonctionne pas.
La possibilité d'intégrer le volume dans la commande (optionnel) est un Plus.

Bravo jbecker pour ce Super Boulot !

Avatar de l’utilisateur
jbecker
Timide
Messages : 52
Inscription : 27 janv. 2019, 17:46

Re: [Tuto] Faire dire et faire faire ce que l'on veut a Alexa grâce a un script

Message par jbecker » 16 févr. 2019, 21:29

Mise à jour Github:
:arrow: Les devices multi-rooms sont supportés par les commandes /speak et /volume. Cependant, ce n'est pas synchrone. Alexa ne propose pas cette possibilité alors je parcours les devices qui composent le device multi-room.

Bonne nuit.

Richard_K
Timide
Messages : 27
Inscription : 30 janv. 2016, 20:28

Re: [Tuto] Faire dire et faire faire ce que l'on veut a Alexa grâce a un script

Message par Richard_K » 17 févr. 2019, 07:40

Bonjour à tous,
Un petit peu d’aide de tous ne serra pas de refus. j’ai deux soucis avec ce plugin.
1°) j’ai deux icônes du plugin alexaapi dans ma gestion des plugin.
Et quand je desinstalle une des deux icônes l’autre devient grise vide et impossible de la supprimer.
2°) Le plugin ne fonctionne pas car impossible de mettre en place le cookie Alexa
Après l installation et le lancement des dépendances ( une et plusieurs fois même),
je lance la configuration pour créer le cookie et m’identifier sur Amazone .
Mais la un nouvel onglet s’ouvre avec url suivante = <monipdejeedom>:3457 et la page reste blanche.

Si l’un d’entre vous a une idée ou plusieurs je suis preneur. Merci

Avatar de l’utilisateur
jbecker
Timide
Messages : 52
Inscription : 27 janv. 2019, 17:46

Re: [Tuto] Faire dire et faire faire ce que l'on veut a Alexa grâce a un script

Message par jbecker » 17 févr. 2019, 08:11

Richard_K a écrit :
17 févr. 2019, 07:40
Bonjour à tous,
Un petit peu d’aide de tous ne serra pas de refus. j’ai deux soucis avec ce plugin.
1°) j’ai deux icônes du plugin alexaapi dans ma gestion des plugin.
Et quand je desinstalle une des deux icônes l’autre devient grise vide et impossible de la supprimer.
Étrange effectivement.
Est-ce que tu as toujours pris la branche master ? Une idée qui me vient serait que tu as deux fois le plugin car tu aurais une fois installé la branche master, une fois la branche alexa-remote-http.

Une autre idée serait que as installé deux fois le plugin sans avoir préalablement supprimer l'ancienne version. Je ne sais pas quel est le comportement dans ce genre de cas (est-ce que Jeedom le détecte et évite cette situation?)

Une autre idée: un problème de cache ou de refresh de ta page.

Est-ce que tu sais supprimer les deux versions (pour espérer partir d'une situation clean) ?

Tu peux aussi aller jeter un oeil dans le dossier /var/www/html/plugins/. Tu devrais avoir un dossier alexaapi qui contient ce qui se trouve sur Github.
Richard_K a écrit :
17 févr. 2019, 07:40
2°) Le plugin ne fonctionne pas car impossible de mettre en place le cookie Alexa
Après l installation et le lancement des dépendances ( une et plusieurs fois même),
je lance la configuration pour créer le cookie et m’identifier sur Amazone .
Mais la un nouvel onglet s’ouvre avec url suivante = <monipdejeedom>:3457 et la page reste blanche.
C'est peut-être lié au point précédent.
Autre idée: dans la dernière version de hier, j'avais utilisé le port 3457 pour mes tests et j'avais oublié de le remettre à 3456. J'ai corrigé ça ce matin.

Richard_K
Timide
Messages : 27
Inscription : 30 janv. 2016, 20:28

Re: [Tuto] Faire dire et faire faire ce que l'on veut a Alexa grâce a un script

Message par Richard_K » 17 févr. 2019, 08:26

Merci JBecker pour ce retour rapide.

Pour le point 1°) je l'ai solutionné en supprimant le répertoire alexaapi du répertoire /var/www/html/plugins
et le plugin vide c'est envolé... J'ai refait une installation propre de l' alexaapi avec + Sources à partir de Github.
Et là le point 2°) perdure donc toujours pas de cookie pour faire fonctionner mon Echo Spot !!!

JBecker si tu as une autre idée ?

Avatar de l’utilisateur
jbecker
Timide
Messages : 52
Inscription : 27 janv. 2019, 17:46

Re: [Tuto] Faire dire et faire faire ce que l'on veut a Alexa grâce a un script

Message par jbecker » 17 févr. 2019, 08:40

Richard_K a écrit :
17 févr. 2019, 08:26
Et là le point 2°) perdure donc toujours pas de cookie pour faire fonctionner mon Echo Spot !!!
Si je comprend bien, quand tu pousses sur " Identifiez vous sur Amazon ", tu obtiens un popup avec une page blanche ?

Les idées qui me viennent:
* As-tu un firewall ? (dans ce cas, tu aurais eu un timeout)
* Un serveur utilise déjà le port 3457 et te retourne une page blanche. Je pense par exemple à ton problème de double plugin, l'un des serveur est peut-être toujours actif, tue-le ! (Ceci n'est pas un message d'incitation à la haine) Pour l'identifier:

Code : Tout sélectionner

ps ax | grep "alexaapi/resources/alexaapi.js" | grep -v "grep"
Peux-tu vérifier ton log alexaapi_cookie ? Peut-être y découvrirons-nous l'un ou l'autre indice :)

dpm62980
Timide
Messages : 97
Inscription : 06 mars 2015, 21:01

Re: [Tuto] Faire dire et faire faire ce que l'on veut a Alexa grâce a un script

Message par dpm62980 » 17 févr. 2019, 08:50

jbecker a écrit :
16 févr. 2019, 21:29
Mise à jour Github:
:arrow: Les devices multi-rooms sont supportés par les commandes /speak et /volume. Cependant, ce n'est pas synchrone. Alexa ne propose pas cette possibilité alors je parcours les devices qui composent le device multi-room.

Bonne nuit.
Bonjour jbecker,
Tu veux dire que tu envoies la commande speak successivement aux devices qui composent le multiroom ?
Cela ne fonctionne pas sur mon système.
J'ai remarqué que la commande volume (slider sur le widget) ne fonctionne plus (c'était ok avant, ras dans les logs).
Un autre détail concernant la ponctuation.
Habituellement j'envoie ce genre de notification "Information : Les volets du salon sont fermés".
Avec cette syntaxe, tout est lu sans pause. Une "," à la place des ":" solutionne le problème.
Avec certains tts, les ":" génèrent une pause. Je ne sais pas comment c'est géré ?

Avatar de l’utilisateur
fredester
Timide
Messages : 90
Inscription : 04 oct. 2014, 09:06

Re: [Tuto] Faire dire et faire faire ce que l'on veut a Alexa grâce a un script

Message par fredester » 17 févr. 2019, 08:58

jbecker a écrit :
16 févr. 2019, 18:01
Mise à jour Github:
:arrow: Adaptation de la commande /speak pour vous permettre de spécifier le volume (si besoin). Ce paramètre est optionnel.
Désinstallation, réinstallation: marche du premier coup. Les accents ne posent plus de problème, c'est vraiment top !

Par contre, je n'arrive pas à changer le volume du message avec la commande speak+volume dans un scénario.
Comment doit-on passer le volume à la commande ?

Edit : aussi la commande volume (seule) ne semble plus fonctionner de mon côté
Dernière édition par fredester le 17 févr. 2019, 09:36, édité 2 fois.
Jeedom 3.3.18 ESXi - PC BRIX GB-BXBT-1900 - Debian Stretch

Avatar de l’utilisateur
jbecker
Timide
Messages : 52
Inscription : 27 janv. 2019, 17:46

Re: [Tuto] Faire dire et faire faire ce que l'on veut a Alexa grâce a un script

Message par jbecker » 17 févr. 2019, 09:00

dpm62980 a écrit :
17 févr. 2019, 08:50
Tu veux dire que tu envoies la commande speak successivement aux devices qui composent le multiroom ?
Cela ne fonctionne pas sur mon système.
J'ai remarqué que la commande volume (slider sur le widget) ne fonctionne plus (c'était ok avant, ras dans les logs).
Un autre détail concernant la ponctuation.
Habituellement j'envoie ce genre de notification "Information : Les volets du salon sont fermés".
Avec cette syntaxe, tout est lu sans pause. Une "," à la place des ":" solutionne le problème.
Avec certains tts, les ":" génèrent une pause. Je ne sais pas comment c'est géré ?
Oui, la commande passe successivement sur les appareils.

Merci de m'avoir remonté le soucis du slider. Je viens de le fixer.

Les accents et ponctuations sont gérés par Alexa, il n'y a pas de modification de notre coté.

Richard_K
Timide
Messages : 27
Inscription : 30 janv. 2016, 20:28

Re: [Tuto] Faire dire et faire faire ce que l'on veut a Alexa grâce a un script

Message par Richard_K » 17 févr. 2019, 09:15

JBecker ,

c'est exactement cela quand je presse le bouton Identifiez vous sur Amazone , j'ai une page web qui s'ouvre et qui me dit :
Safari ne parvient pas à se connecter au serveur.
Safari ne parvient pas à ouvrir la page 192.168.1.6:3457 car Safari ne peut pas se connecter au serveur 192.168.1.6
cette adresse étant mon Jeedom

De plus la commande ps que tu m'as envoyée ne retourne rien avant , pendant ou après l'appui sur du bouton de commande du contrôleur de l'api.

J'ai pour l'instant épuisé tous les tests que je pouvais faire.

A l'aide !!!!!!

Richard_K
Timide
Messages : 27
Inscription : 30 janv. 2016, 20:28

Re: [Tuto] Faire dire et faire faire ce que l'on veut a Alexa grâce a un script

Message par Richard_K » 17 févr. 2019, 09:23

Voici ce que j'ai lors du lancement de la demande de connexion à Alexa dans le log alexaapi_cookies en mode debug:


/var/www/html/plugins/alexaapi/resources/initCookie.js:1
(function (exports, require, module, __filename, __dirname) { let Alexa = require('./lib/alexa-remote');
^^^

SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:387:25)
at Object.Module._extensions..js (module.js:422:10)
at Module.load (module.js:357:32)
at Function.Module._load (module.js:314:12)
at Function.Module.runMain (module.js:447:10)
at startup (node.js:148:18)
at node.js:405:3

Avatar de l’utilisateur
jbecker
Timide
Messages : 52
Inscription : 27 janv. 2019, 17:46

Re: [Tuto] Faire dire et faire faire ce que l'on veut a Alexa grâce a un script

Message par jbecker » 17 févr. 2019, 10:35

Richard_K a écrit :
17 févr. 2019, 09:23
/var/www/html/plugins/alexaapi/resources/initCookie.js:1
(function (exports, require, module, __filename, __dirname) { let Alexa = require('./lib/alexa-remote');
^^^
SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
at exports.runInThisContext (vm.js:53:16)
...
Ah bah voilà un bon indice :)
La version de node n'est pas assez récente.

Essaie:

Code : Tout sélectionner

node -v
Pour obtenir la version. De mon coté, je suis en v8.15.0

NebzHB a proposé ce script d'installation: https://github.com/sigalou/jeedom_alexa ... /nodejs.sh
Nous ne l'avons pas encore intégré, ni testé.
Veux-tu l'essayer ?

Autre piste que j'ai trouvé (toujours non testée):

Code : Tout sélectionner

npm install npm@latest -g
sudo npm cache clean -f
sudo npm install -g n
sudo n stable
Ton retour sera très intéressant. Cela nous permettra de rendre le script d'installation plus robuste ;)

Avatar de l’utilisateur
jbecker
Timide
Messages : 52
Inscription : 27 janv. 2019, 17:46

Re: [Tuto] Faire dire et faire faire ce que l'on veut a Alexa grâce a un script

Message par jbecker » 17 févr. 2019, 10:37

fredester a écrit :
17 févr. 2019, 08:58
Par contre, je n'arrive pas à changer le volume du message avec la commande speak+volume dans un scénario.
Comment doit-on passer le volume à la commande ?

Code : Tout sélectionner

/speak?device=?&text=?&volume=?
Exemple:

Code : Tout sélectionner

http://192.168.178.56:3456/speak?device=salon&text=coucou&volume=50

Moctesuma
Timide
Messages : 63
Inscription : 20 nov. 2018, 22:09
Localisation : Drôme

Re: [Tuto] Faire dire et faire faire ce que l'on veut a Alexa grâce a un script

Message par Moctesuma » 17 févr. 2019, 11:18

Hello jbecker,

mes filles ayant décidé de se lever "tôt" aujourd'hui, j'ai enfin pu essayer le plugin :lol:

Voici mon rapport

  • Installation de la dernière version en place ==> OK au 1er coup
  • Installation des dépendances ==> OK au 1er coup
  • Génération du cookie ==> OK au 1er coup
  • redémarrage du démon ==> OK au 1er coup
  • Scan de mes Echo Dots(x2) ==> OK au 1er coup
  • Images équipements ==> OK
  • Tests speak ==> OK sur les 2 Dots (séparément)
  • Tests Volume ==> OK sur les 2 Dots (séparément)
  • Accents et ponctuations ==> OK
Je n'ai pas testé le Multiroom car j'avoue bien humblement ne pas savoir comment faire pour le moment, même s'il est créé dans l'appli Alexa.

:arrow: Ce que j'ai noté, c'est que si par inadvertance on saisie un caractère "Entrée" dans le champ de saisie des widgets... et bien il y a un message d'erreur. C'est un peu anecdotique je le concède, mais étant donné que je suis tombé dessus, je le signal ;)

Je suis ravi et surtout épaté de votre boulot pour nous tous. Merci beaucoup :!: Un petit ;) aussi à Sigalou qui doit se régaler sur les pistes avec un temps pareil 8-)
Jeedom sur Raspberry Pi 3+SSD, Rfxcom et Aeotec Z-Stick - Gen 5,
5 Oregon THGN132, 2 Fibaro FGMS-001, 4 Danfoss LC13, 1 Micromodule Fibaro FGS-212

dpm62980
Timide
Messages : 97
Inscription : 06 mars 2015, 21:01

Re: [Tuto] Faire dire et faire faire ce que l'on veut a Alexa grâce a un script

Message par dpm62980 » 17 févr. 2019, 11:38

Concernant le multiroom, je l'ai réduit à 2 devices, le speak "Test" n'envoie rien à aucun device.
Voici les logs :

Code : Tout sélectionner

Alexa-API: Alexa.Speak
Alexa-API: device: xxx...
Alexa-API: text: Test
Alexa-Remote: No authentication check needed (time elapsed 46554)
Alexa-Remote: Sending Request with {"host":"alexa.amazon.fr","path":"/api/behaviors/preview","method":"POST","timeout":10000,"headers":{}}and data={"behaviorId":"PREVIEW","sequenceJson":"{\"@type\":\"com.amazon.alexa.behaviors.model.Sequence\",\"startNode\":{\"@type\":\"com.amazon.alexa.behaviors.model.OpaquePayloadOperationNode\",\"operationPayload\":{\"deviceType\":\"xxx...\",\"deviceSerialNumber\":\"xxx...\",\"locale\":\"fr-FR\",\"customerId\":\"xxx...\",\"textToSpeak\":\"Test\"},\"type\":\"Alexa.Speak\"}}","status":"ENABLED"}
Alexa-Remote: Response: No body

Répondre

Revenir vers « [Plugin Officiel] Assistant vocaux »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 3 invités