pepite Posté(e) le 26 octobre 2015 Signaler Posté(e) le 26 octobre 2015 ou supprime les guillemets juste après duration et garde ce apres OFF pour bien comprendre avec le push "N1 - lampe salon allumée depuis #duration# -> OFF"
971jmd Posté(e) le 26 octobre 2015 Signaler Posté(e) le 26 octobre 2015 @ jojo c'est très prometteur je continu les testes
jojo Posté(e) le 26 octobre 2015 Signaler Posté(e) le 26 octobre 2015 la règle d'or : "keep it simple !"
971jmd Posté(e) le 26 octobre 2015 Signaler Posté(e) le 26 octobre 2015 concernant les temps 1mm 43 off salon 2mm 43 on rgb 4mm 45 off rgb
jojo Posté(e) le 26 octobre 2015 Signaler Posté(e) le 26 octobre 2015 GEA ne sera jamais précis qu'à 30sec près, il travail par cycle de 30s. si tu mes une valeur entre 1 et 30 sec, l'action se réalisera endéans les 30s (mais peut-être après 10s) Si tu veux absolument min 30s, tu mes 31s, et alors l'action se déroulera après 30s et en déans la minute. Pour le reste, ça fonctionne ?
971jmd Posté(e) le 26 octobre 2015 Signaler Posté(e) le 26 octobre 2015 (modifié) si détection et lampe ON et RGB ON alors éteindre RGB et rallumer la lampe salon Fonctionnement actuelle: si détection et lampe ON et RGB ON alors éteindre RGB la lampe salon reste allumer +/- 40s et s' éteint ( ne fonctionne pas à 100% ) si détection et lampe OFF et RGB ON alors éteindre RGB et rallumer lampe ( ne fonctionne pas) si détection et lampe ON et RGB OFF alors revenir au début ( ne fonctionne pas) Modifié le 26 octobre 2015 par 971jmd
971jmd Posté(e) le 26 octobre 2015 Signaler Posté(e) le 26 octobre 2015 J'ai essayer une méthode avec deux variable et le code fonctionne a 100% et j'ai mis le RGBW de cotée pour le moment mai je suis sur qu'il y a un moyen plus simple ---- 1 les lampes off GEA.add({id["DETECTEUR_MOUVE"], {"Global", "jour_nuit", "1"}, {"Value", id["LAMPE_SALON"], 0}}, -1, "", {{"Global", "ecl_nuit1", "1"}, {"Global", "ecl_nuit2", "1"}}) -- reset variable GEA.add({id["DETECTEUR_MOUVE"], {"Global", "jour_nuit", "1"}, {"Value", id["CENTRE_TABLE"], 1}, {"Value", id["LAMPE_SALON"], 1}}, -1, "", {{"turnOff", id["CENTRE_TABLE"]}, {"Global", "ecl_nuit1", "4"}, {"Global", "ecl_nuit2", "3"}}) ----- la lampe salon OFF et la lampe cuisine on GEA.add({id["DETECTEUR_MOUVE"], {"Global", "jour_nuit", "1"}, {"Value", id["CENTRE_TABLE"], 1}, {"Value", id["LAMPE_SALON"], 0}}, -1, "", {{"turnOff", id["CENTRE_TABLE"]}, {"Global", "ecl_nuit1", "5"}, {"Global", "ecl_nuit2", "5"}}) ----les differents modes SALON -----1 GEA.add({"Global", "ecl_nuit1", "1"}, -1, "on_salon", {{"turnOn", id["LAMPE_SALON"]}, {"Global", "ecl_nuit1", "2"}}) GEA.add({"Global", "ecl_nuit1", "2"}, 2*60, "off_salon", {{"turnOff", id["LAMPE_SALON"]}}) -----2 GEA.add({"Global", "ecl_nuit1", "3"}, -1, "on_salon", {{"turnOn", id["LAMPE_SALON"]}, {"Global", "ecl_nuit1", "4"}}) GEA.add({"Global", "ecl_nuit1", "4"}, 2*60, "off_salon", {{"turnOff", id["LAMPE_SALON"]}}) -----3 GEA.add({"Global", "ecl_nuit1", "5"}, -1, "on_salon", {{"turnOn", id["LAMPE_SALON"]}, {"Global", "ecl_nuit1", "6"}}) GEA.add({"Global", "ecl_nuit1", "6"}, 2*60, "off_salon", {{"turnOff", id["LAMPE_SALON"]}}) ------ les differents modes CUISINE -----1 GEA.add({"Global", "ecl_nuit2", "1"}, 1*60, "", {{"turnOn", id["CENTRE_TABLE"]}, {"Global", "ecl_nuit2", "2"}}) GEA.add({"Global", "ecl_nuit2", "2"}, 3*60, "", {{"turnOff", id["CENTRE_TABLE"]}, {"Global", "ecl_nuit1", "0"}, {"Global", "ecl_nuit2", "0"}}) ------2 GEA.add({"Global", "ecl_nuit2", "3"}, 1*60, "", {{"turnOn", id["CENTRE_TABLE"]}, {"Global", "ecl_nuit2", "4"}}) GEA.add({"Global", "ecl_nuit2", "4"}, 3*60, "", {{"turnOff", id["CENTRE_TABLE"]}, {"Global", "ecl_nuit1", "0"}, {"Global", "ecl_nuit2", "0"}}) -----3 GEA.add({"Global", "ecl_nuit2", "5"}, 1*60, "", {{"turnOn", id["CENTRE_TABLE"]}, {"Global", "ecl_nuit2", "6"}}) GEA.add({"Global", "ecl_nuit2", "6"}, 3*60, "", {{"turnOff", id["CENTRE_TABLE"]}, {"Global", "ecl_nuit1", "0"}, {"Global", "ecl_nuit2", "0"}}) -------------------------------------------------------------------------
pepite Posté(e) le 27 octobre 2015 Signaler Posté(e) le 27 octobre 2015 Super @971jmd Ca fait tout de même longtemps qe @hansolo avait suggéré le passage par les Variables Globales ;-) C'est sur que sans le RGB c'est plus simple ;-) Bravo :60: 1
jojo Posté(e) le 27 octobre 2015 Signaler Posté(e) le 27 octobre 2015 cool que tu ais trouvé une solution qui te conviens. Le mieux en effet est que tu ais trouvé la solution toi-même, tu améliores ainsi tes connaissances 1
971jmd Posté(e) le 27 octobre 2015 Signaler Posté(e) le 27 octobre 2015 (modifié) @ Merci pour votre aide mai je revient sur : restartTask, StopTask, NotStarted. si je comprend bien le restartTask est comme un {"Repeat"} sauf qu'il est sous contrôle le StopTask annule ce sous contrôle. le NotStarted c'est tres pas claire si vous avez des exemples, je suis preneur Modifié le 27 octobre 2015 par 971jmd
971jmd Posté(e) le 27 octobre 2015 Signaler Posté(e) le 27 octobre 2015 exemple simple, mai ne fonctionne pas pourquoi ? : --[[ %% autostart aze %% properties %% globals jour_nuit eco --]] local aze = GEA.add(true, -1 , "", {{"turnOn", id["LAMPE_SALON"]}}) GEA.add({"Global", "eco", "1"}, -1 , "", {{"RestartTask", aze}})
Steven Posté(e) le 27 octobre 2015 Auteur Signaler Posté(e) le 27 octobre 2015 C'est quoi cela : --[[ %% autostart aze %% properties %% globals jour_nuit eco --]] ... le code que je suis entrain de lire est le même que celui-ci : GEA.add({"Global", "eco", "1"}, -1 , "", {{"turnOn", id["LAMPE_SALON"]}}) 1
971jmd Posté(e) le 27 octobre 2015 Signaler Posté(e) le 27 octobre 2015 oui bennnnn AZE est la déclaration. j’essaye de comprend le fonctionnement
pepite Posté(e) le 27 octobre 2015 Signaler Posté(e) le 27 octobre 2015 hihihi ;-) Quand nous t'avons parlé de Déclaration de Variables, nous te parlions des local.. comme ton local aze, c'est ceci ta declaration de variable. tu n'as rien à ecrire sous %%autostart, qui est là en cas de redemarrage de la box afin que la scene redemarre automatiquement. Tu ne dois renseigner que sous : - properties : si déclencheur est une modification des proprietes d'un module sous forme "id value" ou id power ou.... - globals : si déclencheur est une modification de la valeur d'une variable Ce n'est utile avec GEA que lorsque tu écris tes lignes avec "-1" Faut vraiment que tu ailles lire le WIKI de @steven, lien que l'on a deja donné ;-)
971jmd Posté(e) le 27 octobre 2015 Signaler Posté(e) le 27 octobre 2015 c'est déclaration bon tempi blague appart je n'arrive toujours pas à RestartTask une ligne commande avec -1
pepite Posté(e) le 27 octobre 2015 Signaler Posté(e) le 27 octobre 2015 Prends l'habitude de mettre un code ;-), plus simple pour la compréhension !!
971jmd Posté(e) le 27 octobre 2015 Signaler Posté(e) le 27 octobre 2015 Simplement un exemple : comment allumer une lampe avec RestartTask et une variable local :lampe_on local lampe_on = GEA.add(true, -1 , "", {{"turnOn", id["LAMPE_SALON"]}}) le "true" je ne sais pas si il est utile ou pas..
jojo Posté(e) le 27 octobre 2015 Signaler Posté(e) le 27 octobre 2015 tu ne commences pas par le plus simple... Perso j'ai plus de 500 lignes de code GEA, et seulement 15 avec des stopTask, RestartTask, ... Donc 90% des besoins peuvent être couverts sans maîtrise de ces notions complexes. Si je puis me permettre, commence par bien maîtriser les autres notions de GEA, ça te sera plus utile dans l'immédiat, et cela te permettra de mieux appréhender celles-ci. Voici un exemple : -- Lampe SdJ -- Extinction automatique de la lampe après 30s. local autoOffSdJ = GEA.add ({DeviceID["LUM_HALLNUIT_SDJ"], auth_LumHallNuit}, 31, "", {{"turnOff"}}) -- Appuie sur l'interrupteur de la lampe, on stoppe l'extinction automatique. GEA.add (DeviceID["LUM_HALLNUIT_SDJ"], -1, "", {{"StopTask", autoOffSdJ}}) -- Allumage de la lampe sur détection mouvement GEA.add ({DeviceID["MVT_HALLNUIT_SDJ"], auth_LumHallNuit, {"Value-", DeviceID["LUX_HALLNUIT_SDJ"], 5}, {"Value", DeviceID["LUM_HALLNUIT_SDJ"],0}}, -1, "", {{"turnOn", DeviceID["LUM_HALLNUIT_SDJ"]}, {"RestartTask", autoOffSdJ}}) -- Extinction de la lampe dans tous les cas après 10 min GEA.add ({DeviceID["ALARME_ACTIVE"], DeviceID["LUM_HALLNUIT_SDJ"]}, 10*60, "Extinction du Hall de Nuit SdJ, car allumée depuis #duration#. (#date# à #time#)", {{"Inverse"}, {"turnOff", DeviceID["LUM_HALLNUIT_SDJ"]}, {"Portable", MobileID["None"]}, {"Email", UserID["Vincent"], "ALERTE - Lumière Hall de Nuit"}}) et j'ai vu il y a quelques jours une solution qui me permetterait d'éviter ces restartTask => à optimiser Un autre exemple ------------------- -- Alarme ------------------- -- Garage Annabelle -- GA_OPEN => fermer local auto_GA_Close = GEA.add({DeviceID["ALARME_ACTIVE"], DeviceID["GA_OPEN"]}, 90, "Garage Annabelle ouvert et alarme branchée. Fermeture automatique. (#date# à #time#)",{{"turnOn", DeviceID["BOUTON_GA"]}, {"Email", UserID["Vincent"], "ALARME - Garage ouvert => fermeture automatique"}}) -- GA_OPEN => pas réussi à la fermer GEA.add({DeviceID["ALARME_ACTIVE"], DeviceID["GA_OPEN"]}, 135, "Garage Annabelle ouvert et alarme branchée. La fermeture automatique n a PAS fonctionné. Aller voir sur place. (#date# à #time#)",{{"Email", UserID["Vincent"], "ALARME - Garage ouvert et en erreur"}}) -- GA_Mvt => porte garage mal fermée GEA.add({DeviceID["ALARME_ACTIVE"], DeviceID["GA_MVT"]}, 45, "Garage Annabelle mal fermé et alarme branchée. Aller voir sur place. (#date# à #time#)",{{"Email", UserID["Vincent"], "ALARME - Garage mal fermé et en erreur"}}) -- Désactivation alarme -- => arrêt tâche fermeture auto porte garage Annabelle GEA.add (DeviceID["ALARME_ACTIVE"], 1, "", {{"Inverse"}, {"StopTask", auto_GA_Close}})
971jmd Posté(e) le 27 octobre 2015 Signaler Posté(e) le 27 octobre 2015 500 lignes de code GEA effectivement pas encore la merci pour les exemple, Je vais les étudier et les expérimenté.
pepite Posté(e) le 27 octobre 2015 Signaler Posté(e) le 27 octobre 2015 @jojo Oui les préconisations d'@Hansolo sur l'utilisation des VG ;-) @971jmd Sur ta ligne, ce n'est pas très cohérent : True : condition toujours vraie, quoiqu'il se passe, tes OPTIONS seront TOUJOURS executees -1 : declenchement instantané, mais ici sur quelles conditions ? Si tu utilises les déclenchements instantanés, c'est à partir du changement d'etat d'un module ou d'une variable. Coourage, mais commence par le début avec des instructions simples ;-)
971jmd Posté(e) le 27 octobre 2015 Signaler Posté(e) le 27 octobre 2015 sans trop intensité et abuser si je prend l'exemple ci-dessous: local on_lp = GEA.add({"Global", "ecl_nuit", "1"}, -1, "", {{"turnOn", id["LAMPE_SALON"]}}) GEA.add({"Global", "jour_nuit", "1"}, -1, "", {{"RestartTask", on_lp}}) si jour_nuit = 1 et que ecl_nuit = 1 Ma lampe est censé s'allumer ou pas ?
pepite Posté(e) le 27 octobre 2015 Signaler Posté(e) le 27 octobre 2015 Les variables ecl_nuit et jour_nuit doivent etre dans l'entete. local on_lp = GEA.add({"Global", "ecl_nuit", "1"}, -1, "", {{"turnOn", id["LAMPE_SALON"]}}) la tu dis : si la variable ecl_nuit est = 1 alors allume instantanément la lampe salon GEA.add({"Global", "jour_nuit", "1"}, -1, "", {{"RestartTask", on_lp}}) la tu dis : si jour_nuit = 1 alors redemarre la tache on_lp pour moi oui ca doit redemarrer ta tache mais elle ne se declenchera uniquement lorsque la variable ecl_nuit sera = 1 Si tu veux un ET, conditions multiples comme ceci GEA.add({{"Global", "ecl_nuit", "1"}, {"Global", "jour_nuit", "1"}}, -1, "", {{"turnOn", id["LAMPE_SALON"]}}) Est-ce que tu comprends bien que chaque ligne GEA est démarrée automatiquement par défaut ? et sera donc executee dès que les conditions seront remplies ?
Peter Posté(e) le 27 octobre 2015 Signaler Posté(e) le 27 octobre 2015 Hello tout Le monde @pepite j'ai lu et relu le wiki GEA mais,je ne trouve pas,dans le poste précédent tu dit "si tu veux un ET" Comment fait on si on veux un OU je Vous explique Vous m'avez aider sur des lignes pour allumage auto scellier avec variable jour_nuit Est il.possible de faire sur détection de mouvement et Lux<=100 OU Jour_Nuit=Nuit alors allumage scellier Je sais pas si je suis claire Le contexte DETECTEUR -FGMS001 MODULE -FG222 Le code sur lequel vous m'avez aider toi et hansolo fonctionne parfaitement mais je voudrais rajouter les Lux Ou faut'ils recrée une ligne juste pour les Lux. D'avance merci
jojo Posté(e) le 27 octobre 2015 Signaler Posté(e) le 27 octobre 2015 pour faire un ET, c'est toutes les conditions sur la même ligne GEA.add. Pour faire un OU, ce sont des lignes différentes GEA.add ({id["DETECTION_MVT"], {"value-",id["LUX"], 100}, -1, "", ...) GEA.add ({id["DETECTION_MVT"], {"Global", "Jour_Nuit", "Nuit"}}, -1, "", ...)
Messages recommandés