script LUA pour périphérique ON/OFF

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 <\>.
valdoison
Messages : 161
Inscription : 17 oct. 2014, 14:59

script LUA pour périphérique ON/OFF

Message 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
Domoticz sur serveur UBUNTU 18.04 - Controleur Zwave+ - 7 detecteurs FGMS 001 - 1 télécommande NODON - 1 sirene SE812 - 3 modules AN157 - 1 detecteur ST814 - 1 vanne danfoss LC13 - 1 detecteur de fumée SF812
mike913
Messages : 159
Inscription : 18 oct. 2014, 10:22
Localisation : Morsang / Orge - Essonne
Contact :

Re: script LUA pour périphérique ON/OFF

Message 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
DS718+ 2 x 3To(SHR) - Firmware: DSM 7.0.1-42218
DS712+ 2 x 4To (SHR) - Firmware: DSM 6.2.4-25556
Raspberry - RFXTRX433 - Aeon Labs ZStick V2 - Domoticz
FreeBox Delta
https://meteo.folcke.net
https://wiki.folcke.net
valdoison
Messages : 161
Inscription : 17 oct. 2014, 14:59

Re: script LUA pour périphérique ON/OFF

Message 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?
Domoticz sur serveur UBUNTU 18.04 - Controleur Zwave+ - 7 detecteurs FGMS 001 - 1 télécommande NODON - 1 sirene SE812 - 3 modules AN157 - 1 detecteur ST814 - 1 vanne danfoss LC13 - 1 detecteur de fumée SF812
mike913
Messages : 159
Inscription : 18 oct. 2014, 10:22
Localisation : Morsang / Orge - Essonne
Contact :

Re: script LUA pour périphérique ON/OFF

Message 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".
DS718+ 2 x 3To(SHR) - Firmware: DSM 7.0.1-42218
DS712+ 2 x 4To (SHR) - Firmware: DSM 6.2.4-25556
Raspberry - RFXTRX433 - Aeon Labs ZStick V2 - Domoticz
FreeBox Delta
https://meteo.folcke.net
https://wiki.folcke.net
valdoison
Messages : 161
Inscription : 17 oct. 2014, 14:59

Re: script LUA pour périphérique ON/OFF

Message 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....
Domoticz sur serveur UBUNTU 18.04 - Controleur Zwave+ - 7 detecteurs FGMS 001 - 1 télécommande NODON - 1 sirene SE812 - 3 modules AN157 - 1 detecteur ST814 - 1 vanne danfoss LC13 - 1 detecteur de fumée SF812
mike913
Messages : 159
Inscription : 18 oct. 2014, 10:22
Localisation : Morsang / Orge - Essonne
Contact :

Re: script LUA pour périphérique ON/OFF

Message 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.
DS718+ 2 x 3To(SHR) - Firmware: DSM 7.0.1-42218
DS712+ 2 x 4To (SHR) - Firmware: DSM 6.2.4-25556
Raspberry - RFXTRX433 - Aeon Labs ZStick V2 - Domoticz
FreeBox Delta
https://meteo.folcke.net
https://wiki.folcke.net
valdoison
Messages : 161
Inscription : 17 oct. 2014, 14:59

Re: script LUA pour périphérique ON/OFF

Message 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 ".
Domoticz sur serveur UBUNTU 18.04 - Controleur Zwave+ - 7 detecteurs FGMS 001 - 1 télécommande NODON - 1 sirene SE812 - 3 modules AN157 - 1 detecteur ST814 - 1 vanne danfoss LC13 - 1 detecteur de fumée SF812
patrice
Messages : 1720
Inscription : 22 sept. 2014, 21:51

Re: script LUA pour périphérique ON/OFF

Message par patrice »

Hi everybody

Dans un "Action ON" , "Action off" on peut lancer un script lua,shell, perl,pytho, php, r, matlab
la preuve
Image

Puisque ma boite à lettre m'envoie un tweet par ce moyen la
Raspberry pi 3, Dongle RfxCom et Zigate +, plugin de pipiche, Volets Roulants profalux, contrôle d'éclairage, détecteurs de présence, alarme incendie, pilotage livebox ...
Objectif : WAF > 1
valdoison
Messages : 161
Inscription : 17 oct. 2014, 14:59

Re: script LUA pour périphérique ON/OFF

Message par valdoison »

ton script boite_a_lettre est écrit dans quel langage?
Domoticz sur serveur UBUNTU 18.04 - Controleur Zwave+ - 7 detecteurs FGMS 001 - 1 télécommande NODON - 1 sirene SE812 - 3 modules AN157 - 1 detecteur ST814 - 1 vanne danfoss LC13 - 1 detecteur de fumée SF812
patrice
Messages : 1720
Inscription : 22 sept. 2014, 21:51

Re: script LUA pour périphérique ON/OFF

Message par patrice »

ben en l'occurence shell bash
mais à mon avis si tu appelles xxx.lua ca devrait aller
Raspberry pi 3, Dongle RfxCom et Zigate +, plugin de pipiche, Volets Roulants profalux, contrôle d'éclairage, détecteurs de présence, alarme incendie, pilotage livebox ...
Objectif : WAF > 1
Répondre