[LUA] Ma detection de presence
Publié : 11 août 2017, 14:50
Bonjour a tous.
Je crois que je viens de finir ma propre détection de présence. Tout du moins jusqu’où je voulais en venir. Il me restera la veille et l'intrusion, mais je n'ai pas prévu de me lancer dedans tout de suite.
Je souhaitais vous le poster ici a toute fin utile pour ceux qui comme moi, se lance a monter leur système, ainsi que dans l'optique d'avoir vos retours tant en terme de simplification qu'en terme d'ajout.
Je précise que je ne suis pas du tout développeur, que je n'ai pas trop regarder les scripts existants (vu que les besoins et les devices a dispo sont jamais les même) et que ça fait bien 6 mois que j’écris, test et modifie ce petit script.
J’espère que vous aurez des idées a me proposer:
Je crois que je viens de finir ma propre détection de présence. Tout du moins jusqu’où je voulais en venir. Il me restera la veille et l'intrusion, mais je n'ai pas prévu de me lancer dedans tout de suite.
Je souhaitais vous le poster ici a toute fin utile pour ceux qui comme moi, se lance a monter leur système, ainsi que dans l'optique d'avoir vos retours tant en terme de simplification qu'en terme d'ajout.
Je précise que je ne suis pas du tout développeur, que je n'ai pas trop regarder les scripts existants (vu que les besoins et les devices a dispo sont jamais les même) et que ça fait bien 6 mois que j’écris, test et modifie ce petit script.
J’espère que vous aurez des idées a me proposer:
Code : Tout sélectionner
commandArray = {}
dofile('/home/limabravo/domoticz/scripts/lua/modules.lua')
local debug = true -- true pour voir les logs dans la console log Dz ou false pour ne pas les voir
od = otherdevices
dc = devicechanged
uv = uservariables
vc = uservariablechanged
--Detection absence-----------------------------------------------------
--Si les deux smartphone passe OFF et qu'il y a eu ouverture des portes il y a moins de 10 min (TODO: Detection de sortie avec les motions: si porte Open et motion On dans la minute precedente= sortie)
if dc['Presence 1'] == 'Off' or dc['Presence 2'] == 'Off' and (lastSeen('Contact garage') < 600 or lastSeen('Contact entree') < 600) then
if od['Absence'] == 'Off' and od['Presence 1'] == 'Off' and od['Presence 2'] == 'Off' and od['Television'] == 'Off' and od['Contact baie'] == 'Closed' then
if od['Absence'] == 'Off' then
warn('********* Script Auto Absence: On')
commandArray['SendNotification']='Script Auto Absence#Absence: On'
-- commandArray['Security']='Armed'
switchOn('Absence')
switchOn('Camera')
end
end
end
--Detection presence------------------------------------------------------
--Presence sur tout utilisation d'appareil dans la maison (Smartphone, tele) et d'ouverture des portes en cas d'absence ON
if dc['Contact entree'] == 'Open' or dc['Contact garage'] == 'Open' or dc['Presence 1'] == 'On' or dc['Presence 2'] == 'On' or dc['Television'] == 'On' then
if od['Absence'] == 'On' then
warn('********* Script Auto Absence: Off')
commandArray['SendNotification']='Script Auto Absence#Absence: Off'
-- commandArray['Security']='Disarmed'
switchOff('Absence')
switchOff('Camera')
if od['Soleil'] == 'Off' and od['Bouton 5'] == 'Off' then
switchOn('Bouton 5')
end
end
end--[[TODO
--Detection veille-----------------------------------------------------------------------------------------------------------
--Apres 22h et pas de lumiere et pas de tele et aucune sortie depuis l'exctinction de ceux-ci et pas de mouvement
--commandArray['Security']='Armed Home'
--Detection intrusion a integré dans la detection de presence--------------------------------------------------------
--Si il y a veille et et qu'il y a ouverture des portes (Detection d'entrée avec les motions: si motion On et porte Open dans la minute precedente= entrée)
--Si il y a absence mais que les smartphones, la lumiere, la tele ou le code securté ne sont pas bon
--]]