Aller au contenu

Recommended Posts

------------------------------------------------------------------------------------------

[ EDIT: finalement j'abandonne le déverrouillage, par contre le verrouillage reste intéressant en fonction des situations de la vie courante,

avec, bien sûr, une parfaite maitrise, sinon risque de mauvaises surprises :)

------------------------------------------------------------------------------------------

bonjour, 

 

Je souhaite un verrouillage de la serrure si et seulement si la porte d’entrée n’a pas été ouverte alors que le portail s’est refermé.  

Je m’explique, c’est plutôt complexe comme configuration et explication

L’alarme est activée, la porte d’entrée fermée et verrouillée, le portail fermé,

Madame rentre à la maison pour déposer sa voiture et aller chercher le petit à pied,

De ce fait, lorsqu’elle rentre à la maison, elle ouvre le portail,

A l’ouverture du portail, l’alarme se désactive et la porte d’entrée de la maison se déverrouille

Et c’est là que ça se complique, car elle ne va pas rentrer dans la maison, puisqu’elle sort de son véhicule pour passer le portail et aller chercher le petit à pied, donc la porte d’entrée est déverrouillée.

Si jusque-là vous m’avez suivi, alors c’est presque gagné J

L’idée serait qu’elle referme le portail derrière elle et ainsi, la serrure de la porte d’entrée se verrouille

Pour cela il faut réunir les conditions suivantes :

L’arrivée de madame a provoqué

 L’ouverture du portail, le déverrouillage de la serrure de porte, l’alarme a été désactivée, la porte d’entrée (l’ouvrant) fermé et est resté fermé, le portail a été refermé, cela pdt une durée de x sec, alors re verrouillage de la porte d’entrée.

Comment articuler cela en GEA?

merci

 

ci dessous, une partie du code, pour les entrées et sorties en tps normal

 

-- Si Alarme activée et portail fermé  alors ouverture portail "Alarme Activée Ouverture Portail"
  GEA.add({{"Value",id["ALARMESTATUT"],0},{"Value",id["STATUTPORTAIL"],0}}, -1 ,"", {{"turnOn", id["OPENPORTAIL"]}})

  -- ICI nous allons passer la variable "AlarmActiv" à ON si alarme activée depuis 5sec,
   -- Si statutalarme Activée , tempo de 5 secs, puis variable AlarmActiv = 1 (ON), "2eme essai ds 5sec si portail ne bouge pas"
