Aller au contenu

Support Gea


Steven

Messages recommandés

@Did, c'est bien ce qu'on fait, portail est mis à  O seulement si action 207 et si portail ouvert mais on va mettre portail à  1 pour etre sur et lorsque le poratil sera ferme on mettra à  0

 

Comme ceci dans ce cas :

ligne 1 : on met portail à  1 si fermeture avec 207

ligne 2 n'agira que lorsque portail sera >0 et <5, donc declenche lorsque action de 207 ligne 1 en mettant portail à  1

-- Fermeture du Portail par la télécommande (207) si portail ouvert (61=1)
GEA.add ({207, {"Value", 61, 1}}, -1, "Fermeture du portail", {{"Global", "Portail", 1}, {"Time", "07:00", "22:20"}})

--Si 0>Portail<5 depuis 1 min, on referme et incremente portail
GEA.add ({{"Global+", "Portail", 0},{"Global-", "Portail", 5}}, 1*60, "Erreur fermeture portail => on réessaie", {{"VirtualDevice", 169,1}, {"Global", "Portail", "inc%+"}, {"Time", "07:00", "22:20"}})
Lien vers le commentaire
Partager sur d’autres sites

 Mais pas dans la ligne avec la tentative de fermeture et incrémentation, c'est pour cela qu'il se referme tout seul, non?

Pour en revenir aux tests des dernières lignes, il ne s'est pas refermé tout seul, et sur appui de la télécommande, il se ferme (notif "Fermeture du portail") et après un blocage cellules (notif "Erreur fermeture portail=>on réessaie"), puis rapidement d'une autre notif "Fermeture du portail" alors qu'il n'a pas fini de se ré-ouvrir (peut-être là  que ça bloque la suite de l'incrémentation), ensuite plus de nouvelles tentatives de fermeture et variable à  1 et portail toujours ouvert.

Merci @jojo de passer nous éclairer de ta logique.

C'est cette ligne où,je pense, il faut lui ajouter la condition de l'Id207 à  1 (et laisser l'autre condition de l'Id61=1:ouvert pendant 1 minute)

--Si portail ouvert et Portail <5 depuis 1 min, on referme et incremente portail
GEA.add ({61, {"Global-", "Portail", 5}}, 1*60, "Erreur fermeture portail => on réessaie", {{"VirtualDevice", 169,1}, {"Global", "Portail", "inc%+"}, {"Time", "07:00", "22:20"}})
Lien vers le commentaire
Partager sur d’autres sites

@jojo, oui on eut faire aussi comme ceci

 

le 207 ici ? pour moi avec le 207 ici sur une durée d'1 min, puisque sauf si j'ai mal compris, c'est au moment de l'utilisation du VD ou de la telecommande que le value change, mais il ne reste pas à  1 ou j'ai mal compris ?

--Si portail ouvert et Portail <5 depuis 1 min, on referme et incremente portail
GEA.add ({207,61, {"Global-", "Portail", 5}}, 1*60, "Erreur fermeture portail => on réessaie", {{"VirtualDevice", 169,1}, {"Global", "Portail", "inc%+"}, {"Time", "07:00", "22:20"}})

je viens de comprendre pourquoi ca se referme de suite :

 207 est utilisé si TELECOMMANDE et VD,

dans la ligne 2, le VD est appele pour FERMER et dans la ligne 1, 207 est en instantané

Lien vers le commentaire
Partager sur d’autres sites

je tenterais dans ce sens la :

 

 


-- Fermeture du Portail par la télécommande ou VD-169 (207) si portail ouvert (61=1)
local fermetureportail = GEA.add ({207, {"Value", 61, 1}}, -1, "Fermeture du portail", {{"Global", "Portail", "1"}, {"Time", "07:00", "22:20"}})


--Si 0>Portail<5 depuis 1 min, on referme et incremente portail
GEA.add ({"Global+", "Portail", 0},{"Global-", "Portail", 5}}, 1*61, "Erreur fermeture portail => on réessaie", {{"VirtualDevice", 169,1}, {"Global", "Portail", "inc%+"}, {"Time", "07:00", "22:20"}, {"StopTask", fermetureportail}, {"Repeat"}})

