Page 1 sur 2

Problème execution script Python

Publié : 01 janv. 2017, 20:41
par Neoseb
Bonjour à tous

Voilà je débute dans Domoticz et super motivé je me suis lancé sur l'exécution d'un petit script en python qui allume mon ampli Home Cinéma.

Mon script fonction parfaitement quand je l'exécute directement en lignes de commandes sur mon Raspberry

Code : Tout sélectionner

python3 /home/pi/domoticz/scripts/python/server_TCP.py
Je l'ai chmoddé +x comme écrit dans le forum à plusieurs endroits.

J'ai inscrit la ligne qui va bien dans mon interrupteur :

Code : Tout sélectionner

script:///home/pi/domoticz/scripts/python/server_TCP.py
mais je désespère, j'obtient toujours ce p... de message d'erreur

Code : Tout sélectionner

Error: Error executing script command (/home/pi/domoticz/scripts/python/server_TCP.py). returned: 32512
quand j'enlève un slash après script://, l'erreur disparait, mais le script ne s'éxécute pas.
Je viens de passé 2 heures sur les forums pour comprendre mon problème, mais je n'ai toujours aucune solution.

Merci pour votre aide..

Voici mon script

Code : Tout sélectionner

#!/usr/bin/python3
#coding: utf8
import socket

TCP_IP = '192.168.1.116'
TCP_PORT = 1470

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((TCP_IP, TCP_PORT))
cde = "PWON" + chr(0x0d)
s.send(cde.encode())
s.close()

Re: Problème execution script Python

Publié : 01 janv. 2017, 21:30
par patrice
Bonsoir
Et que donne l exécution de ce script dans un shell
as tu l erreur en question ?

Re: Problème execution script Python

Publié : 01 janv. 2017, 22:31
par Neoseb
Bonsoir,

Merci pour ta réponse rapide et désolé pour mes capacités encore limitées.

Si par exécution dans un shell, tu penses faire un .sh et l'exécuter alors je viens d'essayer et ça fonctionne parfaitement, sans aucune erreur !

c'est quoi ce truc ? C'est le même code ?

Merci beaucoup pour ton aide.

Re: Problème execution script Python

Publié : 01 janv. 2017, 23:48
par Pyrrhus
Salut,
pour les scripts .sh il faut remplir "script://nom_du_script.sh" si il est dans le répertoire "scripts" de domoticz. En gros il faut zapper la portion "/home/pi/domoticz/scripts". C'est peut-être pareil pour les scripts python.
Essaye

Code : Tout sélectionner

script://python/server_TCP.py

Re: Problème execution script Python

Publié : 02 janv. 2017, 12:04
par Neutrino
Un problème de droits ?

Code : Tout sélectionner

sudo chmod +x tonscript.py

Re: Problème execution script Python

Publié : 02 janv. 2017, 21:59
par bruno_ghost17
salut
je ne pense pas que dans ta ligne de commande depuis domoticz la commande initiale "python3" soit implicite

si tu lances en ligne de commande tu spécifie bien "python3" ,a mon avis il doit falloir le specifier aussi dans ta ligne de commande aussi

enfin je chercherais dans ce sens là

Bruno.

Re: Problème execution script Python

Publié : 02 janv. 2017, 22:29
par patrice
Bonsoir,

OK puisque ton script marche en ligne de commande et pas depuis Domoticz, pourrais tu me dire sous quel utilisateur est lancé Domoticz
en tapant ps -ef |grep domoticz
root 777 1 2 14:39 ? 00:11:55 /home/pi/domoticz/domoticz -daemon -www 8080 -sslwww 443 -log /tmp/domoticz.txt
chez moi c'est root
et toi ?

Re: Problème execution script Python

Publié : 04 janv. 2017, 22:16
par Neoseb
Bonsoir à tous,

Tout d'abord merci à vous tous pour vos réponses et votre aide.

@Patrice, voici le résultat de la commande

Code : Tout sélectionner

pi@raspberrypi:~ $ ps -ef |grep domoticz
root       646     1  0 21:34 ?        00:00:03 /home/pi/domoticz/domoticz -daemon -www 8080 -sslwww 443
pi         866   793  0 21:40 pts/0    00:00:00 grep --color=auto domoticz
Si je comprends tout, chez moi aussi c'est root.

@bruno_ghost17, j'ai essayé, ca ne change rien....

@Neutrino, oui oui, j'ai bien passé mon script au chmod...

@Pyrrhus, effectivement en ne mettant que script://python/xxx au lieu de script:///home/pi/domoticz/scripts/python/xxx, ça lance bien un script .sh mais j'ai le même problème avec les .py...

C'est tout de même étrange....

Merci encore

Re: Problème execution script Python

Publié : 05 janv. 2017, 11:45
par bruno_ghost17
salut

bon c'est pas tres tres chouette comme solution , si tu lances ta commande "python3 /home/pi/domoticz/scripts/python/server_TCP.py" depuis un .sh je suppose que ça marche donc ?

la solution , bien que moche ,j'en conviens serait peut etre de lancer le .sh depuis la ligne de commande du switch.

mais je suppose que tu y avais deja pensé .

Bruno.

Re: Problème execution script Python

Publié : 05 janv. 2017, 15:05
par vil1driver
bruno_ghost17 a écrit :salut

bon c'est pas tres tres chouette comme solution , si tu lances ta commande "python3 /home/pi/domoticz/scripts/python/server_TCP.py" depuis un .sh je suppose que ça marche donc ?
à tester en root bien entendu ;)