flechg Posté(e) le 30 novembre 2015 Signaler Posté(e) le 30 novembre 2015 SALUT a tous voila je m en réfère au pro j utilise ce code pour ouvrir mes volets mais je voudrais si j appuie sur l interrupteur que gea ne me ré-enclenche pas le volet car si je me lève avant l heure de montée des volets et que j ouvre un volet manuellement alors aprés il se referme a 20% car 1ere action gea local estChome = {"If", {{"Global", "JourChome", "OUI"}}} local estTravail = {"If", {{"Global", "JourChome", "NON"}}} --Ouverture des volets des chambres ET salon semaine 50% ET 100% GEA.add(true, 1*60, "",{estTravail, {"Time", "07:10", "07:12"}, {"Open",id["VOLET_EMMA"],20},{"Open",id["VOLET_PARENT"],20}, {"Open",id["VOLET_SALON"],20}}) GEA.add(true, 1*60, "",{estTravail, {"Time", "07:15", "07:17"}, {"Open",id["VOLET_EMMA"],50},{"Open",id["VOLET_PARENT"],50}, {"Open",id["VOLET_SALON"],50}}) GEA.add(true, 1*60, "",{estTravail, {"Time", "07:35", "07:36"}, {"Open",id["VOLET_EMMA"],100},{"Open",id["VOLET_PARENT"],100}, {"Open",id["VOLET_SALON"],100}}) merci encore s
HANSOLO Posté(e) le 30 novembre 2015 Signaler Posté(e) le 30 novembre 2015 Je ferais une ligne GEA qui actualise une variable si le volet est ouvert avant 7:10. Une ligne GEA qui réinitialise la variable après 7:36 (pour que le lendemain tes lignes GEA estTravail soients actives) Et la variable comme condition dans tes 3 lignes GEA. A adapter si tu veux rendre indépendant chaque volet, ne sachant pas si par "interrupteur" tu parle d'une commande générale des 3 volets ou de la commande inviduelle d'un volet?
flechg Posté(e) le 30 novembre 2015 Signaler Posté(e) le 30 novembre 2015 Merci Hansolo Je vais essayer Merci encore
sebcbien Posté(e) le 30 novembre 2015 Signaler Posté(e) le 30 novembre 2015 oui j'ai trouver une solution mai je ne c’est pas comment l’arrêter local tempo = {"Function", function() fibaro:sleep(3000) end} GEA.add({{"value", id["CENTRE_TABLE"], "0"}}, -1 , "", {{"turnOff", id["CENTRE_TABLE"]}, tempo, {"turnOn", id["CENTRE_TABLE"]}}) GEA.add({{"value", id["CENTRE_TABLE"], "1"}}, -1 , "", {{"turnOn", id["CENTRE_TABLE"]}, {"turnOff", id["CENTRE_TABLE"]}}) Regarde dans le showroom gea, j'ai posté un exemple avec la lampe de mon garage, je la fais clignotter une fois puis je l'éteins un peu après.Faire très attention avec les sleep et gea, car toutes les commandes suivantes vont être retardées. Ne jamais non plus dépasser les 30s en tout sinon ça va aller moins bien... Sent from my Note4
pepite Posté(e) le 30 novembre 2015 Signaler Posté(e) le 30 novembre 2015 Salut messieurs, le retour entre 2 poses de carreaux de faience ;-) @Flechg, oui Hansolo a raison en jouant avec une variable ou tu mets en condition la valeur des volets : GEA.add({"Value+", id["VOLET_EMMA"], 85}, .....)
Invité chris6783 Posté(e) le 30 novembre 2015 Signaler Posté(e) le 30 novembre 2015 Pour le problème des volets qui se referment le matin à20% alors que déjàouvert tu peux éviter une variable juste pour ça en ajoutant une condition àta commande gea qui vérifie que la value courante est inférieure à20%. Le soir je fais le même type de validation pour la fermeture pour ne pas rouvrir un volet déjàplus bas que la nouvelle consigne gea Envoyé de mon SM-G850F en utilisant Tapatalk
HANSOLO Posté(e) le 30 novembre 2015 Signaler Posté(e) le 30 novembre 2015 Oui c'est même une meilleure façon de faire.
Syris Posté(e) le 30 novembre 2015 Signaler Posté(e) le 30 novembre 2015 Bonsoir, Comment feriez vous pour gérer des Boutons poussoirs qui actionne des scénes avec gea ? (pour gérer l'impulsionnel quoi...) Je précise que cela ne marche pas : GEA.add(SCENARIO1, -1, "Lancement Scénario TV", {{"Program", id["RGB"], 1},{"turnOff",id["SPOT_SALON"]}}) --GEA.add(SCENARIO1, -1, "Fin du Scénario TV", {{"Inverse"},{"turnOff",id["RGB"]}}) La, si je tiens appuyé, sa fonctionne, si je relache, sa coupe! Il faudrait que j'incremente une variable peux être ? J'ai essayé en jouant avec task, restartask mais en vain. Merci
flechg Posté(e) le 30 novembre 2015 Signaler Posté(e) le 30 novembre 2015 Merci a pepite, hansolo, et chris6783 pour vos réponses @pepite Salut messieurs, le retour entre 2 poses de carreaux de faience ;-) @Flechg, oui Hansolo a raison en jouant avec une variable ou tu mets en condition la valeur des volets : GEA.add({"Value+", id["VOLET_EMMA"], 85}, .....) peux tu me me dire ce que je dois mettre après car je maîtrise pas encore bien gea merci pour votre patience s
971jmd Posté(e) le 1 décembre 2015 Signaler Posté(e) le 1 décembre 2015 Regarde dans le showroom gea, j'ai posté un exemple avec la lampe de mon garage, je la fais clignotter une fois puis je l'éteins un peu après. Faire très attention avec les sleep et gea, car toutes les commandes suivantes vont être retardées. Ne jamais non plus dépasser les 30s en tout sinon ça va aller moins bien... Sent from my Note4 @ Salut Sebcbien Quand tu dit faire attention sleep et gea, car toutes les commandes suivantes.... tu veux dire, tout les ligne quelqu’au END.
sebcbien Posté(e) le 1 décembre 2015 Signaler Posté(e) le 1 décembre 2015 non, tout les gea.add qui vont suivre (ceux avec un delais 30, 60 240 etc, pas les -1)
sebcbien Posté(e) le 1 décembre 2015 Signaler Posté(e) le 1 décembre 2015 exemple: -- On dimme la lampe automatiquement après 90mn et on l'éteint après 20mn si pas d'action manuelle local malampegar = GEA.add({"Value+", id["LAMPE_GARAGE"],21}, 90*60, "",{{"Value", 20},{"Repeat"}}) local malampegardim = GEA.add({"Value-", id["LAMPE_GARAGE"],21}, 5*60, "",{{"Value", id["LAMPE_GARAGE"], 99},{"Function", function() fibaro:sleep(300) end},{"turnOff"},{"If", {{"Value+", id["LAMPE_GARAGE"], 1}}}},{"Repeat"}) -- Une action manuelle relance tout GEA.add( id["LAMPE_GARAGE"], -1, "", {{"Inverse"}, {"RestartTask", malampegar}, {"RestartTask", malampegardim}}) ----------------------------------------------- 1
Syris Posté(e) le 1 décembre 2015 Signaler Posté(e) le 1 décembre 2015 Je reviens sur mon soucis BP, je vais essayé avec cela, mais n'y a t'il pas une solution "plus GEA" pour le faire ? ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- -- GESTION SCENARIOS BP -- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- function veriftachescenario1() local RGBprogramme = tonumber(fibaro:getValue(23, 1)) -- Retourne True si le prog RGB est déjà enclenché return (RGBprogramme > 0) end GEA.add({SCENARIO1, {"Function",function() return veriftachescenario1() end}}, -1, "Lancement Scénario TV", {{"Program", id["RGB"], 1},{"turnOff",id["SPOT_SALON"]}}) GEA.add({SCENARIO1, {"Function",function() return veriftachescenario1() end}}, -1, "Stop Scénario TV", {{"Inverse"},{"turnOff",id["RGB"]}}) --GEA.add(SCENARIO1, -1, "Fin du Scénario TV", {{"Inverse"},{"turnOff",id["RGB"]}}) C'est bof, et sa ne différencie pas la mise en route du scenario et qqn qui mettrai manuellement le programme 1 sur le rgb. Sinon il y a en utilisant une variable globale supplémentaire, mais pareil, sa ne fonctionne pas vraiment.. GEA.add({SCENARIO1, SCENE1DESACTIVE}, -1, "Lancement Scénario TV", {{"Program", id["RGB"], 1},{"turnOff",id["SPOT_SALON"]}, {"Global", "SCENE1", 1}}) GEA.add({SCENARIO1, SCENE1ACTIVE}, -1, "Stop Scénario TV", {{"turnOff",id["RGB"]}, {"Global", "SCENE1", 0}})
flechg Posté(e) le 1 décembre 2015 Signaler Posté(e) le 1 décembre 2015 (modifié) Merci a pepite, hansolo, et chris6783 pour vos réponses @pepite peux tu me me dire ce que je dois mettre après car je maîtrise pas encore bien gea merci pour votre patience s Je m excuses mais j ai pas trop compris je mets la condition volet ouvert a +80% GEA.add({"Value+", id["VOLET_EMMA"], 85}, .....) mais après je sais pas quoi mettre la variable global ???????? GEA.add({"Value+", id["VOLET_EMMA"], 85}, -1, "",{estTravail, {"Time", "07:10", "07:12"}, {"Open",id["VOLET_EMMA"],20},{"Open",id["VOLET_PARENT"],20}, {"Open",id["VOLET_SALON"],20}}) est ce que cela serait juste merci encore pour votre patience s Modifié le 1 décembre 2015 par flechg
Nikko Posté(e) le 2 décembre 2015 Signaler Posté(e) le 2 décembre 2015 Bonjour @flechg: ta condition estTravail devrait être dans la 1ere partie: -- Si le volet est ouvert à +85% entre 7h10 et 7h12 Ouvrir les 3 volets à 20% GEA.add({"Value+", id["VOLET_EMMA"], 85}, -1, "",{estTravail, {"Time", "07:10", "07:12"}, {"Open",id["VOLET_EMMA"],20},{"Open",id["VOLET_PARENT"],20}, {"Open",id["VOLET_SALON"],20}}) -- Si le volet est ouvert à +85% ET VG jourChomé sur NON, que nous sommes entre 7h10 et 7h12 alors Ouvrir les 3 volets à 20% local estTravail = {"Global", "JourChome", "NON"} GEA.add({{"Value+", id["VOLET_EMMA"], 85},estTravail}, -1, "",{{"Time", "07:10", "07:12"}, {"Open",id["VOLET_EMMA"],20},{"Open",id["VOLET_PARENT"],20}, {"Open",id["VOLET_SALON"],20}}) Voilà le code que j'utilise par exemple pour ouvrir mes VR en 2 fois: J'ouvre à une niveau précis lorsque présent, puis seconde ouverture après un certain temps. Si entre temps, avant ou après j'ai activé manuellement GEA ne reprend pas le dessus (à moins d'avoir totalement refermé...) J'ai ces lignes pour chaque VR local estPresent = {"Global","EtatMaison","PRESENT"} local paspreArmement = {"Value",id["SATEL_PREARMEMENT"],0} local alarmeInactive = {"Value",id["SATEL_ARMEMENT"],0} GEA.add({estPresent,paspreArmement,alarmeInactive,{"Value-",id['VR_BUREAU'],5}}, 31 , "" , {{"Time","Sunrise>08:00","10:00"},{"Open",id["VR_BUREAU"],40}}) GEA.add({estPresent,paspreArmement,alarmeInactive,{"Value",id['VR_BUREAU'],40}}, 5 * 60 , "" , {{"Time","Sunrise>08:00","10:00"},{"Open",id["VR_BUREAU"],100}}) Nicolas
flechg Posté(e) le 2 décembre 2015 Signaler Posté(e) le 2 décembre 2015 @NIKKO merci je comprends mieux la donc {"Value-",id['VR_BUREAU'],5 le 5 correspond au pourcentage au dessus duquel il prend pas en compte si action manuel c est bien ca merci encore
HANSOLO Posté(e) le 2 décembre 2015 Signaler Posté(e) le 2 décembre 2015 Si l'ouverture du volet est inférieur à 5% alors.....(il y a toujours des petits écarts dans les %, un volet fermé est rarement à 0% d'ou la tolérance avec le 5%) Pas forcément suite à une action sur la commande manuelle mais aussi suite à une action via l'interface Fibaro ou une scène ou.... On récupère l'état du volet, de la lampe... pas l'état de la commande manuelle (sauf à utiliser le sceneActivation de certains modules)
flechg Posté(e) le 3 décembre 2015 Signaler Posté(e) le 3 décembre 2015 salut a tous je reviens vers vous depuis hier j ai suivi les recommandation et fait le teste ce matin mais aujourd’hui pas de volets ouvert donc j ai pas du bien comprendre la chose comme d habitude donc je récapitule si j ouvre un volet par ex au salon a plus de 20 OU 50% je voudrais que l action gea continue a m ouvrir les volets et pas me les refermés voila ce que j ai mis hier en écoutant les explications de nikko et hansolo GEA.add({estTravail,{"Value-",id['VOLET_PARENT'],5}, {"Value-",id['VOLET_EMMA'],5}, {"Value-",id['VOLET_SALON'],5}}, 1*60 , "" , {{"Time","07:10", "07:12"}, {"Open",id["VOLET_EMMA"],20}, {"Open",id["VOLET_PARENT"],20}, {"Open",id["VOLET_SALON"],20}}) GEA.add({estTravail,{"Value-",id['VOLET_PARENT'],25}, {"Value-",id['VOLET_EMMA'],25}, {"Value-",id['VOLET_SALON'],25}}, 1*60 , "" , {{"Time","07:15", "07:17"}, {"Open",id["VOLET_EMMA"],50}, {"Open",id["VOLET_PARENT"],50}, {"Open",id["VOLET_SALON"],50}}) GEA.add({estTravail,{"Value-",id['VOLET_PARENT'],55}, {"Value-",id['VOLET_EMMA'],55}, {"Value-",id['VOLET_SALON'],55}}, 1*60 , "" , {{"Time","07:30", "07:35"}, {"Open",id["VOLET_EMMA"],100}, {"Open",id["VOLET_PARENT"],100}, {"Open",id["VOLET_SALON"],100}}) merci encore
HANSOLO Posté(e) le 3 décembre 2015 Signaler Posté(e) le 3 décembre 2015 GEA.add({{estTravail}, {"Value-",id['VOLET_PARENT'],5}}, 1*60, "", {{"Time","07:10", "07:12"}, {"Open",id["VOLET_PARENT"],20}}) GEA.add({{estTravail}, {"Value-",id['VOLET_EMMA'],5}}, 1*60, "", {{"Time","07:10", "07:12"}, {"Open",id["VOLET_EMMA"],20}}) GEA.add({{estTravail}, {"Value-",id['VOLET_SALON'],5}}, 1*60, "", {{"Time","07:10", "07:12"}, {"Open",id["VOLET_SALON"],20}}) GEA.add({{estTravail}, {"Value-",id['VOLET_PARENT'],25}}, 1*60, "", {{"Time","07:10", "07:12"}, {"Open",id["VOLET_PARENT"],50}}) GEA.add({{estTravail}, {"Value-",id['VOLET_EMMA'],25}}, 1*60, "", {{"Time","07:10", "07:12"}, {"Open",id["VOLET_EMMA"],50}}) GEA.add({{estTravail}, {"Value-",id['VOLET_SALON'],25}}, 1*60, "", {{"Time","07:10", "07:12"}, {"Open",id["VOLET_SALON"],50}}) GEA.add(estTravail, 1*60, "", {{"Time","07:30", "07:35"}, {"Open",id["VOLET_EMMA"],100}, {"Open",id["VOLET_PARENT"],100}, {"Open",id["VOLET_SALON"],100}}) Tel que tu as écrit tes lignes GEA, dés qu'un des volets est ouvert de plus de 5%, 25% ou 55%, tous les volets ne s'ouvriront pas de 20%, 50% ou 100% selon la ligne GEA concernée. Si tu veux individualiser tes volets, pas le choix d'écrire une ligne GEA par volet. (pour la dernière ligne j'ai compris que quoi qu'il arrive les volets doivent s'ouvrir complétement à 7:30) Vérifie quand même les Values de tes volets quand il sont fermés (avec HCToolKit de @Krikroff par exemple)
flechg Posté(e) le 3 décembre 2015 Signaler Posté(e) le 3 décembre 2015 @HANSOLO merci de ton aide mais est ce que j ai bien compris dans la ligne que tu as mis GEA.add({{estTravail}, {"Value-",id['VOLET_PARENT'],5}}, 1*60, "", {{"Time","07:10", "07:12"}, {"Open",id["VOLET_PARENT"],20}}) si le volet est fermé c est a dire entre 0 et 5 % il s ouvre alors a 20% GEA.add({{estTravail}, {"Value-",id['VOLET_PARENT'],55}}, 1*60, "", {{"Time","07:10", "07:12"}, {"Open",id["VOLET_PARENT"],50}}) par contre si il est ouvert a plus de 55% avant l heure il ne se refermera pas a 20% par ex merci
Nikko Posté(e) le 3 décembre 2015 Signaler Posté(e) le 3 décembre 2015 @flechg: GEA.add({{estTravail}, {"Value-",id['VOLET_PARENT'],5}}, 1*60, "", {{"Time","07:10", "07:12"}, {"Open",id["VOLET_PARENT"],20}}) Dans ce cas là lorsque la valeur du VR est inféreure à 5, alors le VR sera ouvert à 20 (si condition de temps et VG JOURCHOME sur NON) GEA.add({{estTravail}, {"Value-",id['VOLET_PARENT'],55}}, 1*60, "", {{"Time","07:10", "07:12"}, {"Open",id["VOLET_PARENT"],50}}) Dans ce cas là lorsque la valeur du VR est inféreure à 55, alors le VR sera ouvert à 50 (si condition de temps et VG JOURCHOME sur NON). Donc si ton VR est ouvert à 70 alors il ne se refermera pas. normalement, pas d'accolades juste autour de estTravail: local estTravail = {"Global", "JourChome", "NON"} GEA.add({estTravail, {"Value-",id['VOLET_PARENT'],5}}, 1*60, "", {{"Time","07:10", "07:12"}, {"Open",id["VOLET_PARENT"],20}}) Nicolas
flechg Posté(e) le 3 décembre 2015 Signaler Posté(e) le 3 décembre 2015 @ NIKKO oui je suis d accord avec toi mais j ai pa la double accolade autour de "estTravail" j ai recopié le code au-dessus j ai le même code que celui que tu as mis tu penses qu en dissociant chaque volet cela fonctionne je n ai pas eu le temps d essayer merci encore
jojo Posté(e) le 3 décembre 2015 Signaler Posté(e) le 3 décembre 2015 pour faire un OU tu dois faire une ligne séparée àchaque fois => je pense que c'est mieux de faire une ligne par volet, et comme ça chacun vivra sa vie
Messages recommandés