Alexa alexa-remote-control script

Forum dédié aux questions concernant la configuration de votre serveur sous Linux
Laurent_d40
Messages : 15
Inscription : 24 juil. 2020, 15:04
Localisation : 91 - Essonne

Re: Alexa alexa-remote-control script

Message par Laurent_d40 »

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 :
  • 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
tomette
Messages : 1
Inscription : 25 mars 2023, 17:51

Re: Alexa alexa-remote-control script

Message par tomette »

Bonjour à tous!

Je suis assez novice dans le domaine, j'ai executé le fichier alexa-cookie-cli-linux-x64 sur mon pc sous linux mais j'ai une erreur de ce type: Error: Proxy Server could not be initialized. Check Logs. / null

Quand j'execute le fichier en cliquant dessus et que j'ouvre mon navigateur a l'adresse localhost:8080, j'ai bien la page de connexion a amazon, mais amazon.de

Help me SVP! :lol: lol

Merci d'avance
spads69
Messages : 65
Inscription : 01 mars 2015, 22:12

Re: Alexa alexa-remote-control script

Message par spads69 »

Laurent_d40 a écrit : 10 mars 2023, 17:55 Juste un petit retour sur mon expérience avec ce script
Merci pour ton message détaillé qui m'a bien aidé !
DomoTiBI
Messages : 93
Inscription : 07 mars 2018, 15:52
Localisation : 46 - Lot

Re: Alexa alexa-remote-control script

Message par DomoTiBI »

Bonjour,

Grace à ce formidable forum je suis parvenu à faire parler mes enceintes connectées mais pas les groupes.
No surprise c'est écrit ici : "Partout" ne fonctionne pas.

Je bute actuellement sur le multiroom :
  • je peux faire parler une seule enceinte à la fois
    mais si je met deux noms d'enceinte derrière le -d alors plus rien ne sorte (j'ai essayé quantité de syntaxes différentes et n'ai pas réussi à en trouver une qui marche),
  • j'ai aussi essayé de créer un groupe mais là les noms de enceintes ne sont pas reconnus,
  • pensant que ça venait des noms des enceintes (qui contiennent des espaces) j'ai essayé avec underscor puis j'ai carrément renommé une enceinte : double échec. Ca ne marche pas mieux et le script ne reconnaît pas les nouveaux nom. Si je lance un "/alexa_remote_control.sh -a" l'enceinte renommée apparaît sous son ancien nom et il convient d'utiliser ce dernier pour la faire parler
  • je n'ai pas trouvé comment forcer la mise à jour de nom.
L'un des honorables membres de cette assemblée respectable aurait-il réussi là ou j'échoue ?
Et peut-il me donner un exemple de syntaxe qui marche, ou me dire comment forcer la mise à jour des noms d'enceintes ?

D'avance merci

PS : Contrairement à ce qu'indique ma signature j'ai la version 2023.2 de Domoticz et Raspbian est à jour.
Les enceintes sont deux Echo Dot et une Libratone Zip Mini 2
Raspeberry 3B+ Model B Rev 1.2 - Domoticz 2020.2 - dzVents 3.0.1 - Python 3.7.3
Raspbian GNU/Linux 10 (buster) 4.19.97-v7+#1294

RFXCom
BSO Somfy
Sondes Digoo et Daniu.
Sonoff 4CH pro (flashé)
Alhau - prises Silvercrest et Rhino en 433 Mhz
DomoTiBI
Messages : 93
Inscription : 07 mars 2018, 15:52
Localisation : 46 - Lot

Re: Alexa alexa-remote-control script

Message par DomoTiBI »

Je me répond en espérant que ça serve :

Pour faire prendre en compte une modification de nom de device il faut se délogger :

Code : Tout sélectionner

sudo /home/pi/domoticz/scripts/alexa_remote_control.sh -l
Le logging se refait automatiquement lors de l'envoi d'une nouvelle instruction.

Par exemple en créant un groupe :

Code : Tout sélectionner

sudo /home/pi/domoticz/scripts/alexa_remote_control.sh -m Alertes EcoBureau EcoBain
Ma troisième enceinte ne peut être ajoutée au groupe parce qu'elle est connectée via un réseau distinct.

Pour que mes alertes passent sur cette dernière il faudrait que j'envoie une nouvelle instruction speak.
J'ai essayé mais ça ne marche pas (le système étant occupé par la première instruction).
Il faudrait pouvoir demander une pause jusqu'à l’acquittement de la première instruction.
Pas tout a fait dans l'esprit de LUA - Dzvent mais ...
Je vais chercher.

