magic_281 Posté(e) le 14 octobre 2014 Signaler Posté(e) le 14 octobre 2014 Bonjour, sur la présentation du motion sensor il y a ca: mais comment programmer ca en LUA? (car avec les blocs c'est impossible) De même recevoir un push sur le portable qui pose cette question serait pas mal, mais je ne pense pas qu'on ait la possibilité de répondre directement au push? du genre "dois-je armer l'alarme" "oui" "non" Merci pour votre aide!
Orups Posté(e) le 16 octobre 2014 Signaler Posté(e) le 16 octobre 2014 Bonjour,Je débute mais en réfléchissant il me semble que la solution doit tourner autour de quelque chose comme ça : --[[ %% properties %% globals --]] local detecteurMouvement = 20 -- Id du détecteur -- Pour faciliter le calcul on dira que cela vaut 15*60 local tempsAttenteSansMvt = fibaro:getGlobalValue('delaiAttenteSansMvt') local cumulTemps = 0 -- La variable qui va nous permettre de compter le temps attendu -- Etre certain que la scène est bien déclenchée depuis le détecteur de présence. local trigger = fibaro:getSourceTrigger() if (trigger['type'] ~= 'property') then fibaro:abort() end -- Une seule instance de la scène if (fibaro:countScenes() > 1) then fibaro:abort() end repeat mouvement = (tonumber(fibaro:getValue(detecteurMouvement, 'value')) > 0) if(mouvement) then cumulTemps = 0 end -- Laisser un peu de temps au processeur fibaro:sleep(10) cumulTemps = cumulTemps + 10 until cumulTemps >= tempsAttenteSansMvt -- Se sont déroulées 15 minutes, on démarre la scène départ d'id 16 par exemple fibaro:startScene(16) A tester...
Steven Posté(e) le 17 octobre 2014 Signaler Posté(e) le 17 octobre 2014 Plus simple, mais j'ai bien aimé ton code : local id_detecteur = 20 local tempsAttenteSansMvt = fibaro:getGlobalValue('delaiAttenteSansMvt') while (os.time() - tonumber(fibaro:getValue(id_detecteur, "lastBreached")) < (tempsAttenteSansMvt * 60)) do fibaro:sleep(1000) end fibaro:startScene(16) Pour un détecteur de mouvement, on peut se basé sur la date de la dernière détection (OU sur la date du dernier changement de valeur ET la valeur) On peut aussi espacer le temps entre 2 vérification 10 à 1000 car un détecteur reste en mode "détection" entre 2 et 12 secondes.
magic_281 Posté(e) le 17 octobre 2014 Auteur Signaler Posté(e) le 17 octobre 2014 super! merci beaucoup pour votre aide, je vais regarder pour implémenter ca ce week end...
Nico33 Posté(e) le 17 octobre 2014 Signaler Posté(e) le 17 octobre 2014 Je m'attendais àune réponse du genre : Mais GEA fait ça !!!! Que se passe-t-il Steven ?
Steven Posté(e) le 17 octobre 2014 Signaler Posté(e) le 17 octobre 2014 Ben, il n'y a pas que GEA dans la vie Mais c'est vrai que GEA fait cela ... et en une simple ligne -- Si pas de détection pendant 15 minutes, on lance le scénario 46 GEA.add(<id_detecteur>, 15*60, "Activation de l'alarme", {{"Inverse"}, {"Scene", 46}}) Mais bon, on est pas obligé de pourrir la vie des gens avec ce magnifique script
Orups Posté(e) le 18 octobre 2014 Signaler Posté(e) le 18 octobre 2014 Bonjour C'est quoi GEA ? Je profite de ce poste pour une autre question en rapport avec le motion sensor. Comment fait on pour le désactiver ? Je précise. J'entre dans une pièce, je suis detecté, la lumière s'allume mais comme je veux observer les étoiles je veux éteindre et pouvoir bouger sans que le détecteur rallume ? MErci
magic_281 Posté(e) le 18 octobre 2014 Auteur Signaler Posté(e) le 18 octobre 2014 Ah mais j ai ton gea sur mon hc2 Steven! Va falloir que je l étudie d un peu plus près alors
Messages recommandés