Re: Alexa alexa-remote-control script
Publié : 10 mars 2023, 17:55
Bonjour,
Juste un petit retour sur mon expérience avec ce script :
Jusqu'à récemment, j'utilisais le script alexa_remote_control_plain.sh avec une configuration utilisant un MFA shared secret car j'avais des besoins basiques d'envois de messages depuis des scripts DzVents.
Depuis quelques temps, cela ne fonctionnait plus du tout à cause d'une demande de captcha par Amazon lors du login, malgré le MFA.
J'avais quasiment abandonné car alexa-cookie-cli me paraissait bien mystérieux.
Je m'y suis remis, et au final cela fonctionne très bien.
Quelques points clés à comprendre :
Juste un petit retour sur mon expérience avec ce script :
Jusqu'à récemment, j'utilisais le script alexa_remote_control_plain.sh avec une configuration utilisant un MFA shared secret car j'avais des besoins basiques d'envois de messages depuis des scripts DzVents.
Depuis quelques temps, cela ne fonctionnait plus du tout à cause d'une demande de captcha par Amazon lors du login, malgré le MFA.
J'avais quasiment abandonné car alexa-cookie-cli me paraissait bien mystérieux.
Je m'y suis remis, et au final cela fonctionne très bien.
Quelques points clés à comprendre :
- l'exécutable n'a pas besoin d'être lancé sur la même machine qui exécute le script alexa_remote_control. Dans mon cas je l'ai exécuté sur un mac et j'ai récupéré le token pour l'installer sur un raspberry. C'est beaucoup plus simple (config réseau en général plus simple, pas de proxy existant, ports ouverts, et navigateur disponible). Il suffit de suivre ce qui est indiqué ici https://blog.loetzimmer.de/2021/09/alex ... cript.html
- télécharger alexa-cookie-cli sur votre PC/Mac depuis https://github.com/adn77/alexa-cookie-cli/releases
- ouvrir une fenêtre de commande sur son PC/Mac
- lancer depuis cette invite : alexa-cookie-cli-<macos|windows> (au choix selon votre environnement)
- il vous faut alors lancer un onglet dans votre navigateur sur le même PC/Mac, et ouvrir l'adresse http://localhost:8080/
- Connectez-vous depuis le navigateur à Amazon avec le compte utilisé pour Alexa (login, mdp et OTP si vous l'avez activé)
- Une fois la connexion OK, vous récupérez dans la fenêtre de commande le Refresh-Token qui commence par Atnr|
- Copiez cette chaîne et recopiez la dans le script alexa_remote_control.sh à l'endroit du paramètre SET_REFRESH_TOKEN. Inutile de remplir les champs SET_EMAIL, SET_PASSWORD et SET_MFA_SECRET.
- Comme pour l'ancien script, il faut par contre adapter les champs de localisation :
Code : Tout sélectionner
SET_LANGUAGE='fr-FR' SET_TTS_LOCALE='fr-FR' SET_AMAZON='amazon.fr' SET_ALEXA='alexa.amazon.fr' - Pour l'utilisation dans Dzvents, contrairement au script précédent, il faut bien respecter le nom des devices Alexa. Les espaces doivent être des espaces (plus de _) et le tout entre '
Exemple :Code : Tout sélectionner
local alexadevice = 'Echo salon' os.execute("/home/pi/domoticz/scripts/alexa/alexa_remote_control.sh -d '"..alexadevice.."' -e speak:'Coucou' >>/home/pi/domoticz/scripts/alexa/logalexa.txt")
- cela ne marche qu'avec le nouveau script alexa_remote_control.sh, mais pas avec le _plain.sh
- le nouveau script nécessite d'installer jq. Cela se fait simplement par
Code : Tout sélectionner
sudo apt install -y jq