Le type de ta commande doit être Action/Message et tu ajoutes #message# à la fin de ta ligne de commande. Automatiquement le widget aura une zone pour saisir ta valeur.
Exemple :
j’ai pris l’option d’un curseur
j’ai mis ca :
avec ce script :
!/usr/bin/env python3
from pytapo import Tapo
import sys
def move(x) :
user=« XXXX »
password=« XXXX »
host=« 1XXXXX »
tapo2=Tapo(host, user, password)
res ={}
try :
res = tapo2.moveMotor(x,0)
except Exception :
print(« Oops! Tu es au bout Jacquie »)
res[« error_code »] =-1
if(res.get("error_code")==0) :
return 1
else :
return -1
#print (move())
#print(sys.argv[1])
move(sys.argv[1])
et fait ce widget
mais du coup j’ai l’erreur :
Erreur sur /var/www/html/plugins/script/data/move.PY 0 2>&1 valeur retournée : 2. Détails : from: too many arguments /var/www/html/plugins/script/data/move.PY: 4: /var/www/html/plugins/script/data/move.PY: import: not found /var/www/html/plugins/script/data/move.PY: 6: /var/www/html/plugins/script/data/move.PY: Syntax error: « ( » unexpected
mon script marche en ssh avec un paramètre de type int
Il faudrait que tu postes le code de ton script dans des balises
ton script
....
.....
ou que tu le mettes en pièces jointes
# !/usr/bin/env python3
from pytapo import Tapo
import sys
def move(x) :
user="xxx"
password="xxx"
host="xxx"
tapo2=Tapo(host, user, password)
res ={}
try :
res = tapo2.moveMotor(x,0)
except Exception :
print("Oops! Tu es au bout Jacquie")
res["error_code"] =-1
if(res.get("error_code")==0) :
return 1
else :
return -1
#print (move())
#print(sys.argv[1])
move(sys.argv[1])
Comme déjà dit dans un autre post, ton shebang n’est pas bon.
Remplace :
# !/usr/bin/env python3
par
#!/usr/bin/env python3
ou exécute le en ajoutant python3 devant.
python3 /var/www/html/plugins/script/data/move.PY
Oh merde le copier/coller
Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.