kioneoranga Posté(e) le 28 octobre 2015 Signaler Posté(e) le 28 octobre 2015 ah ouui, mon raisonnement presnetait quelques manquements, tu as raison, encore un bon exo pour moi Et tout a fait d'accord avec l'usage de S2 Pour m'exercer avec GEA pour faire comme avec le S2, je tenterait cela, qu'en penses tu ? --Methode 2 -- Exinction allumage sur detection, tache non demarree automatiquement local ExtinctionCouloir1 = GEA.add(id["LAMPE_TELERUPTEUR_C1"], 1*60, "Extinction couloir sur detection #duration#", {{"Portable", 384},{"turnOff", id["LAMPE_TELERUPTEUR_C1"]}, {"NotStarted"}}) --Extinction sur appui bouton poussoir, tache non demarree automatiquement local ExtinctionBP = GEA.add(id["LAMPE_TELERUPTEUR_C1"], 5*60, "Extinction allumage manuel #duration#", {{"turnOff", id["LAMPE_TELERUPTEUR_C1"]}, {"NotStarted"}}) -- Allumage sur detection local allumsurdetect = GEA.add(id["DETEC_COULOIR1"], -1, "Déclenchement auto et restart compteur 1min", {{"Portable", 384},{"turnOn", id["LAMPE_TELERUPTEUR_C1"]},{"RestartTask", ExtinctionCouloir1}}) --Allumage manuel bouton poussoir GEA.add(id["LAMPE_TELERUPTEUR_C1"], -1, "Allumage manuel couloir", {{"StopTask", allumsurdetect}, {"RestartTask", ExtinctionBP}}) En partant du principe que l'allumage par detection est la methode par defaut ;-) Les taches ExtinctionCouloir1 et ExtinctionBP ne sont pas demarrees : NotStarted Cas 1 lumière éteinte, allumage manuel par BP lumière éteinte --Appui BP --> ligne allumage manuel bouton poussoir --> Arret de la tache allumsurdetect, demarrage de la tache D'extinctionBP --> si detection de mouvement, pas d'action je pense puisque la tache allumsurdetect est arretee Cas 2 lumière éteinte, allumage par détection de mouvements --Detection de mouvement --> allumage par la ligne "allumage par detection" --> relance de la tache ExtinctionCouloir1 -->pas de conflit avec ExtinctionBP, presence du NotStarted --> si detection de mouvement, lumiere allumee, relance de la tache extinctioncouloir1 Me trompe-je encore ? Ca a l'air d'etre dissocie comme ceci non ? ça ne marche qu'à moitié ... J'ai l'impression que les fonctions "StopTask" / "RestartTask" ne fonctionnent pas correctement !!
971jmd Posté(e) le 28 octobre 2015 Signaler Posté(e) le 28 octobre 2015 Dans ma quette de comprend la Condition et Option de GROUP @ Pepite j'ai trouver ce lien http://www.domotique-fibaro.fr/index.php/topic/1211-support-gea/?p=64426
kioneoranga Posté(e) le 28 octobre 2015 Signaler Posté(e) le 28 octobre 2015 Bon, j'ai réussi à 90% à faire ce que j'attendais. Je suis passé par une variable globale à trois valeurs GEA.add({id["DETEC_COULOIR1"],{"Global", "LAMPE_COULOIR1", "OFF"},AlarmOff}, -1, "Déclenchement auto", {{"Time", "Sunset-15>17:00", "Sunrise+15<08:30"},{"Global", "LAMPE_COULOIR1", "AUTO"},{"turnOn", id["LAMPE_TELERUPTEUR_C1"]},{"RestartTask", ExtinctionCouloir1}}) GEA.add({id["DETEC_COULOIR1"],{"Global", "LAMPE_COULOIR1", "AUTO"},AlarmOff}, -1, "Relance minuterie automatique", {{"Time", "Sunset-15>17:00", "Sunrise+15<08:30"},{"RestartTask", ExtinctionCouloir1}}) GEA.add({id["LAMPE_TELERUPTEUR_C1"],{"Global", "LAMPE_COULOIR1", "OFF"}}, -1, "Déclenchement manuel", {{"Global", "LAMPE_COULOIR1", "MANUEL"},{"StopTask", ExtinctionCouloir1}}) local ExtinctionCouloir1 = GEA.add({id["LAMPE_TELERUPTEUR_C1"],{"Global", "LAMPE_COULOIR1", "AUTO"}}, 1*60, "Extinction allumage sur detection #duration#", {{"turnOff", id["LAMPE_TELERUPTEUR_C1"]}}) GEA.add({id["LAMPE_TELERUPTEUR_C1"],{"Global", "LAMPE_COULOIR1", "MANUEL"}}, 5*60, "Extinction allumage manuel #duration#", {{"turnOff", id["LAMPE_TELERUPTEUR_C1"]}}) GEA.add({{"Value", id["LAMPE_TELERUPTEUR_C1"],0}}, -1, "Couloir éteint", {{"Global", "LAMPE_COULOIR1", "OFF"}}) Cependant lorsque la lumiere est allumée via le détecteur et que l'on repasse devant le détecteur, j'ai bien la relance de la minuterie, mais j'ai l'impression que le temps se cumule, car la lumière s'éteind oui, mais pas dans la minute (delta des 30s de GEA) juste aprés la dernière détection... Je ne comprends pas trop ce détail là . Si vous avez des idées, je suis preneur. Bonne soirée et merci encore.
971jmd Posté(e) le 28 octobre 2015 Signaler Posté(e) le 28 octobre 2015 1- si je me trompe pas la ligne n 6 doit être placer a la ligne 1
971jmd Posté(e) le 28 octobre 2015 Signaler Posté(e) le 28 octobre 2015 pour une meilleur compréhension du code, rajoute des annotations audessus des ligne . exemple: ----si détection et global Lampe_couloir = off et alarmeoff >> alors>> entre sunset xxxx et xxxx passer la golbal lampe_couloire à AUTO et allume lampe et redémarre ExtinctionCouloir1 GEA.add({id["DETEC_COULOIR1"],{"Global", "LAMPE_COULOIR1", "OFF"},AlarmOff}, -1, "Déclenchement auto", {{"Time", "Sunset-15>17:00", "Sunrise+15<08:30"},{"Global", "LAMPE_COULOIR1", "AUTO"},{"turnOn", id["LAMPE_TELERUPTEUR_C1"]},{"RestartTask", ExtinctionCouloir1}})
Did Posté(e) le 28 octobre 2015 Signaler Posté(e) le 28 octobre 2015 Bon, je résume pour les nouvelles fonctionnalités que j'aimerais voir sur mon portail:J'ai un contact de FGBS pour la manÅ“uvre motorisation = Id 207 (quand la motorisation démarre, elle me colle le contact d'un relais), cela me permet, entre autre à éclairer la zone du portail la nuit avec une variable "Jour_Nuit" et un autre pour l'état du portail = Id 61 (portail ouvert : 61=1 / portail fermé : 61=0). Pour l'ouverture du portail (autrement qu'avec les télécommandes d'origine et les poussoirs sur les interphones), j'ai un module virtuel (bouton 1) qui commande un contact de mon IPX.J'ai déjà une ligne qui me ferme automatiquement la porte à 22h30 GEA.add(61, 10*60, "", {{"VirtualDevice", 169, 1},{"Time", "22:20", "07:00"},{"Repeat"}}) -- Fermer automatiquement le Portail à 22h30 Il reste ouvert la journée, si on ne le ferme pas à la télécommande ou avec le module virtuel, mais quand, lors d'une fermeture, les cellules inversent la manÅ“uvre et le portail se rouvre, j'aimerais qu'il retente deux ou trois fermetures au cas où je serais déjà trop éloigné pour le refaire manuellement à la télécommande.On en avait déjà parlé ici (et les cinq pages suivantes):http://www.domotique-fibaro.fr/index.php/topic/1211-support-gea/page-181 L'idée de @jojo d'une variable "Portail" en l'incrémentant à chaque tentative de re-fermeture avec une notif s'il ne s'est pas fermé ou s'il s'est bien fermé me convenait mais nous n'avions pas réussi à le mettre en place. GEA.add ({61, {"Global+", "Portail", 0}, {"Global-", "Portail", 5}}, 1*60, "Erreur fermeture portail => on réessaie", {{"VirtualDevice", 169,1}, {"Global", "Portail", "inc+"}, {"Time", "07:05", "22:15"}})
971jmd Posté(e) le 28 octobre 2015 Signaler Posté(e) le 28 octobre 2015 (modifié) ce qui te manque c'est : si réouverture par les cellules ce contact tu vas trouver su coté de cellule selon la marque de la cellule quelle est marque de la motorisation et des cellules ? Modifié le 28 octobre 2015 par 971jmd
Did Posté(e) le 28 octobre 2015 Signaler Posté(e) le 28 octobre 2015 Non, pas besoin, si ré-ouverture à cause des cellules, état portail toujours ouvert (Id61 =1).
971jmd Posté(e) le 28 octobre 2015 Signaler Posté(e) le 28 octobre 2015 a tu une remonter d'information du moteur portail concernant si il est ouvert ou fermer ?
971jmd Posté(e) le 28 octobre 2015 Signaler Posté(e) le 28 octobre 2015 (modifié) je voie un code comme ça ---si portail toujour pas fermmer alors tout les 1mm relance la fermeture x5 GEA.add (si VALUE portail = 0 {"Global", "position_portail", "ouvert"}, 1*60, "Erreur fermeture portail => on réessaie", {{"VirtualDevice", 169,1}, {"Global", "Portail", "inc+"}, {"Time", "07:05", "22:15" }, {“MaxTimeâ€, 5} }}) ---si portail toujour pas fermmer et relancé x5 envoie message GEA.add ({"Global", "position_portail", "ouvert"}, {"Global-", "Portail", 5}}, 1*60, "Erreur fermeture portail ", ) {{“MaxTimeâ€, 5}) GEA.add (si VALUE portail = 1 et {"Global", "position_portail", "ouvert"} }, 1*60, "OK portail Fermer", {"Global", "position_portail", "fermer"}) ----remise a zero Modifié le 28 octobre 2015 par 971jmd
Did Posté(e) le 29 octobre 2015 Signaler Posté(e) le 29 octobre 2015 Etat portail = Id 61 portail ouvert : 61=1 / portail fermé : 61=0 On était partit sur une variable de 0 à 5 qui s'incrémente toute seule (pour compter les défauts de fermeture). Avec ce contact, je ne pense pas avoir besoin de variable pour l'état du portail.
971jmd Posté(e) le 29 octobre 2015 Signaler Posté(e) le 29 octobre 2015 Je comprend pas très bien, quel est le problème plus exactement ?
pepite Posté(e) le 29 octobre 2015 Signaler Posté(e) le 29 octobre 2015 Salut messieurs, @kioneoranga Sur le 1er code tu recois les push ? lesquels alors ? Et je t'assure les Restart et Stop et autre fonctionnent chez moi ;-) Sinon dans ton code avec les VG, ta declaration de local doit se trouver avant que tu appelles la variable avec le Restart. donc ton extinctionCouloir1 doit se trouver avant la ligne qui appelle le Restart... C'est d'ailleurs peut-etre pour cela que le code ou les codes ne fonctionnent pas bien ;-) d'ou le 50% ou le 90 % @Did, ah oui je l'avais oublié le portail ;-) on s'y remet ?
kioneoranga Posté(e) le 29 octobre 2015 Signaler Posté(e) le 29 octobre 2015 Salut messieurs, @kioneoranga Sur le 1er code tu recois les push ? lesquels alors ? Et je t'assure les Restart et Stop et autre fonctionnent chez moi ;-) Sinon dans ton code avec les VG, ta declaration de local doit se trouver avant que tu appelles la variable avec le Restart. donc ton extinctionCouloir1 doit se trouver avant la ligne qui appelle le Restart... C'est d'ailleurs peut-etre pour cela que le code ou les codes ne fonctionnent pas bien ;-) d'ou le 50% ou le 90 % @Did, ah oui je l'avais oublié le portail ;-) on s'y remet ? @Pepite, les msg Push fonctionne parfaitement et le changement de variable aussi. Lorsque lors de la première détection, j'ai bien le msg "Déclenchement auto" ensuite avec la VD qui passe à AUTO. si c'est juste sur un passage dans le couloir, 1min aprés le couloir s'éteint ==> Cool Ensuite si le détecteur allume la lumière mais que je reste dans le couloir, j'ai le msg push suivant Relance minuterie automatique qui s'affiche, mais dans ce cas, la lumière reste allumer et ne s'éteint plus Je pense que c'est lié au positionnement de la ligne "extinctionCouloir1" En manuel, lorsque j'appui sur le bouton la VG passe à "MANUEL" et dans ce cas, la lumière reste allumée 5 min et s'éteint comme attendue ==> Cool Ensuite lorsque la lumière s'éteint quelque soit la source d'allumage la VG passe à OFF et on peut repartir sur un cycle 1- si je me trompe pas la ligne n 6 doit être placer a la ligne 1 Ok je prends note je vais réorganiser ce soir les lignes et passer le "local extinctionCouloir1 = ...." en premier. Je vous tiendrais informer si cela répond totalement ensuite à mon attente.
pepite Posté(e) le 29 octobre 2015 Signaler Posté(e) le 29 octobre 2015 @Kio, Oui ce que tu décris correspond bien au fait que GEA ne lise pas quand tu le souhaites ExtinctionCouloir. Il faut TOUJOURS que la declaration des variables soient avant le rappel de cette variable. RAPPEL : 1- GEA lit de maniere sequentielle, donc ligne par ligne 2- tes lignes 1, 2 et 3 font un RestartTask de ExtinctionCouloir dont la declaration "local" est en ligne 6. 3- GEA, en ligne 1, 2 et 3 ne connait donc pas ExtinctionCouloir puisqu'il arrive APRES en ligne 6 Ta ligne local ExtinctionCouloir = GEA.add(...) doit donc se trouver avant ta 1ere ligne. GEA va lire ta ligne local ExtinctionCouloir = .....donc va connaitre cette variable puis ligne 1, 2 et 3 et va donc pouvoir rappeler la variable ExtinctionCouloir... Bon la je t'avoue en me relisant, j'ai pas l'impression d'avoir ete clair ;-) @Did : Peut-etre comme ceci, ca se tente --Portail ouvert et VG "Portail"differente de -1 (donc vrai pour O, 1, 2, 3...), incremente de 1 la variable max 3 fois GEA.add({61, {"Global!", "Portail", "-1"}}, 1*60, "Erreur fermeture portail : Essai num #value[2]#", {{"VirtualDevice", 169,1}, {"Global", "Portail", "inc+"}, {"Time", "07:05", "22:15"}, {"Repeat"}, {"MaxTime", 3}}) --Portail fermé depuis 1 min, remise à 0 de la VG "Portail" GEA.add(61, 1*60, "Portail fermé depuis #duration# : Mise à 0 de Portail", {{"Inverse", {"Global", "Portail", "0"}}) 1
Did Posté(e) le 29 octobre 2015 Signaler Posté(e) le 29 octobre 2015 Bonjour, @971jmd, Il n'y a pas de problème, seulement de nouvelles lignes à créer mais c'est du chinois pour moi. @pepite, Oui, merci, j'ai testé tes lignes et il se ferme sans le demander (si je rouvre, rebelotte au bout d'une minute) mais la variable se met bien à "0". Si j'empêche la fermeture normale, pas de nouvelle tentative de re-fermeture, la variable se met à "inc+". Il ne fallait pas déclarer les limites de la variable? {"Global+", "Portail", 0}, {"Global-", "Portail", 3} Pour l'empêcher se se fermer systématiquement, je crois me souvenir qu'il faut se servir de l'Id207 (action volontaire de vouloir fermer).
971jmd Posté(e) le 29 octobre 2015 Signaler Posté(e) le 29 octobre 2015 @ Did quel est ID du module qui ouvre et ferme le portail ?
Did Posté(e) le 29 octobre 2015 Signaler Posté(e) le 29 octobre 2015 C'est le module virtuel Id169, bouton 1, j'ai ajouté cette info dans le post du haut.
971jmd Posté(e) le 29 octobre 2015 Signaler Posté(e) le 29 octobre 2015 le bouton 1, il réalise l'ouverture et la fermeture ?
pepite Posté(e) le 29 octobre 2015 Signaler Posté(e) le 29 octobre 2015 re, J'ai fait une erreur de syntaxe, il manque une accolade derriere le {"Inverse"}. la variable passe à inc+, c'est deja qu'il essaie de refermer mais je crois me souvenir qu'il y avait un bug avec le inc+ amis je n'avais pas suivi je vais essayer de regarder. heuuu, il doit me manquer quelque chose avec l'ID207. C'est ta telecommande ? alors me souviens plus de ce que tu souhaites exactement alors. En fait tu souhaites : 1- si portail ouvert avec la telecommande, qu'il reste ouvert ? 2- si tu fermes manuellement le portail avec telecommande, et que tu empeches la fermeture par les cellules, qu'il retente de le refermer reexplique-moi stp, j'ai du passer a cote de qqch. En simple ;-) ton ID 207 te renvoie quoi ? 0 quand il ne fait rien et 1 des que la motorisation demarre, et ce que ce soit pour la fermeture du portail ou l'ouverture ?
971jmd Posté(e) le 29 octobre 2015 Signaler Posté(e) le 29 octobre 2015 Essaye le code suivant créée un variable : defaut_portail --- value = 1 ouvert et value = 0 fermer ---Ouverture GEA.add ({{"value", 61, "0"}, {"Global", "Portail", "0"}, {"Global", "defaut_portail", 0}, {"VirtualDevice", 169,1}}, -1, "fermeture du portail par VD" ) ---Fermeture GEA.add ({{"value", 61, "1"}, {"Global", "Portail", "0"}, {"Global", "defaut_portail", 0}, {"VirtualDevice", 169,1}}, -1, "Ouverture du portail par VD" ) ---******************* VERIF OUVERTUR et FERMETUR ********************-- ----Si value passe a 1 ouverture ok GEA.add ({"value", 61, "1"}, -1, "Portail Ouvert", {{"Global", "Portail", "0"}, {"Global", "defaut_portail", 0}) ----Si value passe a 0 Fermeture ok GEA.add ({"value", 61, "0"}, -1, "Portail Fermer", {{"Global", "Portail", "0"}, {"Global", "defaut_portail", 0}) ---******************* VERIF FERMETURE SI PROBLEME ********************-- -- Verifi si value reste sur 1 plus 1mm alors réalise 5 tentative de fermetur GEA.add ({{"value", 61, "1"}, 1*60, "DEFAUT PORTAIL a la fermeture", {{"VirtualDevice", 169,1}, {"Global", "defaut_portail", 1}, {"Global", "Portail", "inc+"}, {"MaxTime", 5}}) ---si au bout de 5 tentative portail toujour pas fermmer envoie message GEA.add ({{"Global+", "Portail", "0"}, {"Global", "defaut_portail", 1}}, 1*60, "Erreur fermeture portail ", {{"Repeat"}, {"MaxTime", 3}})
Did Posté(e) le 29 octobre 2015 Signaler Posté(e) le 29 octobre 2015 Oui, j'avais corrigé. Pour le inc+, @HANSOLO nous avait aiguillé sur une piste, de mémoire, si les limites de la variable sont 0 et 5, l'incrémentation fonctionne entre 1 et 4 (il me semble). http://www.domotique-fibaro.fr/index.php/topic/1211-support-gea/?p=77871 En fait, si on ne le ferme pas volontairement, il reste ouvert jusqu'à 22h30, donc pour surveiller si une fermeture se déroule correctement, on dispose de: L'Id207 qui se déclenche systématiquement dès que la motorisation fonctionne (fermeture comme ouverture mais pas gênant car en ouverture, les cellules ne sont pas actives). L'Id61 qui me renseigne si le portail est fermé: portail fermé : 61=0 et portail différent de fermé (donc ouvert, en tous les cas, pas fermé) : 61=1. Lors d'une fermeture, les cellules inversent la manÅ“uvre et le portail se rouvre en cas de détection, j'aimerais qu'il retente deux ou trois fermetures au cas où je serais déjà trop éloigné pour le refaire manuellement à la télécommande (pour être sà»r qu'il sera bien fermé). @971jmd, ça plante.
971jmd Posté(e) le 29 octobre 2015 Signaler Posté(e) le 29 octobre 2015 oui surement je n'est pas tester
Did Posté(e) le 29 octobre 2015 Signaler Posté(e) le 29 octobre 2015 Ta variable "defaut_portail" doit être prédéfinie (0 ou 1) ou non?
Messages recommandés