Alexa et script bash

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
Darkneo
Messages : 68
Inscription : 16 déc. 2018, 08:50

Alexa et script bash

Message 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!
cedpic
Messages : 37
Inscription : 17 déc. 2018, 22:42
Localisation : 95400

Re: Alexa et script bash

Message 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

Domoticz en version BETA
Raspbery PI4
Pizigate
5 sonde Xiaomi Aquara
2 on/off en Zigbee
1 Repeteur Tradi kea
1 relais lumiere par SonoFf avec firmware modifié
TV*LG
3 ECHO ALEXA
Darkneo
Messages : 68
Inscription : 16 déc. 2018, 08:50

Re: Alexa et script bash

Message 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).
cedpic
Messages : 37
Inscription : 17 déc. 2018, 22:42
Localisation : 95400

Re: Alexa et script bash

Message 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

Domoticz en version BETA
Raspbery PI4
Pizigate
5 sonde Xiaomi Aquara
2 on/off en Zigbee
1 Repeteur Tradi kea
1 relais lumiere par SonoFf avec firmware modifié
TV*LG
3 ECHO ALEXA
patrice
Messages : 1720
Inscription : 22 sept. 2014, 21:51

Re: Alexa et script bash

Message 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é !!
Raspberry pi 3, Dongle RfxCom et Zigate +, plugin de pipiche, Volets Roulants profalux, contrôle d'éclairage, détecteurs de présence, alarme incendie, pilotage livebox ...
Objectif : WAF > 1
Darkneo
Messages : 68
Inscription : 16 déc. 2018, 08:50

Re: Alexa et script bash

Message 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 :)
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Modération

Message par Keros »

Sujet déplacé dans la section Script.
Répondre