pepite Posté(e) le 26 avril 2015 Signaler Posté(e) le 26 avril 2015 ah oui dans ce cas c'est close si c'est un fgrm222, comme pour un volet ;-), a tester
byackee Posté(e) le 26 avril 2015 Signaler Posté(e) le 26 avril 2015 bonjour, Je galère un peu pour gerer le chauffage avec l'ouverture des fenetres, j'aimerais faire un truc du genre: si fenetre1 ou fenetre2 ou fenetre3 est ouverte alors appui sur bouton 2 du virtualdevice1 local fenetresSalonOpen= {"If",{{"Value-", id["FENETRE_COTE_CANAPE"], 1}}},{"If",{{"Value-", id["FENETRE_COTE_FRIGO"], 1}}},{"If",{{"Value-", id["FENETRE_COTE_TV"], 1}}},{"If",{{"Value-", id["FENETRE_COTE_HOTTE"], 1}}} GEA.add(id["RADIATEUR"], -1, "Coupure chauffage", {"VirtualDevice", id["PANNEAU_CHAUFFAGE"], "7"},fenetresSalonOpen, {"Global", "sms", hc2prefixe .."coupure chauffage"},sendsms_vince }) Merci pour votre aide
Fredric Posté(e) le 26 avril 2015 Signaler Posté(e) le 26 avril 2015 (modifié) voila ce que j'ai fait pour chaque fenetres pour qu'elles soient indépendantes --coupure chauffage quand aération de la Piéce local Chauffage2 = {"Global", "Chauffage", "OFF"} -- dans un VD que @Steven àfait, j'ai rajouté deux bouton "Activé" et "Arrêté" pour modifier la variable chauffage, c'est la variable générale local Chauffage4 = {"Global", "Chauffage", "ON"} --Chambre Marion R7 local Chauffage_R7 = {"Global", "R7", "VACANCES"} --j'ai créé une varable par radiateurs pour les rendre individuel local Fentre_Marion_open = {"Value",id["Windows_Marion"], 1} , {"Global", "Windows0", "Fermes"} --les variables "Windows" me servent pour d'autre application. local Fentre_Marion_close = {"Value",id["Windows_Marion"], 0} , {"Global", "Windows0", "Ouverts"} GEA.add({Fentre_Marion_open},60, "", {{"Global", "Windows0", "Ouverts"} , {"VirtualDevice", id["Mod_Chauf_Marion"], 4}}) --si la fenetre est ouverte plus de 60 seconde, change la variable "Windows",on appuis sur le bouton 4 du VD chauffage de la piéce pour le stoper GEA.add({Fentre_Marion_close,Chauffage2},3*60, "", {{"Global", "Windows0", "Fermes"} , {"VirtualDevice", id["Mod_Chauf_Marion"], 4}})--si OFF --si on ferme et que la variable générale est OFF on laisse en off GEA.add({Fentre_Marion_close,Chauffage_R7},3*60, "", {{"Global", "Windows0", "Fermes"} , {"VirtualDevice", id["Mod_Chauf_Marion"], 5}})--si Vacances GEA.add({Fentre_Marion_close,Chauffage4},3*60, "", {{"Global", "Windows0", "Fermes"} , {"VirtualDevice", id["Mod_Chauf_Marion"], 3}})--si ON Modifié le 26 avril 2015 par Fredric
Fredric Posté(e) le 26 avril 2015 Signaler Posté(e) le 26 avril 2015 c'est plutot ça que tu veux -- Ouverture d'une fenêtre GEA.add({"Value",id["Windows_SMG"],1}, 30, "", {{"Global", "Windows5", "Ouverts"}}) GEA.add({"Value",id["Windows_SMD"],1}, 30, "", {{"Global", "Windows5", "Ouverts"}}) GEA.add({"Global", "Windows5", "Ouverts"}, 30, "", {{"VirtualDevice", id["Mod_Chauf_SM"], 4}}) -- Les 2 fenêtres sont fermées GEA.add({{"Value",id["Windows_SMG"],0}, {"Value",id["Windows_SMD"],0},Chauffage2}, 3*60, "", {{"VirtualDevice", id["Mod_Chauf_SM"], 4}, {"Global", "Windows5", "Fermes"},{"Repeat"}})
Fredric Posté(e) le 26 avril 2015 Signaler Posté(e) le 26 avril 2015 @Frederic : comme ca en trichant avec GEA, Disarmed doit etre dans les OPTIONS ;-) GEA.add({"Value!", id["Porte_Entree"], -1}, -1, "", {{"Disarmed"}, {"turnOff", 317}}) La valeur de la porte d'entree sera toujours differente de "-1", normal, dans ce cas, GEA ne prendra en compte la logne que lorsque ce sera"Disarmed" ;-) cela ne fonctionne pas, voici ce qui fonctionne mais avec un "IF" local SECU = {{"If", {{id["Porte_Entree"], "Disarmed"}}}, {"turnOff"}} GEA.add(317, -1, "", SECU ) non ça ne prend pas en compte le désarmer.
byackee Posté(e) le 26 avril 2015 Signaler Posté(e) le 26 avril 2015 Merci fred c'est ca, je partais dans un truc de ouf 1
Fredric Posté(e) le 26 avril 2015 Signaler Posté(e) le 26 avril 2015 @ frédéric, il faudrait peut-être analyser l'ensemble du scénario. Utilises-tu le panneau le panneau d'alarme ? Comment est déclenchée ta sirène ? Je regaedrais du côté du panneau d'alarme, car la sirène ne se déclenche que si un device armé est breached. Je ne pense pas que GEA soit l'idéal ici rien de bien sorcier @Jojo, j'ai une scène fonctionnel qui permet que: quand trois de mes capteurs, bien précis, sont désarmés alors la sirène ne sonne pas, même si un des autres capteur est en alerte ou que l'on active par mégarde la sirène. juste une sécurité oreilles
pepite Posté(e) le 26 avril 2015 Signaler Posté(e) le 26 avril 2015 @Frederic, la boulette est pour moi : c'est avec Value+ ;-) Et j'ai reverifie c'est bien l'astuce que @steven a donne GEA.add({"Value+", id["Porte_Entree"], -1}, -1, "", {{"Disarmed"}, {"turnOff", 317}}) Astuce de Steven regarde : Au fait, dans ton cas, on s'en fiche de l'état de ton module id["OP_SALON"] mais pas contre, comme tu la compris le Armed ou Disarmed ce base sur ce même ID. Il faut donc que l'état (en alerte ou non) de ton détecteur soit en accord avec GEA (inverse ou pas). On peux donc aussi ignoré le inverse en trichant ainsi GEA.add({"Value+", id["OP_SALON"], -1}, -1, "Capteur désarmé", {{"Disarmed"}, {"turnOn", id["LAMPE_BUREAU"]}, }) La valeur de ton détecteur étant TOUJOURS supérieur à -1 (puisque ce dernier ne peux être que 0 ou 1), GEA va donc ignorer l'état du module et juste regarder s'il est armé ou non. Il est parfois utile de "tricher". Si par exemple, tu veux connaitre la valeur d'une variable globale tu peux faire ainsi : GEA.add( {"Global!", "MyVariable", "gfgfgfgf"}, 30, "La valeur est #value#") La valeur de MyVariable n'étant jamais "gfgfgfgf", je suis sà»r que ma condition est toujours bonne et donc GEA va être capable d'aller plus loin de de m'indiquer la vrai valeur (#value#) dans un message push. Voilà , j'espère que j'ai encore plus embrouillé ton cerveau ?
jojo Posté(e) le 26 avril 2015 Signaler Posté(e) le 26 avril 2015 @jojo et @pitp2 non le wallplug ne commande pas la porte de garage pour la commande de la porte du garage j ai un module fibaro FGRM222 @jojo le wallplug controle une prise au garage et lorsque je me sert de la prise et que le wallplug est sur on alors je veux que la porte ne se ferme pas au bout de 15 min ps mais bon c est pas grave vu qu elle ne se ferme pas au bout de 15 min j y arrive pas @ flechg, voilà , maintenant qu'on sait tout, c'est super simple GEA.add(id["WallPlug"], 15*60, "La porte du garage est ouverte depuis #duration#, fermeture automatique", {"Close", id["FGRM Porte garage"], 100})
Fredric Posté(e) le 26 avril 2015 Signaler Posté(e) le 26 avril 2015 ok, j'ai compris pourquoi cela fonctionne pas, la ligne dit que : quand le capteur de la porte vient d’être désarmé alors action... moi je veux que: quand la sirène activé et que le capteurs est a l'état désarmé alors action, coupe la sirène
pepite Posté(e) le 26 avril 2015 Signaler Posté(e) le 26 avril 2015 @Frederic, comme ca alors peut-etre soit avec le "disarmed" : (pris en compte pour laporte d'entree qui est la 1ere condition ;-) local sireneon = {"Value", id["sirene"], 1} local porteentreedesarmee = {"Value+", id["Porte_Entree"], -1} GEA.add({porteentreedesarmee, sireneon}, -1, "", {{"Disarmed"}, {"turnOff", 317}}) soit sans le "disarmed" local sireneon = {"Value", id["sirene"], 1} local porteentreedesarmee = {"Value", id["Porte_Entree"], 0} GEA.add({porteentreedesarmee, sireneon}, -1, "", {{"turnOff", 317}}) Qu'en penses tu ?
flechg Posté(e) le 26 avril 2015 Signaler Posté(e) le 26 avril 2015 @jojo merci pour ton aide mais cela ne fonctionne pas j ai pas de message d erreur mais rien ne se passe donc je m explique d une part j ai un volet roulant de porte de garage avec un module fgrm222 qui actionne la montée et la descente de la porte de garage et de l autre part j ai une prise a coté de mon atelier que j utilise quand je bricole avec un wallplug et je veux que lorsque je me sert de cette prise le wallplug est donc sur ON et donc cela arrête la fermeture automatique de la porte de garage ps cependant je n arrive pas a fermer automatiquement la porte de garage je sais pas pourquoi voici le code que j utilise GEA.add(id["PORTE_GARAGE"], 15*60, "La porte du garage est ouverte depuis plus de 15 minutes", {{"close"}, {"repeat"}}) merci encore pour votre patience s
PITP2 Posté(e) le 27 avril 2015 Signaler Posté(e) le 27 avril 2015 @flechg, on va le faire en plusieurs étapes si tu veux bien. Déjà on va traiter la fermeture auto de ta porte de garage. En fait le FGRM remonte une valeur entre 0 et 100 alors que dans ta syntaxe la condition attendue est plutot "0 ou 1" Peux tu essayer ceci comme code (je ne l'ai pas testé) ? GEA.add({"Value+", id["PORTE_GARAGE"], 90}, 15*60, "La porte du garage est ouverte depuis plus de 15 minutes", {{"close"}, {"repeat"}})
PITP2 Posté(e) le 27 avril 2015 Signaler Posté(e) le 27 avril 2015 Au sujet des conditions et de la manière de procéder pour qu'elles soient correctement prises en compte .. Pouvez vous me dire pourquoi ceci fonctionne local arretlumsalon = GEA.add({{"Value", id["CP_SALON"], 0} , {id["LUMIERE_SALON"]}, {"Sensor-", id["PRISE_TELE"], 1}, {"Global!", "M_Feutre", "oui"} }, 5*60, "", {{"turnOff",id["LUMIERE_SALON"]}}) et que cela non ? local arretlumsalon = GEA.add({{"Value", id["CP_SALON"], 0} , {id["LUMIERE_SALON"]}, {"Sensor-", id["PRISE_TELE"], 1} }, 5*60, "", {{"turnOff",id["LUMIERE_SALON"]}, {"Global!", "M_Feutre", "oui"}}) Dans le deuxieme cas la condition , {"Global!", "M_Feutre", "oui"} n'est pas prise en compte Ce n'est pas dramatique mais j'aimerais bien comprendre
pepite Posté(e) le 27 avril 2015 Signaler Posté(e) le 27 avril 2015 es tu sur que ta premiere ligne fonctionne ? ton {id["LUMIERE_SALON"} est bien pris en compte ? Dans ta 2 eme ligne, ton "GLOBAL!" n'est pas une CONDITION mais une OPTION, pour mettre la valeur de la variable "M_FEUTRE ç OUI c'est comme cela en OPTIONS : sans le ! ;-) {"Global", "M_Feutre", "oui"}
Fredric Posté(e) le 27 avril 2015 Signaler Posté(e) le 27 avril 2015 @Frederic, comme ca alors peut-etre soit avec le "disarmed" : (pris en compte pour laporte d'entree qui est la 1ere condition ;-) local sireneon = {"Value", id["sirene"], 1} local porteentreedesarmee = {"Value+", id["Porte_Entree"], -1} GEA.add({porteentreedesarmee, sireneon}, -1, "", {{"Disarmed"}, {"turnOff", 317}}) soit sans le "disarmed" local sireneon = {"Value", id["sirene"], 1} local porteentreedesarmee = {"Value", id["Porte_Entree"], 0} GEA.add({porteentreedesarmee, sireneon}, -1, "", {{"turnOff", 317}}) Qu'en penses tu ? @pepite, le premier, j'ai déja testé et cela fonctionne pas, coupe la sirène que ce soit armé ou désarmé et le second, ça coupe la sirène quand la porte est fermé. Merci pour tes idées, c'est vraiment l'état "désarmé" que je n'arrive pas à lui faire prendre ne compte.
Fredric Posté(e) le 27 avril 2015 Signaler Posté(e) le 27 avril 2015 (modifié) Au sujet des conditions et de la manière de procéder pour qu'elles soient correctement prises en compte .. Pouvez vous me dire pourquoi ceci fonctionne local arretlumsalon = GEA.add({{"Value", id["CP_SALON"], 0} , {id["LUMIERE_SALON"]}, {"Sensor-", id["PRISE_TELE"], 1}, {"Global!", "M_Feutre", "oui"} }, 5*60, "", {{"turnOff",id["LUMIERE_SALON"]}}) et que cela non ? local arretlumsalon = GEA.add({{"Value", id["CP_SALON"], 0} , {id["LUMIERE_SALON"]}, {"Sensor-", id["PRISE_TELE"], 1} }, 5*60, "", {{"turnOff",id["LUMIERE_SALON"]}, {"Global!", "M_Feutre", "oui"}}) Dans le deuxieme cas la condition , {"Global!", "M_Feutre", "oui"} n'est pas prise en compte Ce n'est pas dramatique mais j'aimerais bien comprendre tu as mis "Global!", ça c'est pour dire si, la variable est autre que "oui"; c'est plus une condition qu'une action. je l'utilise mais avant: local arretlumsalon = GEA.add({{"Value", id["CP_SALON"], 0} , {id["LUMIERE_SALON"]}, {"Sensor-", id["PRISE_TELE"], 1}, {"Global!", "M_Feutre", "oui"}}, 5*60, "", {{"turnOff",id["LUMIERE_SALON"]}}) et si c'est pour changer la variable, juste enlever le point d'exclamation "!" Arf!! plus rapide que moi @Pepite Modifié le 27 avril 2015 par Fredric
pepite Posté(e) le 27 avril 2015 Signaler Posté(e) le 27 avril 2015 @Frederic : rassure moi la 2 eme fonctionne non ? Pour la 1ere : essaie tout simple sans la sirene pour voir s'il prend l'etat desarme ? t'as bien mis dans l'entete ta porte d'entree ? t'as regarde le json du module porte d'entree ? local porteentreedesarmee = {"Value+", id["Porte_Entree"], -1} GEA.add(porteentreedesarmee, -1, "", {{"turnOff", 317}})
Fredric Posté(e) le 27 avril 2015 Signaler Posté(e) le 27 avril 2015 oui, j'ai mis la sirène en entête et même la porte, value et armed au cas ou... alors, cela j'ai testé mais ça marche pas, mais peut-être avec un "Repeat". là je peut plus tester, j'ai plus la main, dans l'aprém
pepite Posté(e) le 27 avril 2015 Signaler Posté(e) le 27 avril 2015 pour de l'instantané, pas besoin de Repeat ;-) Essaie sans instantané pour éliminer cela aussi non, mais un 30 ? et jette un oeil au json ;-)
PITP2 Posté(e) le 27 avril 2015 Signaler Posté(e) le 27 avril 2015 Merci les copains @pepite, oui la première ligne fonctionne très bien même par contre je pensais que l'on pouvait utiliser les "if" avec les même tests que pour les conditions mais dans ce cas là en option. cf de la bible by Steven {"If", {[{<condition}[,{<condition}[,...]]}} -- L'événement sera autorisé uniquement si toutes les conditions sont valides ce qui voudrait dire que je peux utiliser "Global!" enfin c'est comem cela que j'ai interprété et cela semble fonctionner mais pas pour tout. Pour preuve ceci fonctionne aussi très bien et pourtant le "test" est dans la partie "actions" local luminosite_faible_salon_tveteinte_pasmodefeutre = {"If",{{"Value-", id["LUMINOSITE_SALON"], 50}, {"Sensor-", id["PRISE_TELE"], 1},{"Global!", "M_Feutre", "oui"}}} GEA.add(id["CP_SALON"], -1, "", {luminosite_faible_salon_tveteinte_pasmodefeutre , {"Value", id["LUMIERE_SALON"], 100}})
pepite Posté(e) le 27 avril 2015 Signaler Posté(e) le 27 avril 2015 @PITP2 : je viens d'apprendre qqch alors, je croyais que lorsqu'on mettait juste id["nom"] dans une condition multiples, il fallait le mettre en 1er pour que GEA le prenne en compte ;-) Pour les IF, oui tu peux les mettre dans les ACTIONS mais si dans ta declaration de varibale "local" ou ecrit directement tu mets les "IF", ce que tu n'aas pas mis du tout dans la ligne que tu nous as soumise ;-) GEA.add({{"Value", id["CP_SALON"], 0} , {id["LUMIERE_SALON"]}, {"Sensor-", id["PRISE_TELE"], 1} }, 5*60, "", {{"turnOff",id["LUMIERE_SALON"]}, {"Global!", "M_Feutre", "oui"}})
PITP2 Posté(e) le 27 avril 2015 Signaler Posté(e) le 27 avril 2015 Alors en ce qui concerne les IF je les mets encore mais selon le gars cité dans la bible (Steven ) ils ne sont plus nécessaire ... et que si il lit cela je vais me faire disputer enfin je crois qu'il faudrait que Dieu lise ce post pour nous re re montrer le droit chemin
pepite Posté(e) le 27 avril 2015 Signaler Posté(e) le 27 avril 2015 @PITP2 Ils ne sont plus necessaires si tu les mets dans les CONDITIONS en début de ligne ;-) Si tu veux les mettre dans les OPTIONS, je crois qu'il faut les "IF", sinon ca ne fonctionne pas, cf ta ligne et ton Global! ;-)
Messages recommandés