Kana-chan Posté(e) le 2 mars 2021 Signaler Posté(e) le 2 mars 2021 Bonjour à tous, Je voudrais savoir comment utiliser les fonctions des QuickApp dans GEA si c'est possible. Je voudrais faire un truc du genre : GEA.add({ {"Time", "07:26", "07:27"} }, 30, "", { {"QuickApp", id["COLOR_WP"], setIdWallPlug, [id["WP01_COLORS"]]}, {"QuickApp", id["COLOR_WP"], onOn, []} } ) En gros, je veux exécuter la méthode du QuickApp : setIdWallPlug avec l'argument id WP01_COLORS qui possède l'id COLOR_WP, et ensuite exécuter la méthode onOn qui ne possède pas d'argument. Merci pour votre aide.
Lazer Posté(e) le 3 mars 2021 Signaler Posté(e) le 3 mars 2021 Il faut mettre le nom de ta fonction entre guillemets, il faut que ça soit une string. En l'état, le moteur LUA pense que c'est un nom de variable, qui n'existe pas, donc qui prend la valeur nil. Du coup ta fonction n'est jamais appelée Quant à ton argument, inutile de le mettre entre crochets, tu peux directement l'envoyer comme une valeur (numérique je suppose ?) Un truc dans le genre : GEA.add({{"Time", "07:26", "07:27"}}, 30, "", { {"QuickApp", id["COLOR_WP"], "setIdWallPlug", id["WP01_COLORS"]}, {"QuickApp", id["COLOR_WP"], "onOn"} } ) Extrait de la doc de syntaxe que je suis en train de mettre à jour pour la prochaine version : -- "QuickApp" - "QA" : Appelle une fonction d'un QuickApp -- SYNTAXE : {"QuickApp", <id_module>, <méthode>} {"QuickApp", <id_module>, <méthode>, <paramètre_1>} {"QuickApp", <id_module>, <méthode>, <paramètre_1>, <paramètre_2>} {"QuickApp", <id_module>, <méthode>, <paramètre_1>, <paramètre_2>, ...} -- CONDITIONS : Ne peut pas être utilisé comme CONDITION -- ACTIONS : GEA.add( {CONDITIONS}, 30, "", {"QuickApp", 73, "sendData", "Hello world"} ) -- Appelle la méthode sendData() du QuickApp numéro 73 avec l'argument "Hello world" GEA.add( {CONDITIONS}, 30, "", {"QuickApp", {73, 74}, "sendData", "Hello world"} ) -- Appelle la méthode sendData() des QuickApps numéros 73 ET 74 avec l'argument "Hello world"
Kana-chan Posté(e) le 3 mars 2021 Signaler Posté(e) le 3 mars 2021 OK ! Cool ! Merci Laser. C'est bien pratique ce genre d'appel de méthode inter-quickapps !!
Dragoniacs Posté(e) le 3 mars 2021 Signaler Posté(e) le 3 mars 2021 Les appels d'un QA à un autre, c'est ça la force de la HC3 !Envoyé de mon RMX1993 en utilisant Tapatalk
971jmd Posté(e) le 8 mars 2021 Signaler Posté(e) le 8 mars 2021 Le 28/02/2021 à 14:10, 971jmd a dit : finalement je suis arrivée ---FERMETURE GEA.add( { {"CentralSceneEvent", id["BOUTON_BLEU"], 1, "Pressed"}, {"(Global)", "BOUTONB", "E"}}, -1, "" ,{{"Open", id["VL_BAR"]}, {"Global", "BOUTONB", "A"}}) ---STOP GEA.add( {{"CentralSceneEvent", id["BOUTON_BLEU"], 1, "Pressed"}, {"(Global)", "BOUTONB", "D"}}, -1, "" , {{"Stop", id["VL_BAR"]}, {"Global", "BOUTONB", "E"} }) ---FERMETURE GEA.add( {{"CentralSceneEvent", id["BOUTON_BLEU"], 1, "Pressed"}, {"(Global)", "BOUTONB", "C"}}, -1, "" , { {"Close", id["VL_BAR"]}, {"Global", "BOUTONB", "D"} } ) ---STOP GEA.add( {{"CentralSceneEvent", id["BOUTON_BLEU"], 1, "Pressed"}, {"(Global)", "BOUTONB", "B"}}, -1, "" , {{"Stop", id["VL_BAR"]}, {"Global", "BOUTONB", "C"} }) ----OUVERTURE GEA.add( { {"CentralSceneEvent", id["BOUTON_BLEU"], 1, "Pressed"}, {"(Global)", "BOUTONB", "A"}}, -1, "" ,{{"Open", id["VL_BAR"]}, {"Global", "BOUTONB", "B"}}) GEA.add({"Value+", id["VL_BAR"], 90}, 30, "ouvert" , {{"Global", "BOUTONB", "C"}}) GEA.add({"Value-", id["VL_BAR"], 10}, 30, "close" , {{"Global", "BOUTONB", "A"}}) salut à tous J'ai réalisé ce petit code pour ouvrir stopper et fermer mon volet roulant avec le bouton de Fibaro, ça fonctionne très bien mais j'ai quand même un petit problème. Tant que j'utilise le bouton pour réaliser mes actions mes variables fonctionne parfaitement bien, mais si j'utilise mon smartphone par exemple pour ouvrir ou fermer ou stopper, comment remonter ces informations là vers GEA ?
Forall Posté(e) le 18 mars 2021 Signaler Posté(e) le 18 mars 2021 DEAR all, I am trying to migrate to HC3 but have porblems with this new GEA. I hope i have added some lines on the correct places but i do get the following error /warning as you see it didn't add line 23 nor do i see that it runs every 30 sec. Ps. was the language selection removed? I cant find it anymore
Lazer Posté(e) le 18 mars 2021 Signaler Posté(e) le 18 mars 2021 Your GEA rule #7 on line 23 has a bad option, you must remove the space and use the following syntax : "Value+" Also, the second parameter is strange, a string containing "575" ? What is that, a module named 575 ? Or if you want to use its ID, you must use a numeric value, so just 575 is fine. Or its exact full name in a string enclosed with double quotes. So this rule is ignored, and no event trigger is recorded. You can still force a specific language by adding the following option in config() : GEA.language = "fr" (only French and English are recognized) 1
Domodial Posté(e) le 22 mars 2021 Signaler Posté(e) le 22 mars 2021 Je ne suis pas certain si je peux poster ici... J'ai voulu test une notification lors de la commutation de wallplug et j'obtient 2 notifications -- ------------------------------------------- -- TEST sur Wallplug et detection de présence -- ------------------------------------------- GEA.add({"Value", id["Detect_Bureau"], 1}, -1, "Wallplug1 allumé le #date# à #time#", {{"Portable", MobileId["PHONE_BERNARD"]}, {"Inverse"}, {"turnOn", id["WallPlug1"]}}) [22.03.2021] [07:51:11] [TRACE] [QA_GEA_80]: ---------------------------------------------------------------------------------------------------- [22.03.2021] [07:51:11] [TRACE] [QA_GEA_80]: Démarrage par événement de GEA 7.20 (mode device [68]) [22.03.2021] [07:51:11] [TRACE] [QA_GEA_80]: ---------------------------------------------------------------------------------------------------- [22.03.2021] [07:51:11] [DEBUG] [QA_GEA_80]: Ajout immédiat #5 : ["Value",[68,1]] => ["Portable",[92]] ["TurnOn",[52]] [22.03.2021] [07:51:11] [DEBUG] [QA_GEA_80]: @0s [Validation*] #5 : ["Value",[68,1]] => ["Portable",[92]] ["TurnOn",[52]] [22.03.2021] [07:51:11] [DEBUG] [QA_GEA_80]: [Démarrage] #5 : ["Value",[68,1]] => ["Portable",[92]] ["TurnOn",[52]] [22.03.2021] [07:51:11] [DEBUG] [QA_GEA_80]: [action] ["Portable",[92]] [22.03.2021] [07:51:12] [DEBUG] [QA_GEA_80]: [action] ["TurnOn",[52]] [22.03.2021] [07:51:13] [DEBUG] [QA_GEA_80]: ... vérification en cours #3 @90s... [22.03.2021] [07:51:13] [DEBUG] [QA_GEA_80]: @90s [Validation] #2 : Démarrage box [22.03.2021] [07:51:13] [DEBUG] [QA_GEA_80]: @90s [Validation] #3 : Détection nouvelle version [22.03.2021] [07:51:13] [DEBUG] [QA_GEA_80]: @90s [Validation] #4 : Détection nouvelle version beta [22.03.2021] [07:51:17] [TRACE] [QA_GEA_80]: [22.03.2021] [07:51:17] [TRACE] [QA_GEA_80]: ---------------------------------------------------------------------------------------------------- [22.03.2021] [07:51:17] [TRACE] [QA_GEA_80]: Démarrage par événement de GEA 7.20 (mode device [68]) [22.03.2021] [07:51:17] [TRACE] [QA_GEA_80]: ---------------------------------------------------------------------------------------------------- [22.03.2021] [07:51:17] [DEBUG] [QA_GEA_80]: Ajout immédiat #5 : ["Value",[68,1]] => ["Portable",[92]] ["TurnOn",[52]] [22.03.2021] [07:51:17] [DEBUG] [QA_GEA_80]: @0s [Validation*] #5 : ["Value",[68,1]] => ["Portable",[92]] ["TurnOn",[52]] [22.03.2021] [07:51:17] [DEBUG] [QA_GEA_80]: [Démarrage] #5 : ["Value",[68,1]] => ["Portable",[92]] ["TurnOn",[52]] [22.03.2021] [07:51:17] [DEBUG] [QA_GEA_80]: [action] ["Portable",[92]] [22.03.2021] [07:51:17] [DEBUG] [QA_GEA_80]: [action] ["TurnOn",[52]] [22.03.2021] [07:51:38] [TRACE] [QA_NETWORKMONITOR_53]: Check : Google => www.google.fr [22.03.2021] [07:51:39] [TRACE] [QUICKAPP65]: checkMacListUnifi() succeed
Lazer Posté(e) le 22 mars 2021 Signaler Posté(e) le 22 mars 2021 D'après le log, je vois que ton détecteur s'est désactivé 2 fois (car tu prends en compte la condition "Inverse") : - une 1ère fois à 07:51:11 - 6 secondes plus tard, une seconde fois à 07:51:17 GEA ne fait que réagir aux événements de tes capteurs, donc il est logique que tu aies reçu 2 notifications. Non ?
Domodial Posté(e) le 22 mars 2021 Signaler Posté(e) le 22 mars 2021 En effet. Sauf que si je ne met pas inverse ça ne fonctionne pas du coup.
Lazer Posté(e) le 22 mars 2021 Signaler Posté(e) le 22 mars 2021 (modifié) Je ne sais pas ce que tu veux faire en fait. Mais là il faut poser la question sur le topic Support GEA, car ta problématique est générale et pas lié à la HC3. Un détecteur de mouvement, ça se déclenchera et s'arrêtera de se déclencher tant qu'il y aura des mouvements dans la pièce. EDIT : déplacé au bon endroit Modifié le 22 mars 2021 par Lazer
Domodial Posté(e) le 23 mars 2021 Signaler Posté(e) le 23 mars 2021 (modifié) J'ai trouvé à force, j'avais 1 dans le détecteur de mouvement + Inverse du style : GEA.add( id["DETECTEUR_BUREAU"], 1}, -1 > et le inverse au bout. J'ai viré les 2 et ça fonctionne bien, 1 allumage et une notif like this : GEA.add( id["DETECTEUR_BUREAU"], -1, "Wallplug1 allumé le #date# à #time#", {{"turnOn", id["WALLPLUG1"], 1*60}, {"Portable", MobileId["PHONE_BERNARD"]}}) J'avais un script qui gérait ça, l'allumage sur détection en maintenant la lumière si mouvement + allumage manuel de l'inter et tempo contre le réalumage automatique. Mais comme tout a changé dans le code et que je ne comprends rien j'essaye d'avoir des automatismes fonctionnels pour basculer. Modifié le 23 mars 2021 par Domodial
Lazer Posté(e) le 23 mars 2021 Signaler Posté(e) le 23 mars 2021 Ah ben oui, le coup du 1, je n'avais pas fait attention, mais pourtant je l'ai déjà dit plusieurs fois sur ce topic et sur l'autre. Sur HC3, les modules ne prennent plus la valeur 1, donc si tu testes cette valeur avec GEA, forcément ça ne va jamais déclencher la règle. Pour tous les détecteurs binaires, c'est true ou false. Bref, il y a une seule règle à retenir : sur HC3 regardez le JSON des modules pour voir quelle valeur prendre le champ "value", c'est le seul moyen efficace de ne pas se tromper. 1
Domodial Posté(e) le 23 mars 2021 Signaler Posté(e) le 23 mars 2021 (modifié) J'ai réussis à faire allumer ma lumière sur détection et aussi à la maintenir avec un RestartTask. Par contre bien que cela fonctionne je vois cette erreur mais je ne sais pas de quoi cela provient. J'ai envie de dire de RestartTask si je désactive la ligne. local autooff = GEA.add( id["DETECTEUR_BUREAU"], -1, "Wallplug1 allumé le #date# à #time#", {{"turnOn", id["WALLPLUG1"], 1*60}, {"Portable", MobileId["PHONE_BERNARD"]}}) GEA.add(id ["DETECTEUR_BUREAU"], -1, "", {"RestartTask", autooff}) [23.03.2021] [12:17:46] [DEBUG] [QA_GEA_80]: @240s [Validation] #2 : Démarrage box [23.03.2021] [12:17:46] [DEBUG] [QA_GEA_80]: @240s [Validation] #3 : Détection nouvelle version [23.03.2021] [12:17:46] [DEBUG] [QA_GEA_80]: @240s [Validation] #4 : Détection nouvelle version beta [23.03.2021] [12:14:01] [ERROR] [QUICKAPP98]: QuickApp crashed [23.03.2021] [12:14:01] [ERROR] [QUICKAPP98]: app.lua:6: unexpected symbol near '<\195>' Modifié le 23 mars 2021 par Domodial
Lazer Posté(e) le 23 mars 2021 Signaler Posté(e) le 23 mars 2021 app.lua ? Bizarre ça... en tout cas, je vois un espace entre id et le crochet ouvrant, déjà c'est pas bon. Si ce n'est pas ça le problème, c'est que tu as un symbole inattendu quelque part, donc un caractère caché.
triossrf Posté(e) le 30 mars 2021 Signaler Posté(e) le 30 mars 2021 Bonsoir, Je vais peut être relancer un sujet déjà évoqué précédemment dans les 452 pages mais je cherche à faire un créneaux horaire sur G.E.A. Je m'explique: J'aimerai que mon circulateur fonctionne démarre à 06H00 et s'éteigne à 09h00. Je l'ai donc écris ainsi: GEA.add({{"Profile",1},{"Time","06:00","09:00"}},-1,"Circulateur ON",{{"Inverse"},{"turnOn",{id["CIRCULATEUR_1"]}}}) Cela ne fonctionne pas. Si quelqu'un à la solution je veux bien! Merci .
Lazer Posté(e) le 30 mars 2021 Signaler Posté(e) le 30 mars 2021 Il ne faut pas utiliser de déclencheur (-1) dans ce cas. Et il faut 2 règles, 1 pour chaque heure et chaque action. Donc un truc dans le genre : GEA.add({{"Profile",1}, {"Time","06:00","06:01"}}, 30, "Circulateur ON", {"turnOn",id["CIRCULATEUR_1"]}) GEA.add({{"Profile",1}, {"Time","09:00","09:01"}}, 30, "Circulateur OFF", {"turnOff",id["CIRCULATEUR_1"]})
triossrf Posté(e) le 30 mars 2021 Signaler Posté(e) le 30 mars 2021 Salut! Merci pour la réponse. Je rectifie l'erreur du déclencheur mais je ne saisie pas vraiment. Dans ton code tu écris: GEA.add({{"Profile",1}, {"Time","06:00","06:01"}}, 30, "Circulateur ON", {"turnOn",id["CIRCULATEUR_1"]}) il va démarrer a 06:00 mais ne va pas s'éteindre à 06:01 sachant qu'il exécute un turnOn? Peut être que j'interprète mal le code. Pour le coup de mon côté en attendant de trouver un code qui prend en compte une tranche horaire je l'avais écris comme suivant: GEA.add({"Time","06:00"}, 30, "Circulateur ON", {"turnOn", id["CIRCULATEUR_1"]}) GEA.add({"Time","09:00"}, 30, "Circulateur OFF", {"turnOff", id["CIRCULATEUR_1"]})
Lazer Posté(e) le 31 mars 2021 Signaler Posté(e) le 31 mars 2021 Cela devrait fonctionner aussi. Pour répondre à ta première question, non, à aucun moment GEA ne fera de TurnOff, sauf si tu lui demandes. Il fera juste un TurnOn entre 06h00 et 06h01. J'ai pris pour habitude de toujours donner 1 minute "de rab" dans mes temporisation, par sécurité, au cas où GEA sera occupé et ne pourrait pas traiter les événements pendant 1 minute. Ce n'est jamais censé arriver, mais vu que GEA gère tous mes chauffages, j'ai préféré assurer. Pour la durée, tu peux aussi remplacer 30 par 0, c'est encore mieux dans ce contexte, ainsi tu seras certain que GEA déclenche l'action dès la première occurrence (c'est à dire entre 06:00:00 et 06:00:30)
triossrf Posté(e) le 31 mars 2021 Signaler Posté(e) le 31 mars 2021 Je te remercie pour la réponse apportée. Je le ferai donc en deux codes
Lazer Posté(e) le 31 mars 2021 Signaler Posté(e) le 31 mars 2021 Pour compléter, tu peux le faire en 1 seule ligne avec un turnoff automatique (voir la doc de syntaxe), mais c'est fortement déconseillé pour un délai aussi long (de plusieurs heures) Si entre temps la box redémarre, GEA redémarre, ou tout autre raison imprévue, alors le turnoff ne sera jamais exécuté, c'est dangereux. Le plus simple et le plus efficace, c'est une ligne par horaire et par action, tel que je t'ai donné les 2 lignes. C'est ce que je fais pour toute la gestion de mon chauffage, j'ai plusieurs dizaines de lignes qui ne font que des actions basiques à telle ou telle heure, ça fonctionne de façon ultra fiable depuis des années. 1
gorn Posté(e) le 3 avril 2021 Signaler Posté(e) le 3 avril 2021 Bonjour, Je cherche a affiner mon code GEA sur une petite fonction. N'étant vraiment pas bon dans ce type de prog, est-ce que vous pouvez me dire si c'est correct svp? La fonction a pour but de m'alerter lorsque la porte du garage reste ouverte. Bon... ça me saoule un peu car le week-end ou pendant les congés autant vous dire que la porte reste loooongtemps ouverte. La ligne suivante : GEA.add(id["Porte_Garage"] , 60*60, "La porte du garage est ouverte depuis #duration#", {"Repeat"} ) deviendrai : GEA.add(id["Porte_Garage"] , {"Time", "20:00", "08:00"}, 60*60, "La porte du garage est ouverte depuis #duration#", {"Repeat"} )
Lazer Posté(e) le 3 avril 2021 Signaler Posté(e) le 3 avril 2021 Il faut rajouter des accolades autour des 2 conditions : GEA.add({id["Porte_Garage"], {"Time", "20:00", "08:00"}}, 60*60, "La porte du garage est ouverte depuis #duration#", {"Repeat"})
triossrf Posté(e) le 3 avril 2021 Signaler Posté(e) le 3 avril 2021 (modifié) Bonsoir, J'aurais besoin d'un petit coup de main pour ma pompe d'arrosage. Actuellement j'utilise le code suivant pour arroser mon potager: GEA.add({{"Profile",1},{"Time","19:00"},{"Global","Saisons","Printemps"}}, 30, "Demarrage Pompe", {"turnOn", id["POMPE_1"]}) Je voulais rajouter la condition météo pour que ma pompe se mette en marche seulement si la météo est dégagé. J'utilise uniquement la météo de la box je ne suis pas encore équipé de station météo. J'ai donc cherché et trouvé dans le fichier config la phrase suivante: weather = {"dégagé", "nuageux", "pluvieux", "neigeux", "orageux", "brouillard"}, Du coup j'ai inscrit la phrase suivante: GEA.add({{"Profile",1},{"Weather", "dégagé"},{"Time","22:46"},{"Global","Saisons","Printemps"}}, 30, "Demarrage Pompe", {"turnOn", id["POMPE_1"]}) J'ai essayé avec "sun" ou "cleared" au cas où, mais rien ne se passe. Est ce une mauvaise syntaxe de ma part? Merci d'avance pour l'aide. Modifié le 3 avril 2021 par triossrf
Messages recommandés