[DEV] Plugin Alexa-Api en BETA uniquement
Re: [Tuto] Faire dire et faire faire ce que l'on veut a Alexa grâce a un script
Ç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
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
Re: [Tuto] Faire dire et faire faire ce que l'on veut a Alexa grâce a un script
Mieux vaut tard que jamais
Super bonne nouvelle
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
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
Re: [Tuto] Faire dire et faire faire ce que l'on veut a Alexa grâce a un script
Mise à jour Github:
Correction du problème lié aux accents et ponctuation
Modification des images des équipements (ajout de transparence, ajout du multiroom et tablette)
Utilisation du serialNumber à la place du nom de l'équipement lors des requêtes (plus fiable)
Nettoyage et factorisation du code afin de le rendre plus clair, plus lisible (indentation, code mort, simplification de la logique)
L'équipement This Device est ignoré lors de l'importation
Amélioration de la gestion d'erreur
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:
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 ?
Correction du problème lié aux accents et ponctuation
Modification des images des équipements (ajout de transparence, ajout du multiroom et tablette)
Utilisation du serialNumber à la place du nom de l'équipement lors des requêtes (plus fiable)
Nettoyage et factorisation du code afin de le rendre plus clair, plus lisible (indentation, code mort, simplification de la logique)
L'équipement This Device est ignoré lors de l'importation
Amélioration de la gestion d'erreur
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:
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 ?
Re: [Tuto] Faire dire et faire faire ce que l'on veut a Alexa grâce a un script
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
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
Re: [Tuto] Faire dire et faire faire ce que l'on veut a Alexa grâce a un script
Mise à jour Github:
Adaptation de la commande /speak pour vous permettre de spécifier le volume (si besoin). Ce paramètre est optionnel.
Adaptation de la commande /speak pour vous permettre de spécifier le volume (si besoin). Ce paramètre est optionnel.
Re: [Tuto] Faire dire et faire faire ce que l'on veut a Alexa grâce a un script
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 !
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 !
Re: [Tuto] Faire dire et faire faire ce que l'on veut a Alexa grâce a un script
Mise à jour Github:
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.
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.
Re: [Tuto] Faire dire et faire faire ce que l'on veut a Alexa grâce a un script
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
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
Re: [Tuto] Faire dire et faire faire ce que l'on veut a Alexa grâce a un script
Étrange effectivement.Richard_K a écrit : ↑17 févr. 2019, 07:40Bonjour à 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.
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.
C'est peut-être lié au point précédent.Richard_K a écrit : ↑17 févr. 2019, 07:402°) 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.
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.
Re: [Tuto] Faire dire et faire faire ce que l'on veut a Alexa grâce a un script
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 ?
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 ?
Re: [Tuto] Faire dire et faire faire ce que l'on veut a Alexa grâce a un script
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"
Re: [Tuto] Faire dire et faire faire ce que l'on veut a Alexa grâce a un script
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é ?
Re: [Tuto] Faire dire et faire faire ce que l'on veut a Alexa grâce a un script
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
Re: [Tuto] Faire dire et faire faire ce que l'on veut a Alexa grâce a un script
Oui, la commande passe successivement sur les appareils.dpm62980 a écrit : ↑17 févr. 2019, 08:50Tu 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é ?
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é.
Re: [Tuto] Faire dire et faire faire ce que l'on veut a Alexa grâce a un script
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 !!!!!!
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 !!!!!!
Re: [Tuto] Faire dire et faire faire ce que l'on veut a Alexa grâce a un script
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
/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
Re: [Tuto] Faire dire et faire faire ce que l'on veut a Alexa grâce a un script
Ah bah voilà un bon indiceRichard_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)
...
La version de node n'est pas assez récente.
Essaie:
Code : Tout sélectionner
node -v
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
Re: [Tuto] Faire dire et faire faire ce que l'on veut a Alexa grâce a un script
Code : Tout sélectionner
/speak?device=?&text=?&volume=?
Code : Tout sélectionner
http://192.168.178.56:3456/speak?device=salon&text=coucou&volume=50
Re: [Tuto] Faire dire et faire faire ce que l'on veut a Alexa grâce a un script
Hello jbecker,
mes filles ayant décidé de se lever "tôt" aujourd'hui, j'ai enfin pu essayer le plugin
Voici mon rapport
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
mes filles ayant décidé de se lever "tôt" aujourd'hui, j'ai enfin pu essayer le plugin
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
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
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
5 Oregon THGN132, 2 Fibaro FGMS-001, 4 Danfoss LC13, 1 Micromodule Fibaro FGS-212
Re: [Tuto] Faire dire et faire faire ce que l'on veut a Alexa grâce a un script
Concernant le multiroom, je l'ai réduit à 2 devices, le speak "Test" n'envoie rien à aucun device.
Voici les logs :
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
Qui est en ligne ?
Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 3 invités