[LUA] Ma detection de presence

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.
landaisbenj
Messages : 695
Inscription : 12 mars 2017, 19:24

[LUA] Ma detection de presence

Message par landaisbenj »

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:

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
--]]
Rpbi3b: Domoticz + Homebridge + Monit + Freebox scripts + Shellinabox; Rpbi2: Jarvis
Domoticz: Derniere stable; RFLINK: Dernière stable; Xiaomi Gateway
cyberbob
Messages : 511
Inscription : 28 nov. 2016, 19:43
Localisation : Belgique

Re: Ma detection de presence.

Message par cyberbob »

Slt,
J'ai un script Lua qui détecte ma présence avec un ping sur l'IP en wifi de ou des smartphones, sa fonctionne très bien mais comment ton script détecte t'il la présence du smartphone ?
Domoticz Stable V4.9700 sur Synology DSM 6.2 / 2 x RFlink V48.4 - 433.92MHz(Dio/Chacon) & 433.42MHz(RTS) / Script en LUA & Blocky
landaisbenj
Messages : 695
Inscription : 12 mars 2017, 19:24

Re: Ma detection de presence.

Message par landaisbenj »

cyberbob a écrit :Slt,
J'ai un script Lua qui détecte ma présence avec un ping sur l'IP en wifi de ou des smartphones, sa fonctionne très bien mais comment ton script détecte t'il la présence du smartphone ?
J'ai un script en shell sur le raspberry qui se connecte à la freebox toutes les deux minutes et qui l'interroge pour savoir si le smartphone est connecté ou non. Si il l'est, il envoi une commande pour mettre un device à On sur domoticz, si il ne l'est pas, à Off.

Au début j'ai voulu le faire en ping aussi. Mais les iphones d’Apple ne gère pas très bien les réponses au ping quand ils sont en veille. (wifi éteins ou autre en veille, le téléphone ne fais des requêtes que de temps en temps).
Comme j'ai pas voulu me prendre la tête a faire des calcul de pings et des essaies et que la freebox a toujours été bonne sur ce coup (peut être qu'ils ont les infos nécessaire d’Apple pour bien faire le job) alors j'ai adapter un des script présent sur le forum pour ça.
Rpbi3b: Domoticz + Homebridge + Monit + Freebox scripts + Shellinabox; Rpbi2: Jarvis
Domoticz: Derniere stable; RFLINK: Dernière stable; Xiaomi Gateway
jmv75013
Messages : 146
Inscription : 03 janv. 2017, 16:20

Re: Ma detection de presence.

Message par jmv75013 »

Bonjour,

Est-il possible que tu postes le script shell de connexion à la freebox ?
Merci
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: Ma detection de presence.

Message par papoo »

un tres bon script de connexion à la freebox en LUA pour la détection de présence des Iphones notamment.
c'est celui que j'utilise et qui fonctionne très bien pour moi https://sites.google.com/site/au66bis/d ... ork_status
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
landaisbenj
Messages : 695
Inscription : 12 mars 2017, 19:24

Re: Ma detection de presence.

Message par landaisbenj »

jmv75013 a écrit :Bonjour,

Est-il possible que tu postes le script shell de connexion à la freebox ?
Merci
Moi j'ai utilisé ce lien sur le forum. Il y a deux script un pour la récupération du token et des ID et l'autre pour faire les requêtes et mettre a jour domoticz.

En dernière page j'ai posté mes modifs pour récupérer le statu des téléphones. En y reflechissant je pense que je vais voir pour modifier les parametres de la freebox suivant domoticz (fermer ou ouvrir les ports de domoticz si je suis a la maison ou pas par exemple) (je ne sais pas si la freebox accepte les modif via json?)
Rpbi3b: Domoticz + Homebridge + Monit + Freebox scripts + Shellinabox; Rpbi2: Jarvis
Domoticz: Derniere stable; RFLINK: Dernière stable; Xiaomi Gateway
jmv75013
Messages : 146
Inscription : 03 janv. 2017, 16:20

Re: Ma detection de presence.

Message par jmv75013 »

Bonjour,

Merci à vous deux pour les liens.
Répondre