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
sigalou
Actif
Messages : 1075
Inscription : 23 janv. 2017, 16:02

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

Message par sigalou » 07 févr. 2019, 20:41

Voilà, dernière version en ligne.
Branches fusionnées
J'ai refait tous les liens (lancement/arrêt démon, lancement/arrêt du serveur de cookie) puisque des fichiers js ont changé de noms et/ou d'endroit.

Oubliez l'ancienne manière d'installer, utilisez celle du ReadMe de https://github.com/sigalou/jeedom_alexaapi
C'est à dire :

jeedom -> plugins -> gestion des plugins -> ajouter un plugin -> type de source: github

(Si github n'est pas proposé, allez dans Admin/Configuration/Mise à jour/Github et cochez "Activer Github")

ID logique du plugin -> alexaapi

Utilisateur ou organisation du dépôt -> sigalou

Nom du dépôt -> jeedom_alexaapi

Branche -> master

Allez sur Lancer la génération pour générer le Cookie Amazon, il suffit de suivre les étapes.

Pour l'instant, le développement est arrivé à ce point. A ce stade, une fois le Cookie généré, et le démon lancé, vous pouvez tester dans votre navigateur avec une commande du genre :

http://VOTREIP:3456/speak?device=VOTRED ... ext=coucou


Merci fensoft et jbecker, on a une bonne base.

Je regarde la question de l'import des Devices maintenant ...
Sigalou

Utilisateur/Développeur Plugin Jeedom
Créateur des plugins Alexa-API & WatchDog



Avatar de l’utilisateur
supermenteur
Timide
Messages : 250
Inscription : 18 mai 2015, 15:39

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

Message par supermenteur » 07 févr. 2019, 21:47

Bonsoir,

Avec la nouvelle méthode en repartant se zéro, j’ai cette erreur

Alexa-API: Error while loading the file: /var/www/html/plugins/alexaapi/resources/data/alexa-cookie.json
Alexa-API: Error: ENOENT: no such file or directory, open '/var/www/html/plugins/alexaapi/resources/data/alexa-cookie.json'

Il semble qu’il y ait un pb dans la copie des fichiers


Envoyé de mon iPad en utilisant Tapatalk
Patrice

Avatar de l’utilisateur
sigalou
Actif
Messages : 1075
Inscription : 23 janv. 2017, 16:02

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

Message par sigalou » 07 févr. 2019, 22:21

supermenteur a écrit :
07 févr. 2019, 21:47
Bonsoir,

Avec la nouvelle méthode en repartant se zéro, j’ai cette erreur

Alexa-API: Error while loading the file: /var/www/html/plugins/alexaapi/resources/data/alexa-cookie.json
Alexa-API: Error: ENOENT: no such file or directory, open '/var/www/html/plugins/alexaapi/resources/data/alexa-cookie.json'

Il semble qu’il y ait un pb dans la copie des fichiers


Envoyé de mon iPad en utilisant Tapatalk
Cette erreur c'est que tu n'as pas le cookie d'enregistré, clique sur Lancer la génération dans Génération manuelle du cookie Amazon sur l'écran de config du plugin.
Sigalou

Utilisateur/Développeur Plugin Jeedom
Créateur des plugins Alexa-API & WatchDog



Avatar de l’utilisateur
supermenteur
Timide
Messages : 250
Inscription : 18 mai 2015, 15:39

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

Message par supermenteur » 07 févr. 2019, 22:27

Il me semblait l’avoir fait. Ça marche après un deuxième essai.
Merci


Envoyé de mon iPad en utilisant Tapatalk
Patrice

Kyoshi
Timide
Messages : 444
Inscription : 04 mai 2018, 14:05

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

Message par Kyoshi » 08 févr. 2019, 00:11

J'étais déjà en GitHub.
Après recherche manuel des mises à jour, il m'en a bien trouvé une que j'ai pu lancé.
Par contre, le démon ne se lançait pas.

Du coup, j'ai relancé l'installation des dépendances puis régénéré le cookie (il me semble que la réinstallation des dépendances ne suffisait pas... certains plugin demandent de temps en temps de relancer les dépendances.... du coup, dans le doute, j'ai testé).
Cela peut s'expliquer si vous avez finalement déplacé l'emplacement du cookie.

A noter que cette fois-ci aucun souci avec le cookie qui s'est ouvert avec la page d'authentification (alors que lors des premiers tests, j'avais bien le pop up mais un message d'erreur comme quoi il n'arrivait pas à joindre le serveur).

Voilà, en espérant que le retour soit utile.

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 » 08 févr. 2019, 15:17

@sigalou,
Avec le nouveau process d'installation, sur box Jeedom Mini+, il y a des erreurs lors de l'installation des dépendances.

Code : Tout sélectionner

Début de l'installation
Installation npm
chown: cannot access '/var/www/.npm/_locks': No such file or directory
npm WARN package.json alexa-remote-http@1.0.0 No README data
npm ERR! Error: Attempt to unlock http-proxy-middleware@^0.19.1, which hasn't been locked
npm ERR!     at unlock (/usr/share/npm/lib/utils/locker.js:44:11)
npm ERR!     at cb (/usr/share/npm/lib/cache/add-named.js:32:5)
npm ERR!     at /usr/share/npm/lib/cache/add-named.js:41:20
npm ERR!     at /usr/share/npm/lib/utils/locker.js:22:20
npm ERR!     at /usr/share/npm/node_modules/inflight/inflight.js:22:7
npm ERR!     at Array.forEach (native)
npm ERR!     at res (/usr/share/npm/node_modules/inflight/inflight.js:21:9)
npm ERR!     at /usr/lib/nodejs/once.js:17:15
npm ERR!     at afterMkdir (/usr/share/npm/lib/cache/get-stat.js:53:14)
npm ERR!     at /usr/lib/nodejs/mkdirp/index.js:46:53
npm ERR! If you need help, you may report this *entire* log,
npm ERR! including the npm and node versions, at:
npm ERR!     <http://github.com/npm/npm/issues>
npm ERR! System Linux 3.14.14-cubox-i
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install"
npm ERR! cwd /usr/share/nginx/www/jeedom/plugins/alexaapi/resources
npm ERR! node -v v0.10.29
npm ERR! npm -v 1.4.21
npm ERR! Error: Attempt to unlock cookie@^0.3.1, which hasn't been locked
npm ERR!     at unlock (/usr/share/npm/lib/utils/locker.js:44:11)
npm ERR!     at cb (/usr/share/npm/lib/cache/add-named.js:32:5)
npm ERR!     at /usr/share/npm/lib/cache/add-named.js:41:20
npm ERR!     at /usr/share/npm/lib/utils/locker.js:30:7
npm ERR!     at /usr/lib/nodejs/lockfile.js:161:38
npm ERR!     at Object.oncomplete (fs.js:107:15)
npm ERR! If you need help, you may report this *entire* log,
npm ERR! including the npm and node versions, at:
npm ERR!     <http://github.com/npm/npm/issues>
npm ERR! System Linux 3.14.14-cubox-i
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install"
npm ERR! cwd /usr/share/nginx/www/jeedom/plugins/alexaapi/resources
npm ERR! node -v v0.10.29
npm ERR! npm -v 1.4.21
npm ERR! Error: Attempt to unlock express@^4.16.4, which hasn't been locked
npm ERR!     at unlock (/usr/share/npm/lib/utils/locker.js:44:11)
npm ERR!     at cb (/usr/share/npm/lib/cache/add-named.js:32:5)
npm ERR!     at /usr/share/npm/lib/cache/add-named.js:41:20
npm ERR!     at /usr/share/npm/lib/utils/locker.js:30:7
npm ERR!     at /usr/lib/nodejs/lockfile.js:161:38
npm ERR!     at Object.oncomplete (fs.js:107:15)
npm ERR! If you need help, you may report this *entire* log,
npm ERR! including the npm and node versions, at:
npm ERR!     <http://github.com/npm/npm/issues>
npm ERR! System Linux 3.14.14-cubox-i
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install"
npm ERR! cwd /usr/share/nginx/www/jeedom/plugins/alexaapi/resources
npm ERR! node -v v0.10.29
npm ERR! npm -v 1.4.21
npm ERR! Error: Attempt to unlock extend@^3.0.2, which hasn't been locked
npm ERR!     at unlock (/usr/share/npm/lib/utils/locker.js:44:11)
npm ERR!     at cb (/usr/share/npm/lib/cache/add-named.js:32:5)
npm ERR!     at /usr/share/npm/lib/cache/add-named.js:41:20
npm ERR!     at /usr/share/npm/lib/utils/locker.js:30:7
npm ERR!     at /usr/lib/nodejs/lockfile.js:161:38
npm ERR!     at Object.oncomplete (fs.js:107:15)
npm ERR! If you need help, you may report this *entire* log,
npm ERR! including the npm and node versions, at:
npm ERR!     <http://github.com/npm/npm/issues>
npm ERR! System Linux 3.14.14-cubox-i
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install"
npm ERR! cwd /usr/share/nginx/www/jeedom/plugins/alexaapi/resources
npm ERR! node -v v0.10.29
npm ERR! npm -v 1.4.21
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /usr/share/nginx/www/jeedom/plugins/alexaapi/resources/npm-debug.log
npm ERR! not ok code 0
Fin de l'installation
Sous /var/www, que le dir html

Code : Tout sélectionner

root@jeedom:/var/www# ls -al
total 12
drwxr-xr-x  3 root root 4096 Aug 10  2015 .
drwxr-xr-x 13 root root 4096 Jan  1  1970 ..
drwxr-xr-x  2 root root 4096 Aug 10  2015 html
root@jeedom:/var/www#

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 » 08 févr. 2019, 18:45

dpm62980 a écrit :
08 févr. 2019, 15:17
@sigalou,
Avec le nouveau process d'installation, sur box Jeedom Mini+, il y a des erreurs lors de l'installation des dépendances.

Code : Tout sélectionner

Début de l'installation
Installation npm
chown: cannot access '/var/www/.npm/_locks': No such file or directory
npm WARN package.json alexa-remote-http@1.0.0 No README data
npm ERR! Error: Attempt to unlock http-proxy-middleware@^0.19.1, which hasn't been locked
....
...
Est-ce que je peux te demander de nous retourner les valeurs suivantes:

Code : Tout sélectionner

echo $HOME
echo ~/
whoami
Pour pouvoir faire l'installation des dépendances, l'outil npm doit verrouiller un fichier. Les symptômes semblent indiquer un problème de droit sur les dits fichiers. Par exemple, un plugin précédent a peut-être fait une installation npm en mode root et aurait verrouiller les fichiers en root.
La commande de notre script d'installation est sensé s'affranchir de ce problème grâce au chown qui précède mais il semble que les fichiers _locks ne sont pas à l'endroit où nous les attendions.

Pourrais-tu également exécuter la commande suivante en root:

Code : Tout sélectionner

find / -name .npm 2> /dev/null

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 » 08 févr. 2019, 19:23

@jbecker,
pour les premières commandes :

Code : Tout sélectionner

root@jeedom:~# echo $HOME
/root
root@jeedom:~# echo ~/
/root/
root@jeedom:~# whoami
root
root@jeedom:~#
pour la 2eme, il ne trouve pas :

Code : Tout sélectionner

root@jeedom:~# find / -name .npm 2> /dev/null
root@jeedom:~#
Avec la commande find / -name '.npm*' -print :

Code : Tout sélectionner

root@jeedom:~# find / -name '.npm*' -print
/usr/share/nginx/www/jeedom/script/localtunnel/node_modules/yargs/node_modules/c                                          liui/node_modules/wordwrap/.npmignore
/usr/share/nginx/www/jeedom/script/localtunnel/node_modules/yargs/node_modules/c                                          liui/.npmignore
/usr/share/nginx/www/jeedom/script/localtunnel/node_modules/request/node_modules                                          /form-data/node_modules/combined-stream/node_modules/delayed-stream/.npmignore
/usr/share/nginx/www/jeedom/script/localtunnel/node_modules/request/node_modules                                          /form-data/node_modules/combined-stream/.npmignore
/usr/share/nginx/www/jeedom/script/localtunnel/node_modules/request/node_modules                                          /form-data/.npmignore
/usr/share/nginx/www/jeedom/script/localtunnel/node_modules/mocha/node_modules/j                                          ade/node_modules/mkdirp/.npmignore
/usr/share/nginx/www/jeedom/script/localtunnel/node_modules/mocha/node_modules/j                                          ade/node_modules/commander/.npmignore
/usr/share/nginx/www/jeedom/script/localtunnel/node_modules/mocha/node_modules/j                                          ade/.npmignore
/usr/share/nginx/www/jeedom/script/localtunnel/node_modules/mocha/node_modules/m                                          kdirp/.npmignore
/usr/share/nginx/www/jeedom/script/localtunnel/node_modules/mocha/node_modules/g                                          lob/node_modules/minimatch/node_modules/lru-cache/.npmignore
/usr/share/nginx/www/jeedom/script/localtunnel/node_modules/mocha/node_modules/g                                          lob/node_modules/minimatch/.npmignore
/usr/share/nginx/www/jeedom/script/localtunnel/node_modules/mocha/node_modules/g                                          lob/node_modules/graceful-fs/.npmignore
/usr/share/nginx/www/jeedom/script/localtunnel/node_modules/mocha/node_modules/g                                          lob/.npmignore
/usr/share/nginx/www/jeedom/script/localtunnel/node_modules/openurl/.npmignore
/usr/share/nginx/www/jeedom/script/localtunnel/.npmignore
/usr/share/nginx/www/jeedom/tmp/jeedom_restore/script/localtunnel/node_modules/y                                          args/node_modules/cliui/node_modules/wordwrap/.npmignore
/usr/share/nginx/www/jeedom/tmp/jeedom_restore/script/localtunnel/node_modules/y                                          args/node_modules/cliui/.npmignore
/usr/share/nginx/www/jeedom/tmp/jeedom_restore/script/localtunnel/node_modules/r                                          equest/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-                                          stream/.npmignore
/usr/share/nginx/www/jeedom/tmp/jeedom_restore/script/localtunnel/node_modules/r                                          equest/node_modules/form-data/node_modules/combined-stream/.npmignore
/usr/share/nginx/www/jeedom/tmp/jeedom_restore/script/localtunnel/node_modules/r                                          equest/node_modules/form-data/.npmignore
/usr/share/nginx/www/jeedom/tmp/jeedom_restore/script/localtunnel/node_modules/m                                          ocha/node_modules/jade/node_modules/mkdirp/.npmignore
/usr/share/nginx/www/jeedom/tmp/jeedom_restore/script/localtunnel/node_modules/m                                          ocha/node_modules/jade/node_modules/commander/.npmignore
/usr/share/nginx/www/jeedom/tmp/jeedom_restore/script/localtunnel/node_modules/m                                          ocha/node_modules/jade/.npmignore
/usr/share/nginx/www/jeedom/tmp/jeedom_restore/script/localtunnel/node_modules/m                                          ocha/node_modules/mkdirp/.npmignore
/usr/share/nginx/www/jeedom/tmp/jeedom_restore/script/localtunnel/node_modules/m                                          ocha/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/.npmignore
/usr/share/nginx/www/jeedom/tmp/jeedom_restore/script/localtunnel/node_modules/m                                          ocha/node_modules/glob/node_modules/minimatch/.npmignore
/usr/share/nginx/www/jeedom/tmp/jeedom_restore/script/localtunnel/node_modules/m                                          ocha/node_modules/glob/node_modules/graceful-fs/.npmignore
/usr/share/nginx/www/jeedom/tmp/jeedom_restore/script/localtunnel/node_modules/m                                          ocha/node_modules/glob/.npmignore
/usr/share/nginx/www/jeedom/tmp/jeedom_restore/script/localtunnel/node_modules/o                                          penurl/.npmignore
/usr/share/nginx/www/jeedom/tmp/jeedom_restore/script/localtunnel/.npmignore
/usr/share/npm/node_modules/init-package-json/node_modules/promzard/.npmignore
/usr/share/npm/node_modules/npmconf/node_modules/config-chain/.npmignore
/usr/share/npm/node_modules/npmconf/test/fixtures/.npmrc
/usr/share/npm/node_modules/npmconf/.npmignore
/usr/share/npm/node_modules/read-installed/.npmignore
/usr/share/npm/node_modules/npm-user-validate/.npmignore
/usr/share/npm/node_modules/fstream-npm/.npmignore
/usr/share/npm/node_modules/npm-registry-client/.npmignore
/usr/share/npm/node_modules/github-url-from-username-repo/.npmignore
root@jeedom:~# find / -name '.npm 2' -print
root@jeedom:~# find / -name '.npm *' -print
root@jeedom:~# find / -name '.npm*' -print
/usr/share/nginx/www/jeedom/script/localtunnel/node_modules/yargs/node_modules/c                                          liui/node_modules/wordwrap/.npmignore
/usr/share/nginx/www/jeedom/script/localtunnel/node_modules/yargs/node_modules/c                                          liui/.npmignore
/usr/share/nginx/www/jeedom/script/localtunnel/node_modules/request/node_modules                                          /form-data/node_modules/combined-stream/node_modules/delayed-stream/.npmignore
/usr/share/nginx/www/jeedom/script/localtunnel/node_modules/request/node_modules                                          /form-data/node_modules/combined-stream/.npmignore
/usr/share/nginx/www/jeedom/script/localtunnel/node_modules/request/node_modules                                          /form-data/.npmignore
/usr/share/nginx/www/jeedom/script/localtunnel/node_modules/mocha/node_modules/j                                          ade/node_modules/mkdirp/.npmignore
/usr/share/nginx/www/jeedom/script/localtunnel/node_modules/mocha/node_modules/j                                          ade/node_modules/commander/.npmignore
/usr/share/nginx/www/jeedom/script/localtunnel/node_modules/mocha/node_modules/j                                          ade/.npmignore
/usr/share/nginx/www/jeedom/script/localtunnel/node_modules/mocha/node_modules/m                                          kdirp/.npmignore
/usr/share/nginx/www/jeedom/script/localtunnel/node_modules/mocha/node_modules/g                                          lob/node_modules/minimatch/node_modules/lru-cache/.npmignore
/usr/share/nginx/www/jeedom/script/localtunnel/node_modules/mocha/node_modules/g                                          lob/node_modules/minimatch/.npmignore
/usr/share/nginx/www/jeedom/script/localtunnel/node_modules/mocha/node_modules/g                                          lob/node_modules/graceful-fs/.npmignore
/usr/share/nginx/www/jeedom/script/localtunnel/node_modules/mocha/node_modules/g                                          lob/.npmignore
/usr/share/nginx/www/jeedom/script/localtunnel/node_modules/openurl/.npmignore
/usr/share/nginx/www/jeedom/script/localtunnel/.npmignore
/usr/share/nginx/www/jeedom/tmp/jeedom_restore/script/localtunnel/node_modules/y                                          args/node_modules/cliui/node_modules/wordwrap/.npmignore
/usr/share/nginx/www/jeedom/tmp/jeedom_restore/script/localtunnel/node_modules/y                                          args/node_modules/cliui/.npmignore
/usr/share/nginx/www/jeedom/tmp/jeedom_restore/script/localtunnel/node_modules/r                                          equest/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-                                          stream/.npmignore
/usr/share/nginx/www/jeedom/tmp/jeedom_restore/script/localtunnel/node_modules/r                                          equest/node_modules/form-data/node_modules/combined-stream/.npmignore
/usr/share/nginx/www/jeedom/tmp/jeedom_restore/script/localtunnel/node_modules/r                                          equest/node_modules/form-data/.npmignore
/usr/share/nginx/www/jeedom/tmp/jeedom_restore/script/localtunnel/node_modules/m                                          ocha/node_modules/jade/node_modules/mkdirp/.npmignore
/usr/share/nginx/www/jeedom/tmp/jeedom_restore/script/localtunnel/node_modules/m                                          ocha/node_modules/jade/node_modules/commander/.npmignore
/usr/share/nginx/www/jeedom/tmp/jeedom_restore/script/localtunnel/node_modules/m                                          ocha/node_modules/jade/.npmignore
/usr/share/nginx/www/jeedom/tmp/jeedom_restore/script/localtunnel/node_modules/m                                          ocha/node_modules/mkdirp/.npmignore
/usr/share/nginx/www/jeedom/tmp/jeedom_restore/script/localtunnel/node_modules/m                                          ocha/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/.npmignore
/usr/share/nginx/www/jeedom/tmp/jeedom_restore/script/localtunnel/node_modules/m                                          ocha/node_modules/glob/node_modules/minimatch/.npmignore
/usr/share/nginx/www/jeedom/tmp/jeedom_restore/script/localtunnel/node_modules/m                                          ocha/node_modules/glob/node_modules/graceful-fs/.npmignore
/usr/share/nginx/www/jeedom/tmp/jeedom_restore/script/localtunnel/node_modules/m                                          ocha/node_modules/glob/.npmignore
/usr/share/nginx/www/jeedom/tmp/jeedom_restore/script/localtunnel/node_modules/o                                          penurl/.npmignore
/usr/share/nginx/www/jeedom/tmp/jeedom_restore/script/localtunnel/.npmignore
/usr/share/npm/node_modules/init-package-json/node_modules/promzard/.npmignore
/usr/share/npm/node_modules/npmconf/node_modules/config-chain/.npmignore
/usr/share/npm/node_modules/npmconf/test/fixtures/.npmrc
/usr/share/npm/node_modules/npmconf/.npmignore
/usr/share/npm/node_modules/read-installed/.npmignore
/usr/share/npm/node_modules/npm-user-validate/.npmignore
/usr/share/npm/node_modules/fstream-npm/.npmignore
/usr/share/npm/node_modules/npm-registry-client/.npmignore
/usr/share/npm/node_modules/github-url-from-username-repo/.npmignore
root@jeedom:~#

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 » 08 févr. 2019, 19:38

@dpm62980
Boh ... je ne vois pas où se cache ton .npm :(

De mon coté, j'ai ceci:

Code : Tout sélectionner

root@septimus:/home/jbecker# find / -name .npm 2> /dev/null
/home/jbecker/.npm
/var/www/.npm
/root/.npm
Si tu veux, tu peux lancer l'installation manuellement en exécutant le script nodejs.sh en root.
J'imagine que le log d'installation que tu as montré précédemment c'était via Jeedom, qui n'utilise pas l’utilisateur root mais fort probablement www-data.

Avatar de l’utilisateur
sigalou
Actif
Messages : 1075
Inscription : 23 janv. 2017, 16:02

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

Message par sigalou » 08 févr. 2019, 20:20

supermenteur a écrit :
07 févr. 2019, 22:27
Il me semblait l’avoir fait. Ça marche après un deuxième essai.
Merci
Super, alors c'est bon ! ;) :D
Sigalou

Utilisateur/Développeur Plugin Jeedom
Créateur des plugins Alexa-API & WatchDog



Avatar de l’utilisateur
sigalou
Actif
Messages : 1075
Inscription : 23 janv. 2017, 16:02

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

Message par sigalou » 08 févr. 2019, 20:22

Kyoshi a écrit :
08 févr. 2019, 00:11
J'étais déjà en GitHub.
Après recherche manuel des mises à jour, il m'en a bien trouvé une que j'ai pu lancé.
Par contre, le démon ne se lançait pas.

Du coup, j'ai relancé l'installation des dépendances puis régénéré le cookie (il me semble que la réinstallation des dépendances ne suffisait pas... certains plugin demandent de temps en temps de relancer les dépendances.... du coup, dans le doute, j'ai testé).
Cela peut s'expliquer si vous avez finalement déplacé l'emplacement du cookie.

A noter que cette fois-ci aucun souci avec le cookie qui s'est ouvert avec la page d'authentification (alors que lors des premiers tests, j'avais bien le pop up mais un message d'erreur comme quoi il n'arrivait pas à joindre le serveur).

Voilà, en espérant que le retour soit utile.
Nous faisons des mises en jour et c'est plus propre de supprimer le plugin (ça vire totalement plugins/alexaapi) puis de le réinstaller via github puis de réinstaller les dépendances puis de générer le cookie.

Si je comprends bien, au final, c'est bon pour toi, on peut continuer à travailler sur les équipements... :P
Sigalou

Utilisateur/Développeur Plugin Jeedom
Créateur des plugins Alexa-API & WatchDog



Avatar de l’utilisateur
sigalou
Actif
Messages : 1075
Inscription : 23 janv. 2017, 16:02

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

Message par sigalou » 08 févr. 2019, 20:24

jbecker a écrit :
08 févr. 2019, 19:38
@dpm62980
Boh ... je ne vois pas où se cache ton .npm :(

De mon coté, j'ai ceci:

Code : Tout sélectionner

root@septimus:/home/jbecker# find / -name .npm 2> /dev/null
/home/jbecker/.npm
/var/www/.npm
/root/.npm
Si tu veux, tu peux lancer l'installation manuellement en exécutant le script nodejs.sh en root.
J'imagine que le log d'installation que tu as montré précédemment c'était via Jeedom, qui n'utilise pas l’utilisateur root mais fort probablement www-data.
Chez moi, ça donne ça :

Code : Tout sélectionner

root@esclave:~# find / -name .npm 2> /dev/null
/var/www/.npm
/root/.npm
Sigalou

Utilisateur/Développeur Plugin Jeedom
Créateur des plugins Alexa-API & WatchDog



Avatar de l’utilisateur
sigalou
Actif
Messages : 1075
Inscription : 23 janv. 2017, 16:02

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

Message par sigalou » 08 févr. 2019, 20:27

jbecker a écrit :
08 févr. 2019, 18:45
dpm62980 a écrit :
08 févr. 2019, 15:17
@sigalou,
Avec le nouveau process d'installation, sur box Jeedom Mini+, il y a des erreurs lors de l'installation des dépendances.

Code : Tout sélectionner

Début de l'installation
Installation npm
chown: cannot access '/var/www/.npm/_locks': No such file or directory
npm WARN package.json alexa-remote-http@1.0.0 No README data
npm ERR! Error: Attempt to unlock http-proxy-middleware@^0.19.1, which hasn't been locked
....
...
Comment fonctionne le fichier jeedom_alexaapi/resources/package.json ? il est necessaire sur le dépôt ou c'est le résultat d'une installation ?
J'ai eu quelques soucis à la fusion des branches avec ce fichier, tu pourras regarder si c'est le bon qui est mis à dispo sur le dépot (dans l'hypothèse qu'il soit nécessaire).

Merci
Sigalou

Utilisateur/Développeur Plugin Jeedom
Créateur des plugins Alexa-API & WatchDog



Avatar de l’utilisateur
sigalou
Actif
Messages : 1075
Inscription : 23 janv. 2017, 16:02

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

Message par sigalou » 08 févr. 2019, 20:57

J'arrive à récupérer le JSON et la liste des devices.
Maintenant, je vais les enregistrer automatiquement et détecter tous leurs paramètres utiles...
:)

Screenshot_2019-02-08 Alexa - API - Jeedom.png
Screenshot_2019-02-08 Alexa - API - Jeedom.png (6.98 Kio) Consulté 1230 fois
Sigalou

Utilisateur/Développeur Plugin Jeedom
Créateur des plugins Alexa-API & WatchDog



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 » 09 févr. 2019, 10:13

jbecker a écrit :
08 févr. 2019, 19:38
@dpm62980
Boh ... je ne vois pas où se cache ton .npm :(

De mon coté, j'ai ceci:

Code : Tout sélectionner

root@septimus:/home/jbecker# find / -name .npm 2> /dev/null
/home/jbecker/.npm
/var/www/.npm
/root/.npm
Si tu veux, tu peux lancer l'installation manuellement en exécutant le script nodejs.sh en root.
J'imagine que le log d'installation que tu as montré précédemment c'était via Jeedom, qui n'utilise pas l’utilisateur root mais fort probablement www-data.
Je préférerais rester dans la procédure pour justement mettre en évidence des problèmes éventuels.
N'y aurait-il pas un package à installer, un link à créer, ou autre ?
Voici la version de la box Jeedom Mini + :

Code : Tout sélectionner

root@jeedom:/# lsb_release -ds
Debian GNU/Linux 8.1 (jessie)
root@jeedom:/#

Avatar de l’utilisateur
treyz
Timide
Messages : 109
Inscription : 07 janv. 2017, 16:39

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

Message par treyz » 09 févr. 2019, 11:21

sigalou a écrit :
07 févr. 2019, 20:41
Voilà, dernière version en ligne.
Branches fusionnées
J'ai refait tous les liens (lancement/arrêt démon, lancement/arrêt du serveur de cookie) puisque des fichiers js ont changé de noms et/ou d'endroit.

Oubliez l'ancienne manière d'installer, utilisez celle du ReadMe de https://github.com/sigalou/jeedom_alexaapi
C'est à dire :

jeedom -> plugins -> gestion des plugins -> ajouter un plugin -> type de source: github

(Si github n'est pas proposé, allez dans Admin/Configuration/Mise à jour/Github et cochez "Activer Github")

ID logique du plugin -> alexaapi

Utilisateur ou organisation du dépôt -> sigalou

Nom du dépôt -> jeedom_alexaapi

Branche -> master

Allez sur Lancer la génération pour générer le Cookie Amazon, il suffit de suivre les étapes.

Pour l'instant, le développement est arrivé à ce point. A ce stade, une fois le Cookie généré, et le démon lancé, vous pouvez tester dans votre navigateur avec une commande du genre :

http://VOTREIP:3456/speak?device=VOTRED ... ext=coucou


Merci fensoft et jbecker, on a une bonne base.

Je regarde la question de l'import des Devices maintenant ...

Pas mal du tout sigalou, après on peut passer par un script de type http comme ça

Image

Kyoshi
Timide
Messages : 444
Inscription : 04 mai 2018, 14:05

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

Message par Kyoshi » 09 févr. 2019, 11:54

sigalou a écrit :
08 févr. 2019, 20:22
Nous faisons des mises en jour et c'est plus propre de supprimer le plugin (ça vire totalement plugins/alexaapi) puis de le réinstaller via github puis de réinstaller les dépendances puis de générer le cookie.

Si je comprends bien, au final, c'est bon pour toi, on peut continuer à travailler sur les équipements... :P
Hello,

Oui, tout roule. C'est parfait!
Même dans cet état (sans les équipements) le plugin est une superbe avancée (dans mon cas d'utilisation du moins).
Ne pas avoir à devoir récupérer manuellement le cookie, c'est du bonheur. Comme dit précédemment, ce n'était pas compliqué de le faire sur un desktop mais à distance sur un smartphone (typiquement quand nous sommes en vacances et que l'on utilise des scripts Alexa pour simuler une présence).

Avatar de l’utilisateur
sigalou
Actif
Messages : 1075
Inscription : 23 janv. 2017, 16:02

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

Message par sigalou » 09 févr. 2019, 13:39

treyz a écrit :
09 févr. 2019, 11:21
Pas mal du tout sigalou, après on peut passer par un script de type http comme ça
Image
Oui, évidemment, tu as raison, mais l’intérêt d'un plugin c'est de tout intégrer, mais pour l'instant, oui, les scripts fonctionnent bien. Je continue le dev du plugin...
Sigalou

Utilisateur/Développeur Plugin Jeedom
Créateur des plugins Alexa-API & WatchDog



Avatar de l’utilisateur
sigalou
Actif
Messages : 1075
Inscription : 23 janv. 2017, 16:02

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

Message par sigalou » 09 févr. 2019, 21:17

:D :D :)
Voilà, ça y est, le plugin est capable tout seul de récupérer sur le compte Amazon la liste des équipements.
Ça fonctionne très bien !
On peut donc leur donner un objet parent et les classer.

J'ai tout poussé sur le dépôt, donc vous pouvez tester.

Pour ceux qui ont une version précédente, pas d'hésitation : supprimer le plugin (par le bouton supprimer dans configuration) et réinstallez le depuis github en suivant l'explication du readme :
https://github.com/sigalou/jeedom_alexaapi

SVP, faites moi un retour ici.

Prochaines étapes :
* Regarder pourquoi il faut parfois générer manuellement deux fois le cookie.
* Ajouter un bouton Refresh pour actualiser l'information "Présent" sur la fenêtre "Santé".
* Réfléchir l'organisation des commandes, speak dans un premier temps pour voir comment l'intégrer aux devices
* Ajouter des informations dans le log pour les debug
* Ajouter des images png 250x250 pour les Alexa qui n'en n'ont pas encore
* Créer une variable globale qui dit si le cookie est bien généré ou pas et ainsi bloquer les actions qui nécessitent le cookies (quasiment toutes), peut être mettre cette info sur l’écran de configuration.
Dernière édition par sigalou le 10 févr. 2019, 08:31, édité 1 fois.
Sigalou

Utilisateur/Développeur Plugin Jeedom
Créateur des plugins Alexa-API & WatchDog



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 » 09 févr. 2019, 22:15

sigalou a écrit :
08 févr. 2019, 20:27

Comment fonctionne le fichier jeedom_alexaapi/resources/package.json ? il est necessaire sur le dépôt ou c'est le résultat d'une installation ?
J'ai eu quelques soucis à la fusion des branches avec ce fichier, tu pourras regarder si c'est le bon qui est mis à dispo sur le dépot (dans l'hypothèse qu'il soit nécessaire).

Merci
Oui, il est nécessaire. C'est lui qui référence les autres librairies nodejs à installer.
Il me semble bien. Nous pouvons mettre à jour les infos tel que les URL vers git histoire d'être plus propre mais ce qui nous intéresse surtout, c'est la liste "dependencies".

Répondre

Revenir vers « [Plugin Officiel] Assistant vocaux »

Qui est en ligne ?

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