Script sh depuis blocky ne fonctionne pas

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 <\>.
paralight
Messages : 17
Inscription : 18 févr. 2017, 15:59

Script sh depuis blocky ne fonctionne pas

Message par paralight »

bonjour a tous,
je pensais pouvoir trouver la solution mais je bloque (c'est le cas de le dire) sur un script blocky ou je veux lancer un script sh.. un simple script sh qui lance un script python, voici en image le script :

Image

ensuite le script sh :

Code : Tout sélectionner

#!/bin/sh

/usr/bin/python3 /home/pi/domoticz/scripts/turnOnChambreEliza.py > /dev/null 2>&1 &
exit 0
bon le script python c'est pas la peine, ou alors le debut :

Code : Tout sélectionner


#!/usr/bin/env python3


import asyncio
import os
.........
la commande /home/pi/domoticz/scripts/turnOnChambreEliza.sh fonctionne parfaitement dans un terminal et je n'ai aucune erreur dans les log de domoticz..

Image

le deux script (sh et py) sont dans /home/pi/domoticz/scripts/
les droits sont en 777 sur les 2 fichiers
-rwxrwxrwx 1 pi pi 1748 janv. 5 21:21 turnOnChambreEliza.py
-rwxrwxrwx 1 pi pi 102 janv. 5 21:38 turnOnChambreEliza.sh
une idée svp ? la je bloque et seule solution que je vois c'est une bidouille de passer par une requete http et lancer le python depuis un serveur web.. ou... certain me diront de tout passer sur lua. .. mais un peu la flemme. .

merci
superchaussette
Messages : 4
Inscription : 19 févr. 2016, 09:09

Re: Script sh depuis blocky ne fonctionne pas

Message par superchaussette »

Bonjour,
Je me suis déjà cassé les dents sur des problèmes similaires...
Question bête: est ce que le script fonctionne en utilisateur root ? (le service domoticz est généralement lancé en tant que root).
Et c'est normal qu'il n'y ait rien dans les logs de domoticz (... > /dev/null 2>&1 & ).
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Modération

Message par Keros »

Sujet déplacé dans la section Script.
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Script sh depuis blocky ne fonctionne pas

Message par Keros »

paralight a écrit : 05 janv. 2021, 22:19 la commande /home/pi/domoticz/scripts/turnOnChambreEliza.sh fonctionne parfaitement dans un terminal et je n'ai aucune erreur dans les log de domoticz..
Si tu exécutes un .sh via un terminal, DomoticZ ne voit rien. Le fait que le fichier soit stocké dans le dossier Script de DomoticZ ne change rien.

Si le problème vient du lancement du script .sh, tu peux essayer d'utiliser un device virtuel avec incluant le script dans Action ON : lorsque tu passeras le device à On, il lancera le script.

Par contre, je trouve bizarre que tu sois obligé de passer par un .sh pour lancer un script Python ... Il y a un dossier Python sans le répertoire Script de DomoticZ, il doit bien y avoir une solution pour lancer un python, comme on lance un Lua :roll:
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
paralight
Messages : 17
Inscription : 18 févr. 2017, 15:59

Re: Script sh depuis blocky ne fonctionne pas

Message par paralight »

merci à tous pour vos réponse

@Keros tu as raison c'est plus simple d'appeler directement le fichier py , j'avais lu qqpart qu'il fallait forcement passer par un sh mais non , je viens de tester en mettant directement le path vers le py et ça fonctionne
sinon oui je me doutais bien que l'emplacement du script ne changeait rien à mon probleme

@superchausette
oui tu as tout a fait raison, et je subodorais que le pb venait de là, en effet j'avais installé le package meross_iot (via pip3) en tant que pi user et domoticz utilise le root user et donc ça me pétait une erreur que je ne voyais pas, j'ai donc installé le package en tant que root, et tout marche parfaitement (en mettant directement le path vers le py )

merci !
Répondre