flechg Posté(e) le 3 décembre 2015 Signaler Posté(e) le 3 décembre 2015 @ pepite, hansolo, chris6783 , NIKKO et jojo merci je reviendrais vers vous pour vous dire si ca fonctionne merci encore s
Yohan Posté(e) le 3 décembre 2015 Signaler Posté(e) le 3 décembre 2015 Salut les copains, Je plante sur GEA et pas moyen de trouver mon erreur.... Je souhaite allumer un halogène du salon lorsque ma variable Présence_Maison = Présent et la variable JOUR_NUIT=NUIT Je rentre le code mais ça beug... local condition = {"If",{{"Global", "Presence_Maison", "Present"},{"Global", "JOUR_NUIT", "NUIT"}}} GEA.add({{"turnOn",id["HALOGENE_SEJOUR_2"]}, "", condition}) Merci pour votre aide.
Nikko Posté(e) le 3 décembre 2015 Signaler Posté(e) le 3 décembre 2015 @yohan: Les conditions doivent être en premier suivies de la tempo, push et option. De plus on évite le if: -- Si VG Presence_Maison sur Present ET VG JOUR_NUIT sur NUIT depuis 30s, allumer allogène GEA.add({{"Global", "Presence_Maison", "Present"},{"Global", "JOUR_NUIT", "NUIT"}}, 30 , "" , {{"turnOn",id["HALOGENE_SEJOUR_2"]}}) -- Si VG Presence_Maison sur Present ET VG JOUR_NUIT sur NUIT en declenchement immédiat, allumer allogène -- Mettre Presence_Maison dans entete GEA.add({{"Global", "Presence_Maison", "Present"},{"Global", "JOUR_NUIT", "NUIT"}}, -1 , "" , {{"turnOn",id["HALOGENE_SEJOUR_2"]}}) Nicolas
Yohan Posté(e) le 3 décembre 2015 Signaler Posté(e) le 3 décembre 2015 Ok merci Nico Peut on rajouter une autre condition qui est d'allumer l'halogène si mon FGMS me détecte également ?
Nikko Posté(e) le 3 décembre 2015 Signaler Posté(e) le 3 décembre 2015 En déclenchement immédiat cela donnerait par exemple ceci: -- Sur detection par FGMS ET VG Presence_Maison sur Present ET VG JOUR_NUIT sur NUIT , allumer allogène -- Mettre l'id du fgms dans l'entete; Ex 90 value local fgms = 90 GEA.add({fgms,{"Global", "Presence_Maison", "Present"},{"Global", "JOUR_NUIT", "NUIT"}}, -1 , "" , {{"turnOn",id["HALOGENE_SEJOUR_2"]}})
Yohan Posté(e) le 3 décembre 2015 Signaler Posté(e) le 3 décembre 2015 Au top ça fonctionne parfaitement merci nico
pepite Posté(e) le 4 décembre 2015 Signaler Posté(e) le 4 décembre 2015 Salut syris, Je ne comprends pas bien ce que tu veux faire, a partir de BPS. - Tu veux lancer une scene "TV" à partir de GEA qui mettrait le programme 1 du RGB et et qui eteint le SPOT SALON ? Tu veux récuperer l'etat du program RGB, 1 en l'occurrence ? Qu'y a t il derriere ton SCENARIO1 ?
Syris Posté(e) le 5 décembre 2015 Signaler Posté(e) le 5 décembre 2015 Salut pepite, En fait, c'est tout béta, mais pas facile a expliquer, j'ai une ipx avec un bouton poussoir. Quand j'appuie sur ce bp, ma variable passe a 1, sauf que quand je le relache elle repasse a 0. Je veux donc avec GEA, qu'a une mise a 1 de la variable sa lance qqch, et a une autre remise a 1 (on rappuie) sa l'éteint.
pepite Posté(e) le 7 décembre 2015 Signaler Posté(e) le 7 décembre 2015 Salut @Syris, Désolé pour le retard, je n'ai plus de web, en plein demenagement ;-) Alors si je comprends bien, 1-VG à 1 : on fait qqch 2- VG à 0 quand tu relaches le BP 3- VG de nouveau à 1 : on eteint la meme chose que le 1 ? Peut-etre faut-il passer par une autre variable lorsque ta Vg passe à 1 pour l'extinction, devrait pas y avoir de souci particuliers ;-) Du genre : mets "variableà 1" dans l'entete sous %%globals -- Allumage Lampe local variablea1 = {"Global", "variable", "1"} GEA.add(variableà 1, -1, "Allume", {{"turnOn", id["LAMPE"]}, {"Global", "toto", 1}}) -- Extinction GEA.add({variablea1, {"Global", "toto", "1"}}, -1, "Extinction lampe", {{"turnOff', id["LAMPE"]}, {"Global", "toto", "0"}}) A tester, je ne sais pas si c'est tres clair ;-) 1
HANSOLO Posté(e) le 7 décembre 2015 Signaler Posté(e) le 7 décembre 2015 Ou plus simple sans utiliser de VG. mettre en condition l'état du module commandé. en 2 lignes Si la VG est à 1 (en immédiat) et que le module est allumé alors extinction du module Si la VG est à 1 (en immédiat) et que le module est éteint alors allumage du module 1
pepite Posté(e) le 7 décembre 2015 Signaler Posté(e) le 7 décembre 2015 SAlut HANSOLO, Oui, mais je crois avoir compris que c'etait un IPX derriere et pas un module. Si j'ai bien compris. ;-)
HANSOLO Posté(e) le 7 décembre 2015 Signaler Posté(e) le 7 décembre 2015 Oui l'IPX est la commande pas le module à commander (toujours pareil si la demande est bien comprise...) Si un des BP de l'IPX est actionné la VG scenario1 passe à 1 (si j'ai bien compris) et les modules à piloter un RGB et un module pilotant un spot (si j'ai bien compris)
pepite Posté(e) le 7 décembre 2015 Signaler Posté(e) le 7 décembre 2015 Dans ce cas oui tu as raison ;-). j'ai lu trop vite, ou tres peu le code qu'il a donné hihih au fait, je vois que tu as un ODIKOKEYS, t'en es content ?
HANSOLO Posté(e) le 7 décembre 2015 Signaler Posté(e) le 7 décembre 2015 Pour ma serrure OKIDOKEYS, globalement oui j'en suis satisfait. Les points négatif J'attends la disponibilité de la smart gateway (module WIFI) depuis 1 an (annoncé début 2016....) Sur IOS le mode mains libre qui fonctionne bien 40% du temps sur un Iphone 6S et 90% sur un ipod dernière génération. La consommation de pile plutôt élevée (4-5 mois) mais certainement du fait de la serrure mécanique (trop dur à actionner?)
Syris Posté(e) le 7 décembre 2015 Signaler Posté(e) le 7 décembre 2015 Merci Pepite, effectivement en jouant avec une autre variable, sa devrait le faire. (Sa me semble logique en fait la mnt )
pepite Posté(e) le 7 décembre 2015 Signaler Posté(e) le 7 décembre 2015 Merci pour le retour @Hansolo, J'hésite encore. Désolé pour le HS les modos. @Syris, De rien, mais ce que propose @Hansolo est pas mal aussi, ca t'evite la Variable supp.
banzai861 Posté(e) le 7 décembre 2015 Signaler Posté(e) le 7 décembre 2015 Salut, J’ai 4 éclairages extérieurs pilotés indépendamment que je souhaite asservir à l'ouverture de mon portail. Mon idée était d’allumer l’éclairage pendant 5 minutes à l’ouverture du portail. Mes lignes GEA sont fonctionnelles jusque-là . Cependant, il m’arrive de laisser certain éclairage allumé pendant des soirées pour l’aspect déco extérieur. Lorsque j’ouvre mon portail avec un (ou plusieurs) éclairage actif, toutes mes lampe ce coupent après les 5min. Y-a-t-il un moyen de mémoriser l’état de ces 4 lampes pour laisser allumer celles qui l’étaient avant l’ouverture et éteindre celles éteinte ?
jojo Posté(e) le 7 décembre 2015 Signaler Posté(e) le 7 décembre 2015 oui, c'est bien possible, mais pour le faire si tard c'est Nikko, moi ce sera pour demain
Nikko Posté(e) le 7 décembre 2015 Signaler Posté(e) le 7 décembre 2015 @banzai861 Alors pas sà»r du fonctionnement car pas testé, mais en gros tu ne dois éteindre au bout de 5 minutes que les lampes allumées par ouverture de portail c'est ça? -- Pour chaque éclairage extinction au bout de 5 minutes. Règle non active au début de GEA -- Utilisation de StopTask car de mémoire bug dans MaxTime -- GestionA = GEA.add(id["ECL_A"], 5*60 , "" , {{"turnOff",id["ECL_A"]},{"NotStarted"},{"MaxTime",1}}) GestionA = GEA.add(id["ECL_A"], 5*60 , "" , {{"turnOff",id["ECL_A"]},{"NotStarted"},{"StopTask",GestionA}}) GestionB = GEA.add(id["ECL_B"], 5*60 , "" , {{"turnOff",id["ECL_B"]},{"NotStarted"},{"StopTask",GestionB}}) GestionC = GEA.add(id["ECL_C"], 5*60 , "" , {{"turnOff",id["ECL_C"]},{"NotStarted"},{"StopTask",GestionC}}) GestionD = GEA.add(id["ECL_D"], 5*60 , "" , {{"turnOff",id["ECL_D"]},{"NotStarted"},{"StopTask",GestionD}}) -- A l'ouverture du portail si ECL éteint alors on l'allume et relance la tache d'extinction -- Ainsi seuls les éclairage qui étaient éteints avant ouveture s'éteindrons au bout de 5 minutes. GEA.add({id["PORTAIL"],{"Value",id["ECL_A"],0}}, -1 , "" , {{"turnOn",id["ECL_A"]},{"RestartTask",GestionA}}) GEA.add({id["PORTAIL"],{"Value",id["ECL_B"],0}}, -1 , "" , {{"turnOn",id["ECL_B"]},{"RestartTask",GestionB}}) GEA.add({id["PORTAIL"],{"Value",id["ECL_C"],0}}, -1 , "" , {{"turnOn",id["ECL_C"]},{"RestartTask",GestionC}}) GEA.add({id["PORTAIL"],{"Value",id["ECL_D"],0}}, -1 , "" , {{"turnOn",id["ECL_D"]},{"RestartTask",GestionD}}) C'est tordu et lourd, je l'avoue (en plus de ne peut-être pas fonctionner)...... Nicolas
pepite Posté(e) le 8 décembre 2015 Signaler Posté(e) le 8 décembre 2015 BOnjour messieurs, PAs sur du besoin du StopTask dans les declarations Gestion... LE "Notstarted" devrait suffire je crois. A tester aussi Possible aussi avec des variables mises à jour en fonction de l'ouverture du portail je pense.
Syris Posté(e) le 8 décembre 2015 Signaler Posté(e) le 8 décembre 2015 C'est bizarre, dans cette config de test, je reçois les deux notifications (lancement et stop) en même tps mais le rgb se lance et s'arrête bien? ( 2 notifs pr on (lancement et stop) et 2 notifs pour off (lancement et stop)) Que voyez vous de spécial ? local SCENARIO1 = {"Global", "IPX_IN8", "1"} -- BP pour scenario numéro 1 local SCENE1ACTIVE = {"Global", "SCENE1", "1"} GEA.add(SCENARIO1, -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}})
Nikko Posté(e) le 8 décembre 2015 Signaler Posté(e) le 8 décembre 2015 @pepite:Le notstarted et le stop task font la même chose, à la différence que le notstarted est réalisé avant le contrôle des conditions lors de la création des tables alors que le stoptask n'est exécuté que si la condition est vraie et périodiquement.Dans mes lignes, le not started est là pour empécher à la lampe de s'éteindre au bout de 5 minutes tant que le portail n'a pas été ouvert au moins 1 fois (donc restarttask). Il (le notstarted) ne s'applique que lors de la sauvegarde lors de la création des table/actions par GEA. Par la suite il n'est plus controlé. => La tache deviendra active uniquement au premier restarttaskSi tu supprimes le stoptask et laisses juste le notstarted, tant que le restart task de la tache n'aura pas été executée cette ligne ne se produira pas; normal. Mais dès lors où ton portail aura été ouvert au moins 1 fois (avec lumière éteint), la tache devient active et le reste; Donc ensuite La seule condition qui rentrera en jeu pour éteindre au bout de 5 minutes sera que la lampe soit allumée. Avec le stoptask, une fois la lumière éteinte la tache n'est plus controlée et tu peux allumer manuellement la lampe sans craindre qu'elle ne s'éteigne au bout de 5 minutes. C'est en tout cas comme ça que je comprends les choses quand je relis le code de GEA @banzai861: L'utilisation de stoptask/restarstak/notstarted suppose l'existence de la VG "GEA_Tasks" Nicolas 3
banzai861 Posté(e) le 8 décembre 2015 Signaler Posté(e) le 8 décembre 2015 Merci Nikko, cela fonctionne nickel. pour comprendre un peu mieux, quand sur la ligne 12 on lance {"RestartTask",GestionA} cela mémorise une sorte de variable local? je pense que sur la ligne 5 {"StopTask",GestionA} passe à 0 cette variable mémorisé. mais je ne comprend pas comment GEA fais la distinction entre l'allumage par le portail ou par une autre commande
Nikko Posté(e) le 8 décembre 2015 Signaler Posté(e) le 8 décembre 2015 Cela ne mémorise pas une variable locale, mais en fait chaque Ligne GEA possède un identifiant. Un Stoptask/notstarted suspend l'identifiant; en clair cette ligne GEA n'est plus contrôlée tant qu'elle n'est pas marquée de nouveau active par un restarttask. La ligne d'arret de lampe ne devient active qu'a partir du moment où tu ouvres ton portail ET que la dite lumière est éteinte alors que si tu allumes ta lampe à la main, il n'y a aucune action GEA qui dit que tu dois démarre l'action. D'ailleurs si tu éteins ta lumière à la main moins de 5 minutes après l'allumage par le portail, tu auras comme conséquence qu'au prochain allumage de lampe, cette dernière s'éteindra au bout de 5 minutes, car rien n'auras déclenché le stop task. Il faudrait en plus ajouter un truc du genre: GEA.add(id["ECL_A"], 30 , "" , {{"inverse"},{"StopTask",GestionA}}) --ou en instantané: GEA.add(id["ECL_A"], -1 , "" , {{"inverse"},{"StopTask",GestionA}}) Attention avec le -1 si tu es dans la dernière version du HC2, où le nombre d'instances max de scènes peut être ajusté, il faudrait dans ton cas mettre au moins à 5 Nicolas 1
Messages recommandés