-- Si portail = 5, push avertissement
GEA.add({"Global", "Portail", "5"}, 1*61, "erreur fermeture portail")

-- Si portail fermé depuis 2 mins, portail à  0
GEA.add(61, 2*60, "Portail fermé depuis #duration# - portail : 0", {{"Inverse"}, {"Global", "Portail", "0"}})

 

Lien vers le commentaire
Partager sur d’autres sites

@Did

C'est vrais que les cellules ^^

Il faut avoué que je n'en n'ai pas mis.

Enfin si elles sont la mais pas branché, trop la merde.

Et tout est donc automatisé mais il faut que j'appuye sur la telecommande pour ouvrir ET pour fermer.

J'ai le choix avec les 4 boutons de faire soit l'un soit l'autre ou les deux en meme temps.

Lien vers le commentaire
Partager sur d’autres sites

salut les gars, je vois que vous vous passez beaucoup de temps avec ce portail.

Je n'ai pas lu grand chose mais je e permet de rappeler que j'ai posté une solution ici:

http://www.domotique-fibaro.fr/index.php/topic/2143-showroom-configs-gea/#entry41858

 

depuis j'ai rajouté des capteurs de début et de fin de course et ça donne ça:

ça pourrait donner des idées...

	-- Garage
local Porte_Gar_En_Attente = {"Global", "Porte_Gar_Action", "En_Attente"}
local Porte_Gar_Demande_Ouverture = {"Global", "Porte_Gar_Action", "Demande_Ouverture"}
local Porte_Gar_Demande_Fermeture = {"Global", "Porte_Gar_Action", "Demande_Fermeture"}
local Porte_Gar_Demande_Actionner = {"Global", "Porte_Gar_Action", "Actionner"}
local estClosed = {"Global", "Porte_Garage", "^Closed$"}
local estOpen = {"Global", "Porte_Garage", "^Open$"}
local estNot_Closed = {"Global", "Porte_Garage", "Not_Closed"}
local estClosed_Or_Not_Closed = {"Global", "Porte_Garage", "^Closed$|Not_Closed"}
local estOpen_Or_Not_Closed = {"Global", "Porte_Garage", "Open|Not_Closed"}
local SetClosed = {"Global", "Porte_Garage", "Closed"}
local SetOpen = {"Global", "Porte_Garage", "Open"}
local SetNot_Closed = {"Global", "Porte_Garage", "Not_Closed"}

