Page 1 sur 2
script LUA pour périphérique ON/OFF
Publié : 20 oct. 2014, 17:31
par valdoison
bonjour,
c'est un peu comme le sujet "Script pour allumer une prise radio".
J'ai crée un script en LUA "test.lua" avec des droits 777 que j'ai enregistré dans "~/domoticz/scripts/lua".
Dans mon périphérique ON/OFF j'ai ajouté dans "action on" le chemin suivant "script://home/michel/domoticz/scripts/lua/test.lua".
Mais lorsque je fais passer mon périphérique de OFF à ON le script ne s’exécute pas.
Je soupçonne le fait qu'il ne trouve pas le logiciel LUA pour se lancer.
est-ce la bonne méthode?
Cordialement
Re: script LUA pour périphérique ON/OFF
Publié : 20 oct. 2014, 18:08
par mike913
Bonjour,
Les scripts lua doivent impérativement se trouver dans dans "~/domoticz/scripts/lua/" et le nom doit être de la forme: script_device_
NOM.lua et il n' est pas utile de les inclurent dans "action on".
Voici un exemple de script pour allumer une lumière quand une personne entre dans la pièce et que la lumière est insuffisante.
Code : Tout sélectionner
-- Allumage Lumière Entree.
commandArray = {}
if (devicechanged['Presence Entree'] == 'On' and otherdevices['Lumiere Entree'] == 'Off' and (tonumber(otherdevices_svalues['Sensor Entree']) < 30)) then
commandArray['Lumiere Entree']='On'
print('Script Entree: ####################### Allumage ' .. otherdevices_svalues['Sensor Entree'].. ' Lux')
end
if (devicechanged['Presence Entree'] == 'Off' and otherdevices['Lumiere Entree'] == 'On') then
commandArray['Lumiere Entree']='Off'
print('Script Entree: ####################### Extinction '.. otherdevices_svalues['Sensor Entree'] .. ' Lux')
end
return commandArray
Re: script LUA pour périphérique ON/OFF
Publié : 20 oct. 2014, 18:39
par valdoison
Merci pour la réponse qui me soulève une nouvelle question.
J'ai un script du type "script_time_xxx.lua" qui s’exécute toutes les minutes et qui, entre autre, change l'état d'un périphérique.
Si je crée un script du type "script_device_yyy.lua", la modification du périphérique dans le premier script va t'elle entrainer le lancement du second script?
Re: script LUA pour périphérique ON/OFF
Publié : 20 oct. 2014, 19:45
par mike913
Et bien ça dépend des périphériques concernés.
Si le périphérique concerné par le script: " script_device_yyy.lua" l'est aussi par "script_time_xxx.lua".
Je n' ai pas encore utilisé un script de type; "script_time_xxx.lua".
Re: script LUA pour périphérique ON/OFF
Publié : 21 oct. 2014, 15:33
par valdoison
Je confirme.
Même si un périphérique n'est pas concerné par un script type "script_device_www.lua", le fais de modifier ce périphérique dans un script type "script_time-xxx.lua" lance tous les scripts "script_device_www.lua.
C'est un peu dommage, mais bon il y a peut-être plus important.
C'est pour cela que je pensais lancer mes scripts depuis "action on" car cela évitait de créer des scripts type "device" lorsque l'on a des scripts "time'.
Mais je n'arrive pas à les faire fonctionner....
Re: script LUA pour périphérique ON/OFF
Publié : 21 oct. 2014, 16:03
par mike913
Bonjour,
un script "script_device_XXX.lua" est toujours en action: il s'exécute lors du changement d' état d'un device.
"action on" et "action off" servent pour lancer des requêtes HTTP ou pour exécuter des scripts #! /bin/sh.
Explique nous ce que tu veux faire.
Re: script LUA pour périphérique ON/OFF
Publié : 21 oct. 2014, 17:22
par valdoison
Je voulais ne pas créer de "script_device_xxx.lua" pour éviter qu'ils soient lancés à chaque changement de position d'un périphérique dans un script "script_time_xxx.lua".
Mais, si je comprend bien, par "action on" on ne peut pas lancer de script en LUA.
C'est plus facile de modifier les états des périphériques en LUA qu'avec des requêtes HTTP ou des scripts en shell.
Je vais donc en revenir aux scripts "device".
Ou alors il y a peut-être une adaptation à faire dans DOMOTICZ pour lancer des .lua à partir de "action on ".
Re: script LUA pour périphérique ON/OFF
Publié : 21 oct. 2014, 17:33
par patrice
Hi everybody
Dans un "Action ON" , "Action off" on peut lancer un script lua,shell, perl,pytho, php, r, matlab
la preuve
Puisque ma boite à lettre m'envoie un tweet par ce moyen la
Re: script LUA pour périphérique ON/OFF
Publié : 21 oct. 2014, 18:07
par valdoison
ton script boite_a_lettre est écrit dans quel langage?
Re: script LUA pour périphérique ON/OFF
Publié : 21 oct. 2014, 18:23
par patrice
ben en l'occurence shell bash
mais à mon avis si tu appelles xxx.lua ca devrait aller