pepite Posté(e) le 1 avril 2015 Signaler Posté(e) le 1 avril 2015 je vais pe dire une betise, mais c'est le message que tu veux avoir avec la distance ? GEA.add({"Global-", "DistanceMaison", "0.1"}, 30, "Je suis à moins de #value# m à #time# de la maison", {{"MaxTime", "1"}}) Si oui, avec un MaxTime à 1 tout s'explique ;-) Ces lignes local DistanceBureau1 = {"Function", function() return true, math.floor(fibaro:calculateDistance(fibaro:getValue(238, "Location"), EmplacementBureau1))/1000 end}Sont appelees ici par exemple : GEA.add(DistanceBureau1, 30, "", {{"Global", "DistanceBureau", "#value#"}, {"Label", id["DISTANCE"], "Label2", "#value# km"}}) lorsque mes coordonnées geo changent. C'est le cas : si valeur Variable "Distance Maison" inferieure à 0,1 tu recois le message GEA.add({"Global-", "DistanceMaison", "0.1"}, 30, "Je suis à moins de #value# m à #time# de la maison", {{"MaxTime", "1"}})--> Mets un Repeat et enleve le MaxTime : -- {"MaxTime", <number>} -- Stop après X execution // Stop after X run
jojo Posté(e) le 1 avril 2015 Signaler Posté(e) le 1 avril 2015 ce code est trop compliqué pour moi ... Steven m'avais proposé un code comme celui-ci pour mettre des tâches en attente. Peux-être peux-tu adapter ton code ? -- Mettre ECS==Oui si LUM_SDBREZ_DOUCHE est ON et ECS == Non -- Tache en sommeil (NotStarted) -- Cette tache va passer la variable à Non si elle est à Oui depuis plus de 20 minutes local autoECSNon = GEA.add (estECS, 20*60, "Variable ECS à OUI depuis #durationfull#", {{"VirtualDevice", VdID["VAR_ECS"], 4}, {"NotStarted"}}) -- Cette tache va passer la variable à Oui si la lumière de la douche est allumée depuis 1 min et que la variable ECS est à non -- Elle va aussi redémarrer la tache si dessus GEA.add({DeviceID["LUM_SDBREZ_DOUCHE"], pasECS}, 1*60, "",{{"VirtualDevice", VdID["VAR_ECS"], 3}, {"RestartTask", autoECSNon}})
flechg Posté(e) le 1 avril 2015 Signaler Posté(e) le 1 avril 2015 Bonjour a tous comment devrais je formuler le code si je veux par ex que si mon detecteur de mouvement ne detecte rien pendant 5min alors il m arme l alarme car je suis un peu perdu merci encore s
pepite Posté(e) le 1 avril 2015 Signaler Posté(e) le 1 avril 2015 @flechg Peut-etre que : GEA.add(id["detecteur"], -- ton detecteur de mouvement en condition, GEA verifie son etat 5*60, -- duree "pas de detect depuis #duree#", --message { {"Inverse"}, --inverse la condition ON de id["detecteur"], donc regarde s'il est OFF {"setArmed", <id_module>} --arme le module }) 1
flechg Posté(e) le 1 avril 2015 Signaler Posté(e) le 1 avril 2015 Merci Pepite pour ta rapidité je teste de suite merci encore pour l entraide dans ce forum s
971jmd Posté(e) le 1 avril 2015 Signaler Posté(e) le 1 avril 2015 @Pepite j'ai essayer mai effectivement ça ne fonctionne pas le truc est que Steven utilise surement le meme module pour quatre fonctions : allume et éteindre et active et désactive le mode auto manu
Sakkhho Posté(e) le 1 avril 2015 Signaler Posté(e) le 1 avril 2015 Bon je reviens sur mon sujet, désolé de vous embêter mes tests d'hier on rien donné http://www.domotique-fibaro.fr/index.php/topic/1211-support-gea/?p=64101 GEA.add({id["ECL_CHAMBRE_PARENTS"], Intrusion }, -1, "Mode Panic OFF", {{"Inverse"}, {"turnOff", id["WP_LAVE_LINGE"]}, {"VirtualDevice", id["ETAT_ALARME"], 1}}) je ne sais pas comment mettre en condition l'appui sur l'interrupteur, car ici ca stope la scene de suite, car la scene justement fait clignoter le dimmer
Sakkhho Posté(e) le 1 avril 2015 Signaler Posté(e) le 1 avril 2015 peut être une alernative car j'ai un dimmer, si dans ma scene je dit, de passer de value 80 à 20 mais que dans GEA je trouve le moyen d'arrêter la scene si value à 0 ca pourrait marcher non ? EDIT ben non, ca fonctionne pas mais en meme temps ca s'explique :-) j'ai bien modifié ma scene pour faire un va et vient entre 20 et 80 puis j'ai mis ca local Ecl_Parents_off = {"Value", id["ECL_CHAMBRE_PARENTS"], 0} GEA.add({Ecl_Parents_off, Intrusion}, -1, "Mode Panic OFF", {{"VirtualDevice", id["ETAT_ALARME"], 1}}) sauf que quand j'appuie sur l'inter (donc value 0), la scene le remet à 20 ou 80 de suite et je pense que GEA à pas le temps de modifier la variable [DEBUG] 20:30:36: GEA Version 5.33 : en exécution... [DEBUG] 20:30:36: [ Value [181|Ecl_Chambre_Parents] = 0 ] Add Property : ajout de la tache pour lancement instantané (ID:22) [VirtualDevice,182,1] [If..] EDIT2: je sais pas si c'est vraiment une histoire de temps, car si je mets un fibarosleep de 10s dans la scene, ca fonctionne pas non plus
Sakkhho Posté(e) le 1 avril 2015 Signaler Posté(e) le 1 avril 2015 bon semble avoir trouvé sans mettre la variable "intrusion" dans la condition et en jouant avec les valeurs 80/20 et 0 quand j'appuie sur l'inter - j'arrive à changer la variable donc à arrêter la scene. GEA.add(id["ECL_CHAMBRE_PARENTS"], -1, "Mode Panic OFF", {{"Inverse"},{"VirtualDevice", id["ETAT_ALARME"], 1}}) ca fonctionne et c'est le principal, mais je voudrais bien comprendre :-) ... Mode gros boulet ... mon local Intrusion = ..... était pas correct. désolé
atalata Posté(e) le 1 avril 2015 Signaler Posté(e) le 1 avril 2015 Hello tous, une nouvelle petite question sur GEA. J'ai un termostat SRT321, et pour envoyer la consigne, dans le module virtuel pour les mdoes manuels, j'appelle la commande suivante: fibaro:call(deviceId_ThermostatPrincipal, "setTargetLevel", 19.00) pour placer à 19° par exemple Pour la partie automatique, je compte utiliser GEA bien plus complet que l'interface heating panel qui est trop limitée. Comment puis je envoyer la consigne en utilisant les options GEA ?
jojo Posté(e) le 1 avril 2015 Signaler Posté(e) le 1 avril 2015 Bonsoir, Je souhaite actionner un enemble d'interrupteurs en une fois. Quel est le code (autre que individuellement pour chaque lampe) que je devrais utiliser ? J'ai essayé ceci (mais sans succès, autrement je ne vous poserais pas la question ...) local groupeLUM = { DeviceID["LUM_HALLENTREE"], DeviceID["PRISE_BUREAU"] } GEA.add (true, 1, "Extinction groupe lumières", {{"turnOff", groupeLUM}}) Merci de vos bonnes idées
HANSOLO Posté(e) le 1 avril 2015 Signaler Posté(e) le 1 avril 2015 @atalata pour moi GEA ne gère pas le setTargetLevel (pour le moment)
971jmd Posté(e) le 2 avril 2015 Signaler Posté(e) le 2 avril 2015 bonjour a tous j'ai un soucie comment fait-on pour tester RestartTask et StopTask
Nikko Posté(e) le 2 avril 2015 Signaler Posté(e) le 2 avril 2015 @jojo: Dans ton exemple si tu veux éteindre plusieurs lampes d'un coup il faut mettre: GEA.add (true, 1, "Extinction groupe lumières", {{"turnOff",DeviceID["LUM_HALLENTREE"]},{"turnOff",DeviceID["LUM_HALLENTREE"]}}) @971jmd: Pour le Restart et Stop, un exemple qui doit fonctionner, en fonction d'une variable globale Nuit/Jour on modifie la tempo d'arret d'un eclairage local Tempo_1 = GEA.add(id["ECL_ESC_SS"], 10*60, "", {{"turnOff", id["ECL_ESC_SS"]}}) local Tempo_2 = GEA.add(id["ECL_ESC_SS"], 20*60, "", {{"turnOff", id["ECL_ESC_SS"]}}) GEA.add({"Global","JOUR","OUI"}, 30 , "Nous sommes le jourr" , {{"RestartTask", Tempo_1},{"StopTask",Tempo_2}}) GEA.add({"Global","JOUR","NON"}, 30 , "Nous sommes la nuit" , {{"RestartTask", Tempo_2},{"StopTask",Tempo_1}}) Nicolas
pepite Posté(e) le 2 avril 2015 Signaler Posté(e) le 2 avril 2015 @sakkhho : super bien joue, je crois qu'on t'avait conseille de tester sans intrusion aussi ;-), ca depend ce qu'etait "intrusion', la valeur d'une globale je crois ? @jojo : avec ca peut-etre mais faut creer un groupe : jamais utilisé ;-) {"Group", <numero>} -- Attribut cet événement au groupe {"Group", 2} @atalata : normalement {"Value", id, temp} ou alors faire le setTargetLevel dans un Module Virtuel avec differents boutons de differentes temperatures et avec GEA tu appuies sur les boutons : {"VirtualDevice", id, num bouton} @971jmd : oui je t'ai dit j'ai triche en supposant que l'inter etait un zwave qui modifiat une variable on y retourne alors ;-)
jojo Posté(e) le 2 avril 2015 Signaler Posté(e) le 2 avril 2015 merci pepite, J'vais bien pensé à cela, mais je ne vois pas comment l'utiliser ? Quelqu'un à déjà utilisé cette fonction et aurait un retour d'expérience ?
dvine Posté(e) le 2 avril 2015 Signaler Posté(e) le 2 avril 2015 Salut, d'abord aimer le script de gea et jouer avec lui. Vous avez une question moi-même maintenant. Je veux lire et utiliser la valeur d'une prise murale. exemple simple: prise murale est au-dessus de 200 watts envoient ensuite poussoir GEA.add ({"Sensor +" id ["Wasmachine"], 200}, -1, "ON wasmachine") ou il avec Value+ dans la ligne de script A tout ce que je veux envoyer un poussoir Lorsque lave-linge est en marche et une fois terminé. En regardant et en regardant ce forum ou des exemples, mais ne voit plus jamais soloution Doit être simple je pense
pepite Posté(e) le 2 avril 2015 Signaler Posté(e) le 2 avril 2015 Hi, I think i have understood, but can you try in english please ? thanks
dvine Posté(e) le 2 avril 2015 Signaler Posté(e) le 2 avril 2015 désolé ma page web le passage automatique àPays-Bas ... Cela a changé maintenant
Steven Posté(e) le 2 avril 2015 Auteur Signaler Posté(e) le 2 avril 2015 @dvine Si tu utilises le -1 il faut mettre l'ID de ta TV dans l'entête du script : Exemple si ton ID est 255 --[[ %% properties 255 power 255 valueSensor %% globals --]] . . . @Sebbrunie1 Quelques {"Repeat"} devrait résoudre ton problème, je te laisse chercher . . @ihexley Voici une proposition (non testée) pour utiliser le setTargetLevel avec GEA. function setTarget(id, valeur) fibaro:call(id, "setTargetLevel", valeur) end GEA.add( {"Global", "Presence", "present"}, 30*60, "", {{"Time", "07:00", "01:00"}, {"Function", setTarget(33, 27)}})
pepite Posté(e) le 2 avril 2015 Signaler Posté(e) le 2 avril 2015 @sebbrunie : tu vois l'expert est passé, des repeat ;-) ..tu avais essaye..pour une fois que j'avais juste ;-) @steven : wasmachine = TV tu crois hihihi ? j'essaie toujours de piger le coup de l'interrupteur ;-) @jojo :zozotte l'utilise avec ses volets roulants : -- == VOLETS ROULANTS == -- ETE : fermer partiel les VR a la plage horaire définie si température extérieure > 24 degré et temps clair depuis 15 mins sauf si vacances-- mais les reouvrir si temp < 22 ou temps plus clair pendant 15 mins et enfin à 16h les réouvrir et mettre la variable a 0-- la condition VR_xxx_Auto + la position des VR permet de vérifier si manuel ou automatique-- salon: de 12h à 16h local hourAutoOn = {"Time","12:00","16:00"} local hourAutoFin = {"Time","16:01","16:10"} GEA.add({{"Value+", id["TERRASSE_TEMP"], 24}, {"Global", "VR_Salon_Auto", "0"}, {"Value+", id["SALON_VR"], 50} , estNotVacances, estEte}, 15*60, "", {hourAutoOn, {"Group", 2}}) -- si temp > 24 GEA.add({{"Property", 3, "weatherConditionConverted", "clear"}, {"Global", "VR_Salon_Auto", "0"}, {"Value+", id["SALON_VR"], 50} , estNotVacances, estEte}, 15*60, "", {hourAutoOn, {"Group", 2}}) -- si temps clair GEA.add({"Group", 2}, 30, "", {{"Close",id["SALON_VR"],40}, {"Global", "VR_Salon_Auto", "1"}}) -- alors on baisse les volets palier 1 et on change la variable voila un petit lien pour creer un groupe http://tutoriels.domotique-store.fr/content/76/175/fr/groupes-et-associations.html @alatala : reponse du maitre : le ptit function ;-)
Steven Posté(e) le 2 avril 2015 Auteur Signaler Posté(e) le 2 avril 2015 GEA Boulette Game Rapel du scénario : 1. l'ouverture de la porte allume la lampe 2. la fermeture de la porte éteint la lampe 3. la lampe s'éteint automatiquement après 10 minutes 4. Si j'appuie sur l'interrupteur de la lampe, l’extinction automatique est stoppée. Réponse : local id_lampe = 100 local id_porte = 200 -- Extinction automatique de la lampe après 10mn. local autoOff = GEA.add(id_lampe, 10*60, "", {{"turnOff"}}) -- Extinction de la lampe sur fermeture (inverse) de la porte GEA.add(id_porte, -1, "", {{"Inverse"}, {"turnOff", id_lampe}}) -- Allumage de la lampe sur ouverture de la porte GEA.add(id_porte, -1, "", {{"turnOn", id_lampe}, {"RestartTask", autoOff}}) -- Appuie sur l'interrupteur de la lampe, on stoppe l'extinction automatique. GEA.add{id_lampe, -1, "", {{"StopTask", autoOff}}) Le piège : Quand on ouvre la porte, cela déclenche un {"turnOn", id_lampe} qui va donc exécuter automatiquement la dernière ligne 14, comme si on appuyait sur l'interrupteur. L'astuce : GEA agit en séquentiel soit action par action, une après l'autre. Donc dans notre cas, quand on regarde bien la ligne 11 (ouverture de la porte). Cette ligne va allumé la lampe, ce qui va stopper la tache d’extinction (ligne 14) puis elle va la relancer droit derrière. Par contre, si on appuie sur l'interrupteur, on stop l’extinction sans la relancer. Tordu ? Non.
Steven Posté(e) le 2 avril 2015 Auteur Signaler Posté(e) le 2 avril 2015 @pepite Son code a été modifié ... enfin je crois .. ou je dois changer de cervelle @dvine Attention au espace ... Becarefull with spaces ... Seien Sie vorsichtig mit den Leerzeichen --[[ %% properties 255 power 255 valueSensor --]] local id = { Wasmachine = 255 } GEA.add({"Sensor+" id["Wasmachine"], 200}, -1, "ON wasmachine")
dvine Posté(e) le 2 avril 2015 Signaler Posté(e) le 2 avril 2015 Steven, merci pour la réponse rapide. Je comprends le principe maintenant. Juste changé le code et déjà tester avec succès. vous êtes le meilleur 1
Messages recommandés