[LUA] Allumage des lumieres aprés d'esactivation de l'alarme la nuit

Vous avez créé un script LUA dont vous êtes fier, un .sh génial, un programme Python hors du commun, un Tuto, c'est ici que vous pouvez les partager.
deennoo
Messages : 4036
Inscription : 25 janv. 2015, 02:00

[LUA] Allumage des lumieres aprés d'esactivation de l'alarme la nuit

Message par deennoo »

Voici un script qui va vous permettre d'allumer automatiquement des eclairages a l'ouverture d'une porte si :

- Vous avez desactivé l'alarme depuis moins de 10 Minutes
- la luminosité exterieur est inferieur a 300 lux (ce qui chez moi fait des pieces sombres et peu acceuillante pour le petit qui bloque sur : il fait nuit...

Code : Tout sélectionner

-- chargement des modules pour Speedup Domoticz
package.path = package.path..";/home/nico/domoticz/scripts/lua/?.lua" -- attention de bien mettre VOTRE chemin vers le fichier
require "modules"


--recuperation de luminositée exter qui vient du script de JML
Lux = otherdevices_svalues['Luminosite Exterieur']:match("([^;]+)")
Lux = tonumber(Lux)

--depuis combien de temps l'alarme est eteinte
t1 = os.time()
s = otherdevices_lastupdate['Alarme']

-- 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 = {}

--time difference
t2 = os.time{year=year, month=month, day=day, hour=hour, min=minutes, sec=seconds}
difference = (os.difftime (t1, t2))

--enelever les tiré ci dessous pour voir les valeurs dans les logs
--print('anneee : '..year)
--print('month : '..month)
--print('day : '..day)
--print('hour : '..hour)
--print('minutes : '..minutes)
--print('seconds : '..seconds)
--print('t1 : '..t1)
--print('t2 : '..t2)
--print('s : '..s)
--print('difference : '..difference)

--Alarme = le nom de mon interrupteur conditionnel pour l alarme
--Porte escalier etage = capteur d'ouverture de porte
--les valeurs avant et aprés difference sont en secondes

if ((otherdevices['Alarme'] == 'Off' and difference > 5 and difference < 600) and (devicechanged['Porte escalier etage'] and Lux <= 300)) then
    
     --allumage via le module Speedup Domoticz
 	 switchOn('Appliques',95)
 	 switchOn('Eclairage Cuisine')
 	 switchOn('Lumiere Salon')

end

return commandArray
De quoi se faire Plaisir et essayer d'aider...
http://www.domo-attitude.fr
Répondre