GEA.add({{"Value",id["ALARMESTATUT"],0}}, -1, "", {{"Function", function() fibaro:sleep(5000) end}, {"Global", "AlarmActiv", "ON"}})

  --ICI nous nous servons de la valeur de la variable "AlarmActiv" pour s'assurer que le portail s'est bien ouvert sur activation de l'alarme, la verification à donc lieu 5sec apres
  -- Si Variable AlarmeActiv = ON et (supprimé=Moteur Portail à l'arret), et Portail fermé, alors ouverture portail
 GEA.add({{"Global", "AlarmActiv", "ON"},{"Value",id["STATUTPORTAIL"],0}}, -1 ,"lancement du 2eme essaie ouverture portail sur activation alarme", {{"turnOn", id["OPENPORTAIL"]}})



--1eme Controle, ici on verifie par un 1eme test que l'alarme est desactivée
-- si portail en MOUV d'ouverture et Alarme activée par variable, alors desactivation alarme et on déverrouille la porte d'entrée
 GEA.add({{"Value",id["MOUVOPEN"],0},{"Global","StatutAlarme","1"}}, -1 ,"Desactivation Alarme et déverrouille serrure",{{"turnOn", id["ALARMEACT"]},{"VirtualDevice",id["VD_TK"],2}})
--2eme Controle
  -- si PIR CARPORT s'active que l'alarme est activée, Alarme activée par variable,et portail ouvert et  Flo Absente(VG) ou Alex Absent(VG) alors Desactiver Alarme
GEA.add({id["PIR_CARPORT"],{"Value",id["ALARMESTATUT"],0},{"Global","StatutAlarme","1"},{"Value",id["STATUTPORTAIL"],1},{"Global","Phone_Flo","Absent"},{"Global","Phone_Alex","Absent"}}, -1 , "2eme controle desactivation alarme", {{"turnOn", id["ALARMEACT"]}})

  -- Chargement des Variables

  -- ICI Nous avons une variable "statutAlarme" qui va servir a dire que l'alarme est bien activée avec le portail fermé
-- si alarme activée et portail fermé depuis 1*60 sec alors variable Phone_Flo = "Absent" et phone Alex = "Absent" et variable StatutAlarme = 1 et verrouillage de la serrure porte d'entree
GEA.add({{"Value",id["ALARMESTATUT"],0},{"Value",id["STATUTPORTAIL"],0}},1*60 ,"" ,{{"Global","Phone_Flo","Absent"},{"Global","Phone_Alex","Absent"},{"Global","StatutAlarme","1"},{"VirtualDevice",id["VD_TK"],3}})
-- si alarme desactivée alors variable StatutAlarme = 0 et variable Phone_Flo = "Present" et phone Alex = "Present" et "AlarmActiv" = "OFF" et RUBAN ROUGE à OFF
GEA.add({"Value", id["ALARMESTATUT"],1}, -1 ,"" ,{{"Global","StatutAlarme","0"},{"Global","Phone_Flo","Present"},{"Global","Phone_Alex","Present"},{"Global", "AlarmActiv", "OFF"},{"VirtualDevice",id["VD_RUBANROUGE"],9}})

Statut de L’ouvrant de la porte est id402

Statut de la serrure id465

Statut du portail : STATUTPORTAIL

Statut alarme : ALARMESTATUT

Modifié par flamalex

Partager ce message


Lien à poster
Partager sur d’autres sites

perso, confier à ma box le déverrouillage automatique de mes portes et de l'alarme, c'est dangereux !

Tu imagin, si un voleur ouvre ton portail, et c'est l'autoroute ensuite pour lui

Partager ce message


Lien à poster
Partager sur d’autres sites

qu'il y ait un auto:atisme pour fermer la porte à clé si l'alarme est mise, ok mais pas le contraire !

La domotique, c'est pour facilité TA vie, pas celle des voleurs ...

  • Haha 1

Partager ce message


Lien à poster
Partager sur d’autres sites

lol oui

encore faut il que le voleur fasse tourner le moteur electiquement dans le sens d’ouverture. j’ai fabriqué (avec l’aide de Nikko) un capteur de rotation moteur avec optocoupleur, le MOUVOPEN.

c’est le scetch de la chauve souris de bigard

https://m.youtube.com/watch?v=wi7FTnxC78w

 

Modifié par flamalex
  • Haha 1

Partager ce message


Lien à poster
Partager sur d’autres sites

lol

mais tu as raison

en revanche ca pourrait me servir en cas d’oublie de verrouillage dans la mm configuration

madame deverouille, saisie un parapluie (rappel: nous sommes ds le Nord), et oublie de verrouiller

elle aura alors ouvert la porte puis fermé sans verrouiller

 

ps: ya rien a voler chez moi, a part la hc2, mais personne n’en veut :D

ok, j’arrete :)

Modifié par flamalex

Partager ce message


Lien à poster
Partager sur d’autres sites

tout compte fait, ok pour verrouiller, mais je n'appliquerai pas le déverrouillage dans la domotique. (.........sage décision... :) lol )

il m'est arriver d'ouvrir le portail à distance, pour qu'un livreur dépose marchandise dans la cours, et donc ça devient chaud, même si en déplacement 2 autres serrures sur la mm porte sont verrouillées (sans automatisme).

vivement la reconnaissance faciale devant la porte, va encore falloir coller un iphone sur le mur:P

 

hors sujet:

la détection de présence pourrait être utile en attendant une reconnaissance faciale pour déverrouiller

mais j'ai toujours un problème avec la détection de présence par wifi

j'ai toujours ceci dans le debug

 

[DEBUG] 06:12:52: 192.168.1.189 62078
[DEBUG] 06:12:52: 2

alors que je devrais avoir 0 à la place de 2

j'ai essayé en modifiant l'utilisateur login dans l'appli, mais rien n'y fait,

c'est aléatoire, de tps en tps j'ai 0 (ça fonctionne) et d'autre 2

 

et enfin, 2eme hors sujet, je vais peut être ouvrir un topic B)