------------------PORTE GARAGE-----------------
    -- Le scénario enverra un push toutes les 10mn tant que la porte sera ouverte
  GEA.add(id2["GARAGE_BAS"], 30*60, "La porte du garage est ouverte depuis plus de #duration# à  #time#", {{"Repeat"}})
  
  -------------ECRITURE DES ETATS--------------
    -- Msg à  la fermeture du garage
  GEA.add(id2["GARAGE_BAS"], -1, "", {SetClosed,{"Inverse"}})
  GEA.add({id2["GARAGE_BAS"],Porte_Gar_Demande_Fermeture }, -1, "Porte du garage Fermée à  #time# le #date#", {Porte_Gar_En_Attente,{"Inverse"}})
    -- Avertissement push si la porte du garage s'ouvre
  GEA.add(id2["GARAGE_BAS"], -1, "Porte du garage en Ouverture à  #time# le #date#", {SetNot_Closed})
    -- Avertissement push si la porte du garage ouverte
  GEA.add(id2["GARAGE_HAUT"], -1, "", {SetOpen})
  GEA.add({id2["GARAGE_HAUT"],Porte_Gar_Demande_Ouverture}, -1, "Porte du garage Ouverte à  #time# le #date#", {Porte_Gar_En_Attente})
    -- Avertissement push si la porte du garage plus en position ouverte
  GEA.add(id2["GARAGE_HAUT"], -1, "Porte du garage en Fermeture à  #time# le #date#", {SetNot_Closed,{"Inverse"}})
    -- Si demande Actionner, then push, actionne remote et reset global à  en_attente
  GEA.add({Porte_Gar_Demande_Actionner}, -1, "Demande Action Porte Garage à  #time# le #date#", {{"turnOn",id2["REMOTE_GARAGE"]},Porte_Gar_En_Attente})
  --------------DEMANDE OUVERTURE--------------
    -- Si demande d'ouverture et porte fermée, then push et ouvre porte
  GEA.add({Porte_Gar_Demande_Ouverture, estClosed_Or_Not_Closed}, -1, "#value# à  #time# le #date#", {{"turnOn",id2["REMOTE_GARAGE"]}})
    -- Si demande d'ouverture et porte Ouverte, then push et reset global à  en_attente
  GEA.add({Porte_Gar_Demande_Ouverture, estOpen}, -1, "#value# Inutile à  #time# le #date#",{Porte_Gar_En_Attente,{"Portable", id["PHONE_FAKE"]},{"Email", id["ADMIN"],"Notification GEA ALARME ET GARAGE"}})
    -- Si demande d'ouverture et porte Not Closed, then push, actionne porte
    -- si se ferme alors que demande ouverture -> on relance
  GEA.add({id2["GARAGE_BAS"],Porte_Gar_Demande_Ouverture}, -1, "Mauvais sens pour #value#. Ré-essai à  #time# le #date#", {{"Inverse"},{"Function", function() fibaro:sleep(2500) end},{"turnOn",id2["REMOTE_GARAGE"]}})
  --------------DEMANDE FERMETURE--------------
    -- Si demande de fermeture et porte ouverte, then push et ferme porte
  GEA.add({Porte_Gar_Demande_Fermeture, estOpen_Or_Not_Closed}, -1, "#value# à  #time# le #date#", {{"turnOn",id2["REMOTE_GARAGE"]}})
    -- Si demande de fermeture et porte Fermée, then push et reset global à  en_attente
  GEA.add({Porte_Gar_Demande_Fermeture, estClosed}, -1, "#value# Inutile à  #time# le #date#",{Porte_Gar_En_Attente,{"Portable", id["PHONE_FAKE"]},{"Email", id["ADMIN"],"Notification GEA ALARME ET GARAGE"}})
  -- si s'ouvre alors que demande fermeture -> on relance
  GEA.add({id2["GARAGE_HAUT"],Porte_Gar_Demande_Fermeture}, -1, "Mauvais sens pour #value#. Ré-essai à  #time# le #date#", {{"Function", function() fibaro:sleep(2500) end},{"turnOn",id2["REMOTE_GARAGE"]}}) --{"turnOn",id2["REMOTE_GARAGE"]},
  --------------GESTION ERREUR---------------- 
    -- si pas fermé après 60 sec, on relance
  GEA.add({{"Global", "Porte_Gar_Action", "Demande_Fermeture|Demande_Ouverture"}, estNot_Closed}, 60, "#value# ratée pendant #duration#. Réessai à  #time# le #date#", {{"turnOn",id2["REMOTE_GARAGE"]},{"Repeat"}})
-----------------------------------------------
  
Lien vers le commentaire
Partager sur d’autres sites

 @pepite,

Bon me revoilà , effectivement l'Id207 est collé seulement une vingtaine de secondes.

Je teste les lignes de ton dernier message (manquait une accolade début 2eme ligne) et ça s'ouvre et se ferme tout seul toutes les 2 min accompagné de la notif "Erreur fermeture portail=>on réessaie" (la variable était monté à  5).

@sebcbien,

J'ai juste besoin de la gestion d'erreur et des variables locales?

C'est peut-être la solution?

Lien vers le commentaire
Partager sur d’autres sites

salut

 

j'ai un probleme bizarre :(

 

A premier vue c'est simple  quand la variable Presence passe à  1   = JM est Presente à  la maison #time#....

                                                                        Presence passe à  0   = JM partie de la maison #time#"...

 

