problème avec os.execute ou script .sh?

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 <\>.
thier
Messages : 807
Inscription : 26 sept. 2015, 10:32
Localisation : charente

problème avec os.execute ou script .sh?

Message par thier »

Bonjour j'ai besoin d'aide car je ne trouve de solution.
Dans un script .sh, je parse un compteur rid132 et je met la valeur récupérée dans un virtuel text idx134

#!/bin/bash
result=$(curl -s "http://192.168.0.25:8080/json.htm?type=devices&rid=132"| jq -r .result[].CounterToday)
curl -s 'http://192.168.0.25:8080/json.htm?type= ... e='$result''
#echo $result
#sleep 2
#fi
exit 1

dans un script lua, j'utilise os.execute pour lancer le script sh.
os.execute('bash /home/pi/domoticz/scripts/sh/parsecompteurchauffageglobal2.sh')

Le problème c'est que j'ai l'alerte des 10 secondes pour mon script lua. il doit y avoir une erreur mais ou? Quand je lance mon script sh hors du script lua je n'ai pas d'erreur.
PI3+, Buster, Domoticz V2020.2, rflink, zwave, chauffage piloté par qubino, sondes oregon et Vil1d, boite aux lettres détection passage facteur, volets roulants qubino fibaro.
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: problème avec os.execute ou script .sh?

Message par vil1driver »

salut,

ajoutes & à la fin pour ne pas attendre ton script

os.execute('bash /home/pi/domoticz/scripts/sh/parsecompteurchauffageglobal2.sh &')
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
thier
Messages : 807
Inscription : 26 sept. 2015, 10:32
Localisation : charente

Re: problème avec os.execute ou script .sh?

Message par thier »

Merci vill1Driver, ça fonctionne.
PI3+, Buster, Domoticz V2020.2, rflink, zwave, chauffage piloté par qubino, sondes oregon et Vil1d, boite aux lettres détection passage facteur, volets roulants qubino fibaro.
alexbi
Messages : 123
Inscription : 29 nov. 2015, 16:36

Re: problème avec os.execute ou script .sh?

Message par alexbi »

salut

j'ai un problème Error: EventSystem: Warning!, lua script freebox has been running for more than 10 seconds, avec une script lua qui lance un bash

j'ai voulu essayé ta méthode mais elle ne semble pas fonctionner, je pense que je dois mal l'ecrire

os.execute('bash /home/'..user..'/domoticz/scripts/bash/freebox.sh & '..ifttt)

une idée de mon erreur ?

merci par avance
landaisbenj
Messages : 695
Inscription : 12 mars 2017, 19:24

Re: problème avec os.execute ou script .sh?

Message par landaisbenj »

Code : Tout sélectionner

os.execute('bash /home/'..user..'/domoticz/scripts/bash/freebox.sh '..ifttt..'&')
Peut etre ?

[EDIT]Apres tout depend de ce qu'est vraiment ifttt... Une chaine une fonction ? sinon ca peut etre ca:

Code : Tout sélectionner

os.execute('bash /home/'..user..'/domoticz/scripts/bash/freebox.sh ifttt &')
Rpbi3b: Domoticz + Homebridge + Monit + Freebox scripts + Shellinabox; Rpbi2: Jarvis
Domoticz: Derniere stable; RFLINK: Dernière stable; Xiaomi Gateway
alexbi
Messages : 123
Inscription : 29 nov. 2015, 16:36

Re: RE: Re: problème avec os.execute ou script .sh?

Message par alexbi »

landaisbenj a écrit :

Code : Tout sélectionner

os.execute('bash /home/'..user..'/domoticz/scripts/bash/freebox.sh '..ifttt..'&')
Peut etre ?

[EDIT]Apres tout depend de ce qu'est vraiment ifttt... Une chaine une fonction ? sinon ca peut etre ca:

Code : Tout sélectionner

os.execute('bash /home/'..user..'/domoticz/scripts/bash/freebox.sh ifttt &')
merci à toi je commence à comprendre l'histoire des " .."
cela semble fonctionner

merci

Envoyé de mon HUAWEI VNS-L31 en utilisant Tapatalk
landaisbenj
Messages : 695
Inscription : 12 mars 2017, 19:24

Re: problème avec os.execute ou script .sh?

Message par landaisbenj »

;) je pense qu’on peut dire que les deux points concatenent . Mais quand on veut concatèner avec une chaîne il faut penser aux espaces par exemple.
Rpbi3b: Domoticz + Homebridge + Monit + Freebox scripts + Shellinabox; Rpbi2: Jarvis
Domoticz: Derniere stable; RFLINK: Dernière stable; Xiaomi Gateway
alexbi
Messages : 123
Inscription : 29 nov. 2015, 16:36

Re: problème avec os.execute ou script .sh?

Message par alexbi »

oui merci j'avais remarqué ça aussi

le & on peut le mettre aussi après un script python ?

dernière question, on peut lancer un script python dans un script shell ?

Envoyé de mon HUAWEI VNS-L31 en utilisant Tapatalk
landaisbenj
Messages : 695
Inscription : 12 mars 2017, 19:24

Re: problème avec os.execute ou script .sh?

Message par landaisbenj »

alexbi a écrit :oui merci j'avais remarqué ça aussi

le & on peut le mettre aussi après un script python ?
Je ne pense pas qu & ai quelque chose à voir avec le script. Ca a sûrement a voir avec os.execute(). Je pense que la commande se substitue au Shell du raspberry; ouvre l’adresse et & derrière doit sûrement être pris en compte comme la fin du Shell et pas du script exécuté. Du coup je suppose que oui.
dernière question, on peut lancer un script python dans un script shell ?
Je suppose que oui si tu exécute le script python de l’extérieur du script Shell (comme avec os.execute())

Mais tout ça franchement j’en ai aucune idée lol.
Rpbi3b: Domoticz + Homebridge + Monit + Freebox scripts + Shellinabox; Rpbi2: Jarvis
Domoticz: Derniere stable; RFLINK: Dernière stable; Xiaomi Gateway
thier
Messages : 807
Inscription : 26 sept. 2015, 10:32
Localisation : charente

Re: problème avec os.execute ou script .sh?

Message par thier »

le & indique à ton script lua de continuer son déroulement sans attendre la fin d'exécution du script sh lancé. ça évite les erreurs d'exécution de scripts qui durent plus de 10 secondes et qui sont tués par Domoticz.
PI3+, Buster, Domoticz V2020.2, rflink, zwave, chauffage piloté par qubino, sondes oregon et Vil1d, boite aux lettres détection passage facteur, volets roulants qubino fibaro.
Répondre