Page 1 sur 1

Allumer une lampe avec la sonnette

Publié : 01 juin 2017, 14:40
par brunojus74
Bonjour,
Je me lance un script lua simple et pourtant j'ai un problème.
Je voudrai allumer une lampe pendant une durée définie (3 minutes) lorsque l'on sonne à la porte.

Voilà ce que j'ai essayé de faire et qui ne fonctionne pas.

**************************
-- script_device_Sonnette.lua
-- **************************
-- ***************
-- mes dispositifs
-- ***************
-- Sonnette Type : lighting 2, AC, Doorbell
-- L. Entrée Type : lighting 2, AC On/Off
-- C'estla nuit Type : lighting 2, AC, On/Off
--********
-- Souhait
-- *******
-- Je voudrai simplement que la lampe Entrée s'éclaire pendant un laps de temps de 5 minutes
-- à condition que ce soit la nuit
-- *********************
-- Variables utilisateur
-- *********************
Local Sonnette = 'Sonnette'
Local Lumière = 'L. Entrée'
Local Nuit = 'C'est la Nuit'
-- ******************
-- début du programme
-- ******************
commandArray = {}
if (devicechanged[Sonnette]) and (otherdevices[Nuit]=='On') then
commandArray[Lumière]='On'
end
return commandArray


Pour info je ne suis pas informaticien et débutant en Domoticz

Merci d'avance

Re: Allumer une lampe avec la sonnette

Publié : 02 juin 2017, 10:00
par vil1driver
salut,

Code : Tout sélectionner

commandArray[Lumière]='On FOR 5'
https://www.domoticz.com/wiki/Events

Re: Allumer une lampe avec la sonnette

Publié : 03 juin 2017, 10:13
par brunojus74
Merci

Re: Allumer une lampe avec la sonnette

Publié : 04 juin 2017, 19:27
par Neutrino

Code : Tout sélectionner

Local Nuit = 'C'est la Nuit'
ça ne peut pas marcher, l'apostrophe est interpréter comme la fin de la chaîne.
Remplace par

Code : Tout sélectionner

Local Nuit = "C'est la Nuit"

Re: Allumer une lampe avec la sonnette

Publié : 05 juin 2017, 03:44
par brunojus74
Merci,
Je me suis aperçu de l'erreur et j'ai modifier tous mes inters dans Domoticz en supprimant les espaces et apostrophes.

Et ensuite j'ai fait (plutôt pomper...) 2 scripts :
- 1 device pour allumer la lampe
- 1 time pour éteindre la lampe
car en mettant comme le suggère Vil1driver cela ne fonctionne pas.

Merci à tous



-- **************************************************************************
-- script_device Sonnette
-- Allumage de la lampe extérieur lorsque quelqu'un sonne et s'il fait nuit
-- **************************************************************************
-- Programme pour allumage
-- ********************************
commandArray = {}
if (devicechanged['Sonnette']) and ( otherdevices['Il_Fait_Nuit'] == 'On') then
commandArray['L_Extérieure']='On'
end
return commandArray



-- **************************************************************************
-- script_time Sonnette
-- Allumage de la lampe extérieure lorsque quelqu'un sonne et qu'il fait nuit
-- **************************************************************************
-- Variables utilisateur
-- **********************
-- script_time_entreenuitallumagelampe.lua
t1 = os.time()
s = otherdevices_lastupdate['L_Extérieure']
-- returns a date time like 2013-07-11 17:23:12
year = string.sub(s, 1, 4)
month = string.sub(s, 6, 7)
day = string.sub(s, 9, 10)
hour = string.sub(s, 12, 13)
minutes = string.sub(s, 15, 16)
seconds = string.sub(s, 18, 19)

commandArray = {}
t2 = os.time{year=year, month=month, day=day, hour=hour, min=minutes, sec=seconds}
difference = (os.difftime (t1, t2))
if (otherdevices['L_Extérieure'] == 'On' and difference > 60 ) then
commandArray['L_Extérieure']='Off'
print('Lampe éteinte')
end
return commandArray