A+
Raspeberry 3B+ Model B Rev 1.2 - Domoticz 2020.2 - dzVents 3.0.1 - Python 3.7.3
Raspbian GNU/Linux 10 (buster) 4.19.97-v7+#1294

RFXCom
BSO Somfy
Sondes Digoo et Daniu.
Sonoff 4CH pro (flashé)
Alhau - prises Silvercrest et Rhino en 433 Mhz
jojomul1983
Messages : 74
Inscription : 23 févr. 2019, 18:22

Re: Alexa alexa-remote-control script

Message par jojomul1983 »

Perso, dans l'appli Alexa, je crée des groupes d'enceintes.

J'en mets 2, 3 ou le nombre que je veux, et je nomme chaque groupe par un nom.

Ensuite, j'exécute le script avec le nom du groupe et toutes les enceintes du groupe disent la phrase que je veux en même temps.

Comme ceci:
/home/pi/domoticz/scripts/alexa_remote_control.sh -d "ensemble" -e speak:"la porte de garage d'aurore est fermée"

"ensemble" est un groupe d'enceintes de l'appli Alexa avec 2 enceintes.
DomoTiBI
Messages : 93
Inscription : 07 mars 2018, 15:52
Localisation : 46 - Lot

Re: Alexa alexa-remote-control script

Message par DomoTiBI »

C'est précisément ce que je fais et qui fonctionne très bien si toutes les enceintes du groupe sont sur le même réseau.
Dans mon cas, certes particulier, l'une des enceintes est sur un réseau distinct et ne peut être rattachée au même groupe que les deux autres.
D'où mon souci.
Raspeberry 3B+ Model B Rev 1.2 - Domoticz 2020.2 - dzVents 3.0.1 - Python 3.7.3
Raspbian GNU/Linux 10 (buster) 4.19.97-v7+#1294

RFXCom
BSO Somfy
Sondes Digoo et Daniu.
Sonoff 4CH pro (flashé)
Alhau - prises Silvercrest et Rhino en 433 Mhz
PHP-IP
Messages : 126
Inscription : 31 janv. 2017, 19:51

Re: Alexa alexa-remote-control script

Message par PHP-IP »

Bonjour,
est-ce que quelqu'un aurait réussi à faire fonctionner ce script sur une version de Domoticz installée sous Windows ?

Bonne journée
Wolfen38
Messages : 1983
Inscription : 19 oct. 2017, 14:49

Re: Alexa alexa-remote-control script

Message par Wolfen38 »

Salut à tous.

Suite à mon passage sur un rpi 5, je n'arrive plus à faire parler ma google home.

Je suis donc tomber sur ce sujet, mais je ne comprends pas ce qu'il faut faire.

Et sur github, je vois pas trop la démarche.

Pour le moment, j'ai mis les 2 fichier .sh dans mon répertoire de script en modifiant les 1ère ligne puis installer jq.

Après ca parle de toke,, mfa, cookies..... et la je suis perdu.

Si quelqu'un avait la gentillesse et le temps de me dire les différentes étapes pour installer ca et faire parler mon enceinte, ca serait génial.

Merci.
jojomul1983
Messages : 74
Inscription : 23 févr. 2019, 18:22

Re: Alexa alexa-remote-control script

Message par jojomul1983 »

Maintenant que tu as le script alexa_remote_control.sh, il faut renseigner de la page 100 à 147, il va te manquer le refresh token.

Rend-le exécutable: chmod + x

Va sur https://github.com/adn77/alexa-cookie-c ... tag/v5.0.1

Tu télécharges la version du fichier alexa-cookie-cli suivant ton système.

Tu le lances.

Tu ouvres la page http://127.0.0.1:8080 avec un navigateur autre que Chrome.
Sur cette page, tu te connectes avec tes identifiants Amazon.

Tu retournes sur le fichier cmd ouvert alexa-cookie-cli et en bas tu peux copier le token: atnr....................

Tu renseignes le refresh token dans le script alexa_remote_control.sh

Maintenant, tu peux appeler le script

exemple d'appel: sudo /home/pi/domoticz/scripts/alexa_remote_control.sh -d "ensemble" -e speak:"la porte arrière du garage est fermée")

dans l'exemple, <ensemble> correspond au nom de ton enceinte ou groupe d'enceintes à renseigner dans SET_DEVICEVOLNAME et après speak, tu mets ce que tu veux faire dire à ton ou tes enceintes.

J'espère ne pas avoir fait d'erreur dans mes explications.
Répondre