toujours pour déverrouiller, mais cette fois d'un widget sur l'iphone

problème de "communication error" lorsque mon IP dans l'appli fibaro est mon DDNS synology.me

par contre si je remplace par mon ip local en étant en wifi dans la maison, ça fonctionne.

IMG_20171220_062958.thumb.jpg.2a9204ad8890b7759268e79d2152b216.jpg

Modifié par flamalex

Partager ce message


Lien à poster
Partager sur d’autres sites

@flamalex

Ah ouais, petite scene de vie ;-). Je suis 'accord avec @jojo, le deverouillage de la porte et la desactivation de l'alarme par la domotique en automatique heuuu...Au pire, un appui "held" sur la keyfob pour le deverouillage. Ou alors, tu fais de l'interactive push pour la desactivation de l'alarme et le deverouillage. Du genre : ouverture du portail --> push interactif : faut-il deverouiller la porte et desactiver l'alalme ? Au moins t'es en pseudo automatisme.

Partager ce message


Lien à poster
Partager sur d’autres sites

"interactive push " ah oui ça c'est une bonne idée

il va falloir que je regarde ça

mais bon, j'arrive deja pas à faire fonctionner le widget !!! alors le reste !!! lol ;)

Modifié par flamalex
  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

interactive push faisable avec GEA aussi ;-)

Attention avec ton sleep, ca va decaler toutes autres lignes.

 

Pour ton widget, je ne peux pas t'aider je ne les utilise pas, mais as tu tester directement avec ton IP exterieure ?

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 21 heures, flamalex a dit :

GEA.add({{"Value",id["ALARMESTATUT"],0}}, -1, "", {{"Function", function() fibaro:sleep(5000) end}, {"Global", "AlarmActiv", "ON"}})

Je parle de cetteligne là avec le sleep.

Sleep va mettre en pause ta scene GEA, pas juste ta ligne

Partager ce message


Lien à poster
Partager sur d’autres sites

ah oui ca aussi c’est genant

tu mettrais quoi a la place

j’ai encore appris kkchose

Partager ce message


Lien à poster
Partager sur d’autres sites

Tu as quelle version de GEA ?

 

Avec GEA V6 tu peux faire comme ceci

 

GEA.add({{"Value",id["ALARMESTATUT"],0}}, -1, "", {"Sleep", 5,  {"Global", "AlarmActiv", "ON"} })

 

Le Sleep de GEA V6 fait un settimeout et non un sleep donc cela n'arrete pas GEA.

 

Partager ce message


Lien à poster
Partager sur d’autres sites

je suis encore en 5.40

j'ai l'impression d’être complètement à la ramasse!! euh.... je le suis

je ne savais pas qu'il y avait une v6

mise à part le sleep, je vais avoir de gros changements?

 

 

edit: olala, des sleeps :) j'en ai une 10ene dans mon GEA 5.40

 

et pour les fonctions settimeout en v5.40, qui passe en v6, il y a du changement?

function test3()
    setTimeout(function()
        if tonumber(fibaro:getValue(id["PIR_JARDIN"],'value')) == 0 then fibaro:call(id["ECL_JARDIN"], "turnOff") end
    end, 180000)
end

j'ai fait une recherche dans le topic "Gea : Gestionnaire D'événements Automatique" je ne trouve rien sur "version 6"

j'ai loupé qqchose?

 

ok, je n'etais pas dans le bon topic

 

edit2:

"Pour ton widget, je ne peux pas t'aider je ne les utilise pas, mais as tu tester directement avec ton IP extérieure ?"

oui j'ai testé l'ip extérieure avec le même port, j'ai la même erreur

je précise, j'ai bien accès avec syno et ip externe, j'ai bien accès à l'appli fibaro, c'est uniquement avec les widgets que ça coince.

ma redirection de port est good, port externe redirigé vers le 80 de la HC2

 

edit 3:

je viens de tester la v6, le debug n’indique rien d’anormal, j’ai desactivé l’ancien gea puis active le new, j’ai modifié tous les sleep, je me suis absenté, et la je rentre en soiree

plus de portail plus de lumiere

mega plantage,

je regarde le debug, et je ne constate rien d’anormal.

aurai je du reboot la hc2, au basculement (desactivation ancien gea/activation du nouveau)?

 