Mais ça ne fonctionne pas :(  

 

pour info la variable est activé par le script  Détection Personne Avec Smartphone

 

:   http://www.domotique-fibaro.fr/index.php/topic/4511-détection-personne-avec-smartphone-testé-et-approuvé-meme-sur-iphone/?p=67181

--[[
%% autostart

%% properties
274 value
377 value
319 value
221 value
%% globals
Presence

--]]


GEA.add({"Global", "Presence", "1"}, -1, "JM est Presente à  la maison #time#")
GEA.add({"Global", "Presence", "0"}, -1, "JM est partie de la maison #time#" ) 
Lien vers le commentaire
Partager sur d’autres sites

merci @ jojo

comme ça

%% properties
274 value
377 value
319 value
221 value
%% globals
--]]
GEA.add({"Global", "Presence", "1"}, 1, "JM est Presente àla maison #time#")
GEA.add({"Global", "Presence", "0"}, 1, "JM est partie de la maison #time#" )
Lien vers le commentaire
Partager sur d’autres sites

 @jojo,

C'est dans cette ligne où,je pense, il faut lui ajouter la condition de l'Id207 à  1 (qui est collé seulement une vingtaine de secondes) et laisser l'autre condition de l'Id61=1:toujours ouvert au bout d'une minute.

--Si portail ouvert et Portail <5 depuis 1 min, on referme et incremente portail
GEA.add ({61, {"Global-", "Portail", 5}}, 1*60, "Erreur fermeture portail => on réessaie", {{"VirtualDevice", 169,1}, {"Global", "Portail", "inc%+"}, {"Time", "07:00", "22:20"}})

L'incrémentation fonctionne maintenant avec l'ajout de "inc%+".

Lien vers le commentaire
Partager sur d’autres sites

@Did,

 

il y a bien un souci a resoudre avec le 207, qui est en fait le meme avec la telecommande et le VD.

 

Avec le code que je t'ai proposé, c'est donc normal qui souvre et ferme tout seul, puisque lors de la télécommande ou la demande de fermeture, ca met en jeu le 207.

 

Tu as peut-etre raison pour la ligne, tente : mais ca va aussi lancer la ligne de fermeture avec 61=1 et 207=1 puisque les conditions seront aussi remplies.

--Si portail ouvert et Portail <5 depuis 1 min, on referme et incremente portail
GEA.add ({61, {"Value", 207, 1}, {"Global-", "Portail", 5}}, 1*60, "Erreur fermeture portail => on réessaie", {{"VirtualDevice", 169,1}, {"Global", "Portail", "inc%+"}, {"Time", "07:00", "22:20"}})
Lien vers le commentaire
Partager sur d’autres sites

@Did, me revoili, me revoila ;-)

 

Alors les local de @sebcbien sont faites pour faciliter la lecture des lignes de GEA, tout pourrait etre dans les lignes mais ce serait tres lourd à  lire. 

 

En fait, je pense qu'il nous manquait une variable pour pouvoir differencier la fermeture avec le 207 et les tentatives de fermeture suite à  l'action du 207 en journée, puisque ton portail doit sinon rester ouvert et ne pas se fermer automatiquement

Je t'ai remis les time, mais je pense qu'ils sont inutiles puisque les conditions sont sur les variables.

 

Je mets le code et je t'explique mon raisonnement, peut-etre faux encore, vu le temps que j'ai mis à  comprendre que le 207 et le VD etait le meme lol

je te l ai fait avec des variables locales comme @sebcbien ;-)

 

1- Cree une variable globale non predefinie dans le panneau : Fermeture

2- Dans l'entete : 61 value et 207 value

local en_attente_207 = {"Global", "Portail", "En attente 207"}
local arret_207 = {"Global", "Portail", "Fermeture en cours"}
local portailferme = {"Global", "Portail", "Fermé"}
local fermeture_en_cours = {"Global", "Fermeture", "En cours"}
local arret_tentative = {"Global", "Fermeture", "Arret"}

-- SI Portail ouvert, Action eventuelle du 207, en attente ;-), VG Portail = en attente
local passage_207_attente = GEA.add(61, -1, "Portail ouvert-En attente 207", {en_attente_207, {"Time", "07:00", "22:20"}})

-- Fermeture du Portail par la télécommande ou VD (207), Fermeture est en cours, Arret de l'attente du 207
GEA.add ({207, en_attente_207}, -1, "Fermeture du portail en cours #time#-#date#", {fermeture_en_cours, arret_207, {"StopTask", passage_207_attente}, {"Time", "07:00", "22:20"}})

