Page 1 sur 1

LUA / Allumer une lampe pour x minute

Publié : 27 janv. 2019, 22:39
par domoboy
Hello,

J'ai un soucis avec sur un script LUA. J'ai eu beau chercher sur le Forum mais je n'ai pas trouvé de solution, alors je me décide à poster.

Ce que je veux faire est simple:

Alumer une lampe pour 1 minute si detection par le capteur de présence.

Code : Tout sélectionner

commandArray = {}
if (devicechanged['Bureau.PIR'] == 'On') and otherdevices['DUMMY'] == 'On' then
                print('Presence dans le bureau detectee')
                commandArray['Bureau.Prise.3 (Lampadaire)'] = 'On FOR 1'
end
return commandArray
Le script fonctionne bien si la lampe est OFF et s'il n'y pas pas de nouvelle detection par le PIR dans la minute au bout d'une minute je vois dans les log que le OFF est envoyé et la lampe s'éteint bien.

En revanche, s'il y a une nouvelle detection durant la minute de temporisation, au bout d'une minute le RF LINK envoie un nouveau ON pour une raison que j'ignore.

Merci de vos lumières :)

Re: LUA / Allumer une lampe pour x minute

Publié : 28 janv. 2019, 09:38
par vil1driver
Salut,

FOR signifie, revenir à l'état précédent et non l'état inverse.

Préférer l'usage de AFTER

Re: LUA / Allumer une lampe pour x minute

Publié : 28 janv. 2019, 11:30
par totof60

Code : Tout sélectionner

commandArray['Bureau.Prise.3 (Lampadaire)'] = 'On'
 commandArray['Bureau.Prise.3 (Lampadaire)'] =  ='Off AFTER 60' }

Re: LUA / Allumer une lampe pour x minute

Publié : 28 janv. 2019, 14:32
par vil1driver
Presque ;)
Revoir syntaxe (ou re lecture) et wiki pour commandes multiples d'un même device

Re: LUA / Allumer une lampe pour x minute

Publié : 28 janv. 2019, 21:03
par domoboy
Merci pour l'astuce, la syntaxe est :

Code : Tout sélectionner

commandArray[1]= {['Bureau.Prise.3 (Lampadaire)'] = 'On'}
commandArray[2]= {['Bureau.Prise.3 (Lampadaire)'] = 'Off AFTER 60'}

Re: LUA / Allumer une lampe pour x minute

Publié : 28 janv. 2019, 21:12
par vil1driver
;)

Re: LUA / Allumer une lampe pour x minute

Publié : 29 janv. 2019, 08:54
par totof60
Rhoooo les copier coller !!!! :oops:

Code : Tout sélectionner

    commandArray[#commandArray + 1] = {['Bureau.Prise.3 (Lampadaire)'] = 'On' }
    commandArray[#commandArray + 1] = {['Bureau.Prise.3 (Lampadaire)'] = 'Off AFTER 60' }