Modifié par flamalex

Partager ce message


Lien à poster
Partager sur d’autres sites

de toute façon même si tu es en 5.4, pour le slip, il faut voir combien de temps dure (comme toujours avec les slips) ton GEA.

Si sans slip, il dure moins de 15 secondes, alors tu peux sans soucis lui rajouter un sleep de 5 sec.

Partager ce message


Lien à poster
Partager sur d’autres sites

j'ai moins de 10 sleep qui vont de 2sec à 5sec maxi

 

je n'ai peut être pas pris la bonne version V6

 

Modifié par flamalex

Partager ce message


Lien à poster
Partager sur d’autres sites

10*2 = 20 sec

10 * 5 = 50 sec

 

sachant que le GEA tourne par défaut toutes les 30 sec, je pense que ta config actuelle doit déjà poser problème.

Partager ce message


Lien à poster
Partager sur d’autres sites
  -- ALARME
-- Quand la Sirene s'active si alarme activée, alors on allume tout et on ferme les volets et REC CAMERA (1= start) (3=enable cam), GEA_Sirene = ON et lancement de la scene ruban rouge clignote
GEA.add({id["SIRENE"],{"Value",id["ALARMESTATUT"],0}}, -1 , "ALARME INTRUSION SIRENE en Marche" , {{"Inverse"},{"VirtualDevice",id["VD_CAMCARPORT"],1},{"VirtualDevice",id["VD_CAMJARDIN"],1},{"VirtualDevice",id["VD_CAMINT"],1},{"turnOn", id["DIM_SAM"]},{"turnOn", id["DIM_ENTREE"]},{"turnOn", id["DIM_ESC"]},{"turnOn", id["ECL_SAM1"]},{"turnOn", id["ECL_SAM2"]},{"turnOn", id["ECL_JARDIN"]},{"Close",id["VR_SALON"],100},{"Close",id["VR_CUISINE"],100},{"Close",id["VB_ENTREE"],100},{"Close",id["VB_SAM"],100}, {"Global", "GEA_Sirene", "ON"},{"Scenario", 207}})

-- Si sirene s'arrete, tempo de 5 secs, puis GEA_Sirene à OFF,
GEA.add(id["SIRENE"], -1, "Tempo sur sirene active", {{"Function", function() fibaro:sleep(5000) end}, {"Global", "GEA_Sirene", "OFF"}})

 -- Si Alarme activée et portail fermé  alors ouverture portail "Alarme Activée Ouverture Portail" et Verrouillage serrure
  GEA.add({{"Value",id["ALARMESTATUT"],0},{"Value",id["STATUTPORTAIL"],0}}, -1 ,"", {{"turnOn", id["OPENPORTAIL"]},{"VirtualDevice",id["VD_TK"],3}})

  -- ICI nous allons passer la variable "AlarmActiv" à ON si alarme activée depuis 5sec,
   -- Si statutalarme Activée , tempo de 5 secs, puis variable AlarmActiv = 1 (ON), "2eme essai ds 5sec si portail ne bouge pas"
GEA.add({{"Value",id["ALARMESTATUT"],0}}, -1, "", {{"Function", function() fibaro:sleep(5000) end}, {"Global", "AlarmActiv", "ON"}})



--*************OUVERTURE/FERMETURE PORTAIL, VERIFICATION SUR VARIABLE *****----- 
  --ICI nous nous servons de la valeur de la variable "VG_OPEN_PORTAIL" pour s'assurer que le portail s'est bien ouvert/fermé sur demande d'ouverture/fermeture, la verification à donc lieu 2sec apres
  
  -- Si demande d'ouverture OPENPORTAIL passe à 1 , tempo de 3 secs, puis Variable VG_OPEN_PORTAIL passe à 1,
GEA.add({"Value",id["OPENPORTAIL"],1}, -1, "", {{"Function", function() fibaro:sleep(3000) end}, {"Global", "VG_OPEN_PORTAIL", "1"}})

  -- sur le TRIGGER de la variable VG_OPEN_PORTAIL, qui est passée à 1 apres 3 sec de tempo, Si Variable VG_OPEN_PORTAIL = 1 et Moteur Portail à l'arret, et Portail fermé, alors ouverture portail
GEA.add({{"Global", "VG_OPEN_PORTAIL", "1"},{"Value",id["MOUVOPEN"],1},{"Value",id["STATUTPORTAIL"],0}}, -1 ,"", {{"turnOn", id["OPENPORTAIL"]}})

   -- si Portail en mouv d'ouvereture et VG OPEN = 1 alors VG_OPEN_PORTAIL à 0
GEA.add({{"Value",id["MOUVOPEN"],0},{"Global","VG_OPEN_PORTAIL","1"}}, -1 ,"",{{"Global", "VG_OPEN_PORTAIL", "0"}})


     -- Si demande de fermeture CLOSEPORTAIL passe à 1, tempo de 3 secs, puis Variable VG_CLOSE_PORTAIL passe à 1,
GEA.add({"Value",id["CLOSEPORTAIL"],1}, -1, "", {{"Function", function() fibaro:sleep(3000) end}, {"Global", "VG_CLOSE_PORTAIL", "1"}})

  -- sur le TRIGGER de la variable VG_CLOSE_PORTAIL qui est passée à 1 apres 3 sec de tempo, Si Variable VG_CLOSE_PORTAIL = 1 et Moteur Portail à l'arret, et Portail ouvert, alors fermeture portail
GEA.add({{"Global", "VG_CLOSE_PORTAIL", "1"},{"Value",id["MOUVCLOSE"],1},{"Value",id["STATUTPORTAIL"],1}}, -1 ,"", {{"turnOn", id["CLOSEPORTAIL"]}})


  -----*****PIETON_PORTAIL, determiner si le portail est en position pieton********Si le portail en mouvement d'ouverture puis le mouvement d'ouvereture s'arrete alors soit le portail est ouvert entiermeent soit il est en PIETON
  --*********** nous allons donc modifier une variable "pieton" en fonction de la position du portail
  -- ce scenario, va permettre de signaler à JEEDOM la position du portail
  
  -- Si MOUVOPEN s'arrete, tempo de 2 secs, puis Variable MOUV_OPEN_STOP passe à 1,
GEA.add({"Value",id["MOUVOPEN"],1}, -1, "", {{"Function", function() fibaro:sleep(2000) end}, {"Global", "MOUV_OPEN_STOP", "1"}})
 
-- Quand MOUV_OPEN_STOP = 1, si moteur portail arrete, le portail n'est pas totalement ouvert (PORTAIL_OUVERT=1) ni fermé (STATUT_PORTAIL =1) alors il est PIETON donc appui sur le bouton du VD 407 bouton 11 et on repasse les variables PORTAIL_PIETON à 1 et variable MOUV_OPEN_STOP à 0
GEA.add({{"Global", "MOUV_OPEN_STOP", "1"},{"Value",id["MOUVOPEN"],1},{"Value",id["MOUVCLOSE"],1},{"Value", id["PORTAIL_OUVERT"],0},{"Value", id["STATUTPORTAIL"],1}}, -1 , "" , {{"VirtualDevice",id["VD_PORTAIL"],11},{"Global","PORTAIL_PIETON", "1"},{"Global", "MOUV_OPEN_STOP", "0"},{"VirtualDevice",id["VD_STATUT_PORTAIL"],3}}) 
  
  --si MOUVCLOSE en mouvement alors variable MOUV_OPEN_STOP à 0 et PORTAIL_PIETON à 0
GEA.add({"Value",id["MOUVCLOSE"],0}, -1, "",{{"Global", "MOUV_OPEN_STOP", "0"},{"Global", "PORTAIL_PIETON", "0"}})  

  
  -- Si MOUVCLOSE s'arrete, tempo de 2 secs, puis Variable MOUV_OPEN_STOP passe à 1,
GEA.add({"Value",id["MOUVCLOSE"],1}, -1, "", {{"Function", function() fibaro:sleep(2000) end}, {"Global", "MOUV_OPEN_STOP", "1"}})
 
-- Quand MOUV_OPEN_STOP = 1, si moteur portail arrete, le portail n'est pas totalement ouvert (PORTAIL_OUVERT=1) ni fermé (STATUT_PORTAIL =1) alors il est PIETON donc appui sur le bouton du VD 407 bouton 11 et on repasse les variables PORTAIL_PIETON à 1 et variable MOUV_OPEN_STOP à 0
GEA.add({{"Global", "MOUV_OPEN_STOP", "1"},{"Value",id["MOUVOPEN"],1},{"Value",id["MOUVCLOSE"],1},{"Value", id["PORTAIL_OUVERT"],0},{"Value", id["STATUTPORTAIL"],1}}, -1 , "" , {{"VirtualDevice",id["VD_PORTAIL"],11},{"Global","PORTAIL_PIETON", "1"},{"Global", "MOUV_OPEN_STOP", "0"},{"VirtualDevice",id["VD_STATUT_PORTAIL"],3}}) 
  
  --si MOUVOPEN en mouvement alors variable MOUV_OPEN_STOP à 0 et PORTAIL_PIETON à 0
GEA.add({"Value",id["MOUVOPEN"],0}, -1, "",{{"Global", "MOUV_OPEN_STOP", "0"},{"Global", "PORTAIL_PIETON", "0"}})  


-----*****PIETON_GARAGE, determiner si le garage est en position pieton********Si le garage en mouvement d'ouverture puis le mouvement d'ouvereture s'arrete alors soit le garageest ouvert entiermeent soit il est en PIETON
  --*********** nous allons donc modifier une variable "pieton" en fonction de la position du garage
  -- ce scenario, va permettre de signaler à JEEDOM la position du garage
  
  -- Si MOUVOPEN s'arrete, tempo de 2 secs, puis Variable VAR_MOUV_GARAGE passe à 1,
GEA.add({"Value",id["MOUVOPEN_GARAGE"],1}, -1, "", {{"Function", function() fibaro:sleep(2000) end}, {"Global", "VAR_MOUV_GARAGE", "1"}})
 

recap de l'ensemble des sleep du GEA

soit 7 sleep = 22 secs

Modifié par flamalex

Partager ce message


Lien à poster
Partager sur d’autres sites

mais pourquoi la V6 planterait

je n'ai pas pris la bonne version?

j'ai modifié ts les sleep

faut il reboot?

dans cette nouvelle version, peut on encore insérer 

GEA.getGlobalForActivation = {"GEA_Suspend", "non"}

Modifié par flamalex

Partager ce message


Lien à poster
Partager sur d’autres sites

je ne parles que ce que je connaissait un peu :

en v5, comme tu as un cycle toutes les 30s, l'exécution de l'ensemble (slips compris) ne pouvait pas dépasser 30s.

 

Maintenant, en v6, ils ont introduit une action sleep, mais là je ne sais pas si la même limitation est de rigueur.

 

Mais attention, mon GEA (v5), prenait déjà une 20aine de sec à tourner (sans aucun sleep).

Donc si tu as déjà 22 sec de sleep, il ne te reste que 7 sec (je garde min 1 sec de sécurité) pour le reste. C'est chaud ...

Partager ce message


Lien à poster
Partager sur d’autres sites

Hello [mention=450]pepite[/mention] Tu pourrais s’il te plaît tester ma version avec annonce de la météo.

 

 

 

Envoyé de mon iPhone en utilisant Tapatalk Pro

 

Partager ce message


Lien à poster
Partager sur d’autres sites

en GEA v6, j'ai un problème sur l'ouverture fermeture des volets au levé/couché soleil.

je regarderai plus tard , retour en 5.40

Partager ce message


Lien à poster
Partager sur d’autres sites
Le 21/12/2017 à 19:31, jojo a dit :

je ne parles que ce que je connaissait un peu :

en v5, comme tu as un cycle toutes les 30s, l'exécution de l'ensemble (slips compris) ne pouvait pas dépasser 30s.

 

Maintenant, en v6, ils ont introduit une action sleep, mais là je ne sais pas si la même limitation est de rigueur.

 

Mais attention, mon GEA (v5), prenait déjà une 20aine de sec à tourner (sans aucun sleep).

Donc si tu as déjà 22 sec de sleep, il ne te reste que 7 sec (je garde min 1 sec de sécurité) pour le reste. C'est chaud ...

 

La fonction "Sleep" de la v6 lance un setTimeout au lieu d'un fibaro:sleep() il n'y a donc plus de limitation.

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

×