-- SI Fermeture en cours depuis 1 mins, on referme (passage cellules ou autres)
GEA.add (fermeture_en_cours, 1*61, "Erreur fermeture portail => on réessaie", {{"VirtualDevice", 169,1}, {"Time", "07:00", "22:20"}, {"Repeat"}})

-- Si Fermeture en cours depuis 5 mins, push avertissement, arret des tentatives de fermeture
GEA.add(fermeture_en_cours, 5*61, "erreur fermeture portail", {arret_tentative, {"RestartTask", passage_207_attente} {"Time", "07:00", "22:20"}})

-- Si portail fermé , Pas d'action de 207 pour l'ouverture
GEA.add(61, -1, "Portail fermé- Attente 207 Inutile", {{"Inverse"}, portailferme, {"Time", "07:00", "22:20"}})

Ligne 1 :

 - Lorsque le portail est ouvert, Passage de la variable portail à  "En attente 207"

    --> permet fermeture du portail au VD ou à  la telecommande

 

Ligne 2 :

 - Fermeture du portail avec VD ou telecommande, Portail etait "En attente207

    --> le portail se ferme, donc 207=1,

   --> modification de la variable Portail à  "fermeture en cours" (arret_207) pour eviter que la condition "207=1 + en attente 207" soit VRAIE

   --> Variable FERMETURE" à  "EN COURS", pour permettre les tentatives de fermeture en cas de cellules

  --> Arrete de la tache de mise a jour "en attente de 207 lorsque le portail est ouvert sinon va remettre "en attente 207" chaque fois que le portail sera ouvert pendant les tentatives de la ligne 3

 

Ligne 3 :

 - Variable "FERMETURE" a "en cours" par la ligne 2

     --> si cellules, variable "FERMETURE reste à  "EN COURS", condition est donc vraie, relance de la tentative de fermeture tant que la variable FERMETURE ne change pas

 

Ligne 4 :

  - Si FERMETURE = "En cours" plus de 5 mins, push pour avertir

     --> modification de la variable "FERMETURE", passage de "En cours" à  "Arret" (arret_tentative)

     --> rend la ligne 3 inactive, condition non remplie puisque FERMETURE different de "en cours"

     --> ARRET des tentatives de fermeture,

    --> portail etant ouvert : pour permettre de refermer à  la telecommande apres les tentatives de fermeture, on relance la tache en ligne 1

 

Ligne 5 :

 -Si portail fermé : modif de la valeur de la variable

Modifié par pepite
  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

EN

 

have a question regarding my code. Can it be improved with some other functions in GEA?

Code works but maybe it can be changed  :huh:

-- Turn off if no movement
	local koketmotion = id["mSensor_kok"]
	local koketTask = GEA.add(id["fonster_kok"], 10*60, "", {{"turnOff"}})
	local koketTask2 = GEA.add(id["lilla_fonster_kok"], 10*60, "", {{"turnOff"}})
	GEA.add(koketmotion, -1, "", {{"turnOn", id["lilla_fonster_kok"]},{"turnOn", id["fonster_kok"]}, {"RestartTask", koketTask}, {"RestartTask", koketTask2}})
	GEA.add(id["fonster_kok"], -1, "", {{"Inverse"}, {"turnOff", id["fonster_kok"]}})
	GEA.add(id["lilla_fonster_kok"], -1, "", {{"Inverse"}, {"turnOff", id["fonster_kok"]}})
    
Lien vers le commentaire
Partager sur d’autres sites

EN

 

How is Group working? Is it associating? Or is something you set up in GEA?

GEA.add(17, 5*60, "", {{"Group",1},{"Group",2}}) -- Lumière allumée depuis 5 mn.
GEA.add(18, 5*60, "", {{"Group",1}}) -- Porte ouverte depuis 5 mn.
GEA.add({"Group",1}, 5*60, "Porte ouverte et lampe allumé de puis plus de 5mn.")
Lien vers le commentaire
Partager sur d’autres sites

 Merci @pepite de te donner tant de mal pour mon portail. :13:

Ce coup-ci, c'est la bonne, tout à  l'air de marcher.

J'ai donc deux variables non prédéfinies "Portail" et "Fermeture"? La variable m'affiche "Portail" sur Fermé alors qu'il a abandonné les tentatives de fermeture (ce n'est pas grave, c'est juste pour savoir si elle est encore utilisée).

Et plus besoin de l'incrémentation?

Il me fait les trois tentatives (avec les notifs) et enfin une notif pour me dire qu'il n'est pas fermé, c'est parfait.

Je le laisse en service et regarde comment ça se passe après 22h20, je vais peut-être l'appliquer même pour la nuit, c'est une autre ligne de GEA qui me ferme le portail,

GEA.add(61, 10*60, "", {{"VirtualDevice", 169, 1},{"Time", "22:20", "07:00"},{"Repeat"}})

Est-ce qu'elle pourrait gêner le fonctionnement de tes lignes si j'enlève dans tes lignes {"Time", "07:00", "22:20"}?

En tout les cas, merci à  tous et en particulier à  toi @pepite  :74:  :13::bravo:

Lien vers le commentaire
Partager sur d’autres sites

EN

 

How is Group working? Is it associating? Or is something you set up in GEA?

GEA.add(17, 5*60, "", {{"Group",1},{"Group",2}}) -- Lumière allumée depuis 5 mn.
GEA.add(18, 5*60, "", {{"Group",1}}) -- Porte ouverte depuis 5 mn.
GEA.add({"Group",1}, 5*60, "Porte ouverte et lampe allumé de puis plus de 5mn.")

No need to setup something.

Groups works easily.

Each instruction are read and execute one by one from top to bottom. Each time an instruction got {"Group", 1} as an action, GEA check the condition and put "true" or "false" in the group.

All instructions have to be "true" before the following instruction will be triger : GEA.add({"Group",1}, 5*60, "..")

Groups doesn't allow using -1 in any instruction.

Groups exist since long time and is not more use but should works as expected.

Lien vers le commentaire
Partager sur d’autres sites

 

EN

 

have a question regarding my code. Can it be improved with some other functions in GEA?

Code works but maybe it can be changed  :huh:

-- Turn off if no movement
	local koketmotion = id["mSensor_kok"]
	local koketTask = GEA.add(id["fonster_kok"], 10*60, "", {{"turnOff"}})
	local koketTask2 = GEA.add(id["lilla_fonster_kok"], 10*60, "", {{"turnOff"}})
	GEA.add(koketmotion, -1, "", {{"turnOn", id["lilla_fonster_kok"]},{"turnOn", id["fonster_kok"]}, {"RestartTask", koketTask}, {"RestartTask", koketTask2}})
	GEA.add(id["fonster_kok"], -1, "", {{"Inverse"}, {"turnOff", id["fonster_kok"]}})
	GEA.add(id["lilla_fonster_kok"], -1, "", {{"Inverse"}, {"turnOff", id["fonster_kok"]}})
    

Hello,

 

you can write like this, without local and without RestartTask, this code should be working like you want too, I think..

--TurnOff if no movement during 10 mins with the motion and not with fonster_kok et fonster_kok_lilla
GEA.add(id["mSensor_kok"], 10*60, "", {{"Inverse"}, {"turnOff", id["lilla_fonster_kok"]},{"turnOff", id["fonster_kok"]}})

--TurnOn if movement
GEA.add(id["mSensor_kok"], -1, "", {{"turnOn", id["lilla_fonster_kok"]},{"turnOn", id["fonster_kok"]}})
Lien vers le commentaire
Partager sur d’autres sites

@Did,

 

Oui tu as 2  variables "Portail" et "Fermeture" non predefinies servent pour différencier les conditions des lignes de GEA, il faut les garder.

Non plus d'incrementation avec le dernier code mais ca doit etre faisable avec aussi c'est sur ;-)

 

La variable portail devrait etre à  Fermé, uniquement lorsque le portail est fermé, à  verifier, je me suis peut-etre encore trompé.

 

Si tu enleves dans les lignes qu'on t 'a proposé le time, il ne devrait pas y avoir de souci avec ta ligne de fermeture à  partir de 22h20.

Attention, si tu enleves le time de ta ligne de fermeture, cela va, y compris dans la journée, fermer le portail apres 10 minutes d'ouverture

 

De rien, et merci à  tous, je me suis eclaté avec ton portail ;-) ..surtout que je n'en ai pas, bon exercice lol

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...