Page 1 sur 1

Alexa et script bash

Publié : 04 nov. 2021, 22:54
par Darkneo
Bonsoir à tous,

petite question certainement très simple, mais pour lauqelle je n'arrive pas à trouver de solution. J'ai installé le plugin alexa-remote-control qui fonctionne parfaitement bien quand je lance les commandes en ssh. Prenon l'exemple:

Code : Tout sélectionner

/home/pi/alexa-remote-control/alexa_remote_control.sh -e speak:"Ouverture des volets en cours"
J'ai donc fait un fichier sh tout bete, qui contient:

Code : Tout sélectionner

!/bin/bash
su - pi -c "ssh pi@remote_rpi /home/pi/alexa-remote-control/alexa_remote_control.sh -e speak:"ouverture des volets en cours""
J'ai modifié le chown du sh et chmodé les dossiers pour que domoticz puisse le lancer depuis l'action ON, et tout est OK... Enfin presque tout... Car dans le cas de l'action ON de Domoticz, Alexa ne prononce que le premier mot de la phrase (ici "ouverture"). Je suppose donc que la synthaxe de la commande en sh n'est pas bonne, et j'ai tenté:

Code : Tout sélectionner

!/bin/bash
su - pi -c "ssh pi@remote_rpi '/home/pi/alexa-remote-control/alexa_remote_control.sh -e speak:"ouverture des volets en cours"'"
qui me donne l'erreur:

Code : Tout sélectionner

des: -c: line 0: unexpected EOF while looking for matching `''
des: -c: line 1: syntax error: unexpected end of file
Quelqu'un aurait une idée pour pouvoir lancer ce script depuis les actions ON/OFF de domoticz (et idéalement en passant la phrase en argument d'un fichier template, pour ne pas avoir à créer 200 fichier sh différents pour chacune des commandes)?

Merci d'avance pour le coup de main!

Re: Alexa et script bash

Publié : 05 nov. 2021, 00:05
par cedpic
Bonsoir

Je ne répond pas totalement à ta réponse mais pourquoi ne pas s'utiliser le skill Alhau sur alexa ,en lieu et place d alexa remote

Envoyé de mon SM-G981B en utilisant Tapatalk


Re: Alexa et script bash

Publié : 05 nov. 2021, 12:01
par Darkneo
Hello,

Tout simplement car la finalité n'est pas du tout la même :roll:

Avec Alexa remote, je peux programmer des actions pour "faire parler" Alexa en fonction de certaines actions (exemple, quand il est entre 7h et 8h du matin et qu'il y a une détection de présence dans la cuisine, elle lit les dernières infos, me donne la météo et l'état du trafic sans que j'ai à lui demander - pour le moment ca c'est la théorie! :D )

Alhau me permet de commander des objets domotiques non reconnus par Alexa (plugin maison connectée) mais créés dans Domoticz, ce qui me permet de pouvoir commander des objets domotique via alexa sans skill particuière (outre Alhau).

Re: Alexa et script bash

Publié : 05 nov. 2021, 12:13
par cedpic
Merci de votre retour, du coup je vais me pencher dessus cela m intéresse.

Envoyé de mon SM-G981B en utilisant Tapatalk


Re: Alexa et script bash

Publié : 05 nov. 2021, 15:28
par patrice
hello
Tu ecris
Darkneo a écrit : 04 nov. 2021, 22:54

Code : Tout sélectionner

!/bin/bash
su - pi -c "ssh pi@remote_rpi /home/pi/alexa-remote-control/alexa_remote_control.sh -e speak:"ouverture des volets en cours""

pour un script il faut non pas !/bin/bash
mais
#!/bin/bash

il faut un # devant


ensuite fais gaffe si tu redige ton script sous windows et que tu l'envoie sur une machine linux à l'encodage des retour de fin de ligne dans ce cas passe un coup de la commande dos2unix
https://tech.gamuza.fr/dos2unix-l-utili ... ndows.html

avec ca c'est reglé !!

Re: Alexa et script bash

Publié : 04 déc. 2021, 17:27
par Darkneo
Hello!

Oui je confirme qu'il faut bien le #!/bin/bash pour que le script fonctionne (erreur de CtrlC/CtrlV)

Et autre point qui a son importance: vu qu'on blance du SSH en su remote, la commande exacte (après par mal de test) ressemble plus à:

Code : Tout sélectionner

#!/bin/bash
su - pi-c 'ssh pi@remote_pi /home/pi/alexa-remote-control/alexa_remote_control.sh -e speak:"ouverture\ des\ volets\ en\ cours"'
Il faut le \ pour echapper tous les special chars dans les commandes (les espaces, les 'é', etc...), sinon cela ne fonctionne pas :)

Modération

Publié : 04 déc. 2021, 20:42
par Keros
Sujet déplacé dans la section Script.