Page 1 sur 1
Activer Jarvis avec un switch virtuel ?
Publié : 16 déc. 2016, 18:38
par Pixelman
Bonjour, je souhaiterai pouvoir lancer Jarvis avec un interrupteur virtuel On/Off.
Pour le lancer en tache de fond la commande est simple:
Pour le couper ce sera avec une commande vocale.
le problème est de vérifier si il est actif ou pas pour cela il y a la commande :
qui si il est actif renvoie :
Comment récupérer savoir dans un script ou autre, si la commande ne renvoie rien ou si au contraire elle renvoie les deux lignes ?
Re: Activer Jarvis avec un switch virtuel ?
Publié : 16 déc. 2016, 21:26
par patrice
bonsoir
ps -ef |grep jarvis|wc -l
Re: Activer Jarvis avec un switch virtuel ?
Publié : 16 déc. 2016, 21:44
par Pixelman
Merci pour ta réponse j'ai trouvé une méthode qui fonctionne mais qui n'est pas la plus propre du monde.
script_time_jarvis.lua
Code : Tout sélectionner
commandArray = {}
print ("Script detection Jarvis On/Off") -- un print pour indiquer l'execution du script dans le log
local handle = io.popen("pgrep -lf jarvis.sh") --
local result = handle:read("*a") -- recupere la sortie de la commande pgrep -lf jarvis.sh
handle:close() -- le la met dans la variable result
if string.find(result,"jarvis.sh") then -- regarde si la chaine "jarvis.sh" ce trouve dans result
if otherdevices['Jarvis'] == 'Off' then -- si l'interrupteur est sur off
print ("Jarvis On")
commandArray['Jarvis']='On' -- met le sur on
end
else -- si la chaine "jarvis.sh" ne ce trouve pas dans result
if otherdevices['Jarvis'] == 'On' then -- si l'interrupteur est sur on
print ("Jarvis Off")
commandArray['Jarvis']='Off' -- met le sur off
end
end
return commandArray
Ta commande me semble plus efficace dans le traitement du retour.
Mon problème maintenant est sur l’exécution du script de Jarvis.
script_device_jarvis.lua
Code : Tout sélectionner
commandArray = {}
if (devicechanged['Jarvis']) == 'On' then
print ("jarvis On")
os.execute("/home/pi/jarvis/jarvis.sh -b")
end
return commandArray
Jarvis ne ce lance pas. Je cherche pourquoi.