je travail dans la domotique (mais pour les entreprises et avec des logiciels spécifiques CRESTRON http://www.crestron.com et EXTRON) donc j'aimerai bien faire mes scripts en lua.
Blocky est bien mais trop limité.
il suffit de connaitre le fonctionnement général, et après, on peut faire beaucoup de chose sympa.
j'ai réussi à faire ce que je voulais.
ça fonctionne, mais j'ai quand même deux questions.
- comment faire pour que le script se lance seulement si il y a un changement d'état sur les GPIO ?
car pour le moment, j'ai mis mon script en "device", et il démarre tout le temps.
- juste pour savoir même si ça ne sert a rien dans ce cas, pourquoi si je remplace les 2 if par
if (devicechanged['GPIO25'] == 'Closed' and uservariables['EDF_coupure_mail_ok'] == '0') then ...
et
if (devicechanged['GPIO25 EDF'] == 'Open' and uservariables['EDF_retablissement_mail_ok'] == '0') then ...
ça ne fonctionne plus. alors que mes variables ont bien la bonne valeur et que je n'ai pas d'erreur dans le log.
Code : Tout sélectionner
-- titre du fichier: script_device_coupure_EDF.lua
-- Ce script vérifie la présence du 3.3volt sur le GPIO25.
-- Un mail est envoyé une fois si la tension est coupé.
-- Un mail est envoyé une fois si la tension est rétabli.
commandArray = {}
print('Le Script EDF2 a démarré')
if (devicechanged['GPIO25 EDF'] == 'Closed' and uservariables['EDF_coupure_mail_ok'] == '0') then
commandArray['SendEmail']='Coupure EDF maison#il y une coupure EDF à la maison#toto.guillaume@gmail.com'
commandArray['Variable:EDF_coupure_mail_ok']='1'
commandArray['Variable:EDF_retablissement_mail_ok']='0'
print('Le mail coupure EDF a été envoyé ')
end
if (devicechanged['GPIO25 EDF'] == 'Open' and uservariables['EDF_retablissement_mail_ok'] == '0') then
commandArray['SendEmail']='Rétablissement EDF maison #Le courant a été retabli à la maison#toto.guillaume@gmail.com'
commandArray['Variable:EDF_coupure_mail_ok']='0'
commandArray['Variable:EDF_retablissement_mail_ok']='1'
print('Le mail rétablissement EDF a été envoyé ')
end
return commandArray[code]Merci par avance.
voici le script qui fonctionne :
Code : Tout sélectionner
-- titre du fichier: script_device_coupure_EDF.lua
-- Ce script vérifie la présence du 3.3volt sur le GPIO25.
-- Un mail est envoyé une fois si la tension est coupé.
-- Un mail est envoyé une fois si la tension est rétabli.
commandArray = {}
print('Le Script EDF a démarré')
if (devicechanged['GPIO25 EDF'] == 'Closed') then
commandArray['SendEmail']='Coupure EDF maison#il y une coupure EDF à la maison#toto.guillaume@gmail.com'
print('Le mail coupure EDF a été envoyé ')
end
if (devicechanged['GPIO25 EDF'] == 'Open') then
commandArray['SendEmail']='Rétablissement EDF maison #Le courant a été retabli à la maison#toto.guillaume@gmail.com'
print('Le mail rétablissement EDF a été envoyé ')
end
return commandArray
