first commit
This commit is contained in:
162
lua/script_device_Detection.lua
Executable file
162
lua/script_device_Detection.lua
Executable file
@@ -0,0 +1,162 @@
|
||||
require "scripts/lua/functions"
|
||||
|
||||
commandArray = {}
|
||||
|
||||
-- ------------------------------------------------------------------------------
|
||||
--recupere les minutes
|
||||
-- ------------------------------------------------------------------------------
|
||||
time=os.time()
|
||||
minutes=tonumber(os.date('%M',time))
|
||||
jour=tonumber(os.date('%w',time))
|
||||
day=tonumber(os.date('%d',time))
|
||||
|
||||
heures=tonumber(os.date('%H',time))
|
||||
heurmin= heures * 60 + minutes
|
||||
mois=tonumber(os.date('%m',time))
|
||||
|
||||
extinction = uservariables['HEURE_EXTINCTION_FEUX']
|
||||
|
||||
-- ------------------------------------------------------------------------------
|
||||
-- Derniere détection
|
||||
-- ------------------------------------------------------------------------------
|
||||
if devicechanged['Detecteur Salon'] or devicechanged['Detecteur Bureau'] then
|
||||
commandArray['Variable:DerniereDetection'] = tostring(heures)..":"..tostring(minutes)
|
||||
debug("DerniereDetection"..tostring(heures)..":"..tostring(minutes))
|
||||
end
|
||||
|
||||
-- Quelqu'un est reveillé on ouvre les volets
|
||||
if devicechanged['Detecteur Bureau'] or devicechanged['Detecteur Salon'] then
|
||||
if ((heures >= 6) and (heures <= 9))
|
||||
and otherdevices['VoletPorteSalon'] == 'Closed'
|
||||
and lastUpdateOfDevice('VoletPorteSalon') > 120
|
||||
then
|
||||
os.execute("/opt/domoticz/scripts/volets3.sh Off &")
|
||||
end
|
||||
if (heures >= 23)
|
||||
and otherdevices['VoletPorteSalon'] == 'Open'
|
||||
then
|
||||
-- os.execute("/opt/domoticz/scripts/volets2.sh On &")
|
||||
end
|
||||
end
|
||||
|
||||
-- Volets
|
||||
|
||||
-- ------------------------------------------------------------------------------
|
||||
-- Lampes allumees si presence détéctée
|
||||
-- ------------------------------------------------------------------------------
|
||||
if devicechanged['Detecteur Bureau'] or devicechanged['Detecteur Salon']
|
||||
--or devicechanged['Lux']
|
||||
or devicechanged['Presence'] or
|
||||
devicechanged['Philae'] or devicechanged['Akhesa'] or
|
||||
devicechanged['Moi'] or devicechanged['Domi'] or
|
||||
devicechanged['Theo'] or devicechanged['Manon'] or
|
||||
devicechanged['DetectionCamera1']
|
||||
--or true
|
||||
then
|
||||
print("LAMPE : test allumage lampes")
|
||||
local sunriseMin = heureEnMinute(uservariables["Lever"])
|
||||
local now = 60 * heures + minutes
|
||||
|
||||
if (otherdevices['Vacances'] == 'On' or otherdevices['Presence'] == 'Off'
|
||||
or ((mois >= 6 and mois <= 7) or (mois == 8 and day < 15))) then
|
||||
print("LAMPE : desactivation"..tostring(mois)..' '..tostring(day))
|
||||
|
||||
switchLightsIfNeeded('Off')
|
||||
elseif (otherdevices['Vacances'] == 'Off' and otherdevices['Presence'] == 'On') then
|
||||
|
||||
if (whenDark() <= 15) then -- and otherdevices['VoletPorteSalon'] == 'Open') then
|
||||
if (
|
||||
(heures >= 7 and heures <= 10 and not josdJourChome())
|
||||
or (heures >= 14 and
|
||||
(
|
||||
(heures < 22) --or (heures == 22 and minutes < 30)
|
||||
)
|
||||
)
|
||||
) then
|
||||
print("LAMPE Allumer les lampes")
|
||||
switchLightsIfNeeded('On')
|
||||
else
|
||||
if (heures > 22) or heures < 7 then
|
||||
switchLightsIfNeeded('Off')
|
||||
print("LAMPE Eteindre les lampes")
|
||||
end
|
||||
end
|
||||
else
|
||||
if (now > sunriseMin) then -- and lum > luxMini) then
|
||||
switchLightsIfNeeded('Off')
|
||||
print("LAMPE Eteindre les lampes")
|
||||
elseif (heures >= 22) or heures < 7 then
|
||||
switchLightsIfNeeded('Off')
|
||||
print("LAMPE Eteindre les lampes")
|
||||
end
|
||||
end
|
||||
else
|
||||
print("LAMPE Dans le else "..tostring(heures))
|
||||
end
|
||||
end
|
||||
|
||||
--end
|
||||
|
||||
-- ------------------------------------------------------------------------------
|
||||
-- Envoi de notification si detection en absence
|
||||
-- ------------------------------------------------------------------------------
|
||||
-- Vacances
|
||||
if devicechanged['Detecteur Salon'] and (otherdevices['Vacances'] == 'On' or otherdevices['Presence'] == 'Off') then
|
||||
debug("Detection en absence")
|
||||
commandArray['SendNotification']='Mode absence#Une presence a ete detectee pres de la tele.#0'
|
||||
end
|
||||
-- Vacances
|
||||
if devicechanged['Detecteur Bureau'] and (otherdevices['Vacances'] == 'On' or otherdevices['Presence'] == 'Off') then
|
||||
debug("Detection en absence")
|
||||
commandArray['SendNotification']='Mode absence#Une presence a ete detectee dans le bureau.#0'
|
||||
end
|
||||
|
||||
|
||||
-- ------------------------------------------------------------------------------
|
||||
-- Derniere détection
|
||||
-- ------------------------------------------------------------------------------
|
||||
if devicechanged['Detecteur Salon'] or devicechanged['Detecteur Bureau'] then
|
||||
commandArray['Variable:DerniereDetection'] = tostring(heures)..":"..tostring(minutes)
|
||||
debug("DerniereDetection"..tostring(heures)..":"..tostring(minutes))
|
||||
end
|
||||
|
||||
-- Quelqu'un est reveillé on ouvre les volets
|
||||
if false and devicechanged['Detection_Tennis'] then
|
||||
value = tonumber(otherdevices['Detection_Tennis'])
|
||||
print("nombre de Detection_Tennis="..tostring(value).." jour="..jour)
|
||||
|
||||
|
||||
heure_debut = 21
|
||||
heure_fin = 8
|
||||
if jour == 1 then
|
||||
heure_debut = 8
|
||||
end
|
||||
if jour == 2 then
|
||||
heure_debut = 21
|
||||
end
|
||||
-- Jour 3 = Mercredi
|
||||
if jour == 3 then
|
||||
heure_debut = 23
|
||||
end
|
||||
if jour == 4 then
|
||||
heure_debut = 20
|
||||
end
|
||||
if jour == 5 then
|
||||
heure_debut = 20
|
||||
end
|
||||
if jour == 6 then
|
||||
heure_debut = 19
|
||||
end
|
||||
if jour == 7 then
|
||||
heure_debut = 20
|
||||
end
|
||||
|
||||
|
||||
if (((heures >= heure_debut) or (heures <= 8)) and value > 0)
|
||||
then
|
||||
commandArray['SendNotification']='Detection présence au tennis club après 23h#Une presence a ete detectee dans le bureau http://souti56.ddns.net:8081/.#0'
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
return commandArray
|
||||
Reference in New Issue
Block a user