LUA / Allumer une lampe pour x minute

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 <\>.
domoboy
Messages : 5
Inscription : 27 janv. 2019, 22:31

LUA / Allumer une lampe pour x minute

Message 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 :)
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: LUA / Allumer une lampe pour x minute

Message par vil1driver »

Salut,

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

Préférer l'usage de AFTER
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
totof60
Messages : 373
Inscription : 29 avr. 2016, 09:31

Re: LUA / Allumer une lampe pour x minute

Message par totof60 »

Code : Tout sélectionner

commandArray['Bureau.Prise.3 (Lampadaire)'] = 'On'
 commandArray['Bureau.Prise.3 (Lampadaire)'] =  ='Off AFTER 60' }
Domoticz V2022.2
sous Buster, Homebridge,RfLink
Raspberry pi3, Google home mini
plein de truc wifi !! de l'esp-01 jusque le nodemcu en passant par le wemos et même du DIY
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: LUA / Allumer une lampe pour x minute

Message par vil1driver »

Presque ;)
Revoir syntaxe (ou re lecture) et wiki pour commandes multiples d'un même device
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
domoboy
Messages : 5
Inscription : 27 janv. 2019, 22:31

Re: LUA / Allumer une lampe pour x minute

Message 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'}
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: LUA / Allumer une lampe pour x minute

Message par vil1driver »

;)
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
totof60
Messages : 373
Inscription : 29 avr. 2016, 09:31

Re: LUA / Allumer une lampe pour x minute

Message 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' }
Domoticz V2022.2
sous Buster, Homebridge,RfLink
Raspberry pi3, Google home mini
plein de truc wifi !! de l'esp-01 jusque le nodemcu en passant par le wemos et même du DIY
Répondre