Page 1 sur 2
Lancement d'un script sh
Publié : 04 avr. 2016, 00:53
par staber
Bonjour,
Je cherche a commander une prise wemo.
J'y arrive très bien dans le terminale. J'ai donc écris un script (wemo_on.sh) qui fonction bien aussi si je fais ./wemo_on
j'ai fait un
dessus
j'ai fait un switch virtuel dans domoticz et dans on j'ai mis :
script:///home/pi/domoticz/scripts/wemo/wemo_on.sh
j'obtient l'erreur suivante :
2016-04-03 18:43:02.643 Error: Error executing script command (/home/pi/domoticz/scripts/wemo/wemo_on.sh). returned: 256
C'est super frustrant! Une idée ?
Re: Lancement d'un script sh
Publié : 04 avr. 2016, 08:31
par rimram31
Pas souvenir avoir eu un problème de ce genre mais si j'en crois ce post
https://www.domoticz.com/forum/viewtopi ... 465#p50041, enfin sa conclusion, évite que ton script écrive en sortie (redirige vers /dev/null ou /tmp/...) et détache le processus (&) si il dure trop longtemps.
Re: Lancement d'un script sh
Publié : 04 avr. 2016, 16:26
par Pyrrhus
Ya aussi un truc tout bête mais faut le savoir: dans les dernières versions de domoticz, le chemin du script est raccourci dans les interrupteur.
Pour toi essaye script://wemo/wemo_on.sh
Re: Lancement d'un script sh
Publié : 05 avr. 2016, 00:43
par staber
Alors oui j'avais vu ce post mais
2016-04-03 18:43:02.643 Error: Error executing script command (/home/pi/domoticz/scripts/wemo/wemo_on.sh). returned: 256
Aucune erreur mais l'action ne se produit pas (le wemo reste a off)
Aucune erreur mais l'action ne se produit pas (le wemo reste a off)
Changer le chemin ne donne rien non plus.
J'ai aussi testé en sudo :
Aucune erreur mais l'action ne se produit pas (le wemo reste a off)

Re: Lancement d'un script sh
Publié : 05 avr. 2016, 07:43
par patrice
Bonjour
1 - Lorsque tu lances manuellement ton script s depuis la ligne de commande que s'affiche t'il en retour dans la console ?
2 - il met combien de temps pour te rendre la main on script ?
1 - si il y a qq chose qui s'affiche il faut placer dans ton script en bout de ligne un /dev/null
2- si c'est long (plus de 10 sec) met un & en bout de ligne
Re: Lancement d'un script sh
Publié : 05 avr. 2016, 11:51
par fratton
fait un script lua avec
Et ensuite associe ton script lua avec le bouton
Re: Lancement d'un script sh
Publié : 05 avr. 2016, 15:54
par rimram31
Ca serait aussi pas mal que nous en dise plus sur ton script ou binaire wemo, celui que tu appelles dans ton script: wemo switch "WeMo Switch" on.
C'est quoi ? Un binaire fournit par wemo, un autre script ? La différence entre une exécution en ligne de commande et l'appel de domoticz peut aussi se jouer sur l'environnement d'exécution notamment des variables système comme path, ld_library_path, java ...
On peut essayer de rediriger la ligne de commande + erreur vers un fichier et de voir ensuite si il contient une erreur:
wemo switch "WeMo Switch" on 2>&1 >/tmp/wemo_debug.log ???
Re: Lancement d'un script sh
Publié : 05 avr. 2016, 22:42
par staber
Bonjour,
Je ne suis pas à la maison avant quelques heures et je vais retester vos nouvelles pistes!
1 - Lorsque tu lances manuellement ton script s depuis la ligne de commande que s'affiche t'il en retour dans la console ?
2 - il met combien de temps pour te rendre la main on script ?
1 - il ne s'affiche rien dans la console
2 - 2 à 3 secondes
Ca serait aussi pas mal que nous en dise plus sur ton script ou binaire wemo
J'ai des Belkin Wemo (
http://www.belkin.com/us/Products/home- ... utomation/) et notamment la prise WeMo Switch.
Il existe une librairie python open source «ouimeaux» qui permet de contrôler les appareils Wemo (
https://ouimeaux.readthedocs.org/en/latest/) avec un API python aussi.
On peux donc contrôler le dispositif avec des commandes dans le terminal :
Dans mon cas ma prise s'appel par défaut WeMo Switch
Ce qui marche super bien dans la console/terminal connectés sur mon raspberry pi
J'ai voulu faire un script pour être capable de passer la commande grâce à un interrupteur dans domoticz... (je ne suis pas codeur je précise

)
Merci pour votre aide!
Re: Lancement d'un script sh
Publié : 05 avr. 2016, 23:26
par Pyrrhus
Visiblement c'est au niveau de domoticz le probleme. Plusieurs pistes:
- essaye #!bin/bash au lieu de #!bin/sh au début du script
- teste dans le terminal tes autres script.sh domoticz: si tu en vois un qui ne te rend pas la main il peut bloquer les autres. Je l'ai vécu personnellement.
Profites-en, si un script dure longtemps (10s à peu pres), de lui rajouter un "&" pour libérer le terminal pendant son exécution.
Voilà, moi je commencerai par là si j'avais un script qui se lance bien dans le terminal mais pas dans domoticz.
Re: Lancement d'un script sh
Publié : 06 avr. 2016, 14:47
par staber
Bonjour,
Alors la commande suivant marche
le script suivant marche :
en faisant
dans le terminal
si j'ajoute
la commande et le script ne marchent plus. le log donne «can't find a device with that name» pourtant sans cet ajout, ça marche bien et le nom est le bon.
Le coup du script lua ne marche pas non plus.
- teste dans le terminal tes autres script.sh domoticz: si tu en vois un qui ne te rend pas la main il peut bloquer les autres. Je l'ai vécu personnellement. Profites-en, si un script dure longtemps (10s à peu pres), de lui rajouter un "&" pour libérer le terminal pendant son exécution.
Tu veux dire de lancer les scripts un par un par un
et voir ce que ça donne ?