Steven Posté(e) le 3 octobre 2016 Auteur Signaler Posté(e) le 3 octobre 2016 GEA.add({"Global+", "index", 0}, -1, "Valeur : #value#", {{"Function", function() fibaro:call(13, "setValue", fibaro:getGlobal("index")) end}}) @pepite C'est tout a fait possible mais pas implémenté dans le GEA actuel, A vu d'oeil, il faudrait juste remplacer : fibaro:call(id, "setValue", entry[GEA.keys["PARAMS"]][i][2]) -- et fibaro:call(id, "setValue", entry[GEA.keys["PARAMS"]][i][3]) avec fibaro:call(id, "setValue", GEA.getMessage(entry[GEA.keys["PARAMS"]][i][2])) -- et fibaro:call(id, "setValue", GEA.getMesage(entry[GEA.keys["PARAMS"]][i][3])) GEA.getMessage() étant la fonction qui a pour but de rempalcer les #value#, .. par les valeurs.
pepite Posté(e) le 3 octobre 2016 Signaler Posté(e) le 3 octobre 2016 oh m...j'ai compris..faut faire attention @steven, je vais pouvoir partir en paix lol Sans modif de GEA est-ce que la version 2 que j'ai proposée est possible ? avec le function en conditions et en Options.
Steven Posté(e) le 3 octobre 2016 Auteur Signaler Posté(e) le 3 octobre 2016 Presque juste Tu avais une toute petite erreur : fibaro:getGlobal("index") > 1 fibaro:getGlobal("index") retourne une chaîne de caractères que tu compares avec un number ... il manque juste tonumber(...) > 1
971jmd Posté(e) le 3 octobre 2016 Signaler Posté(e) le 3 octobre 2016 @Steven si je comprend bien Function est une parenthèse du code LUA dans GEA
Steven Posté(e) le 3 octobre 2016 Auteur Signaler Posté(e) le 3 octobre 2016 Absolument. Tout ce que GEA ne sait pas faire est normalement réalisable àtravers "Function".
971jmd Posté(e) le 3 octobre 2016 Signaler Posté(e) le 3 octobre 2016 (modifié) j'ai un petit probleme maintenant je tente de d’attribué la valeur de la LPDECO dans la variable index, mai ça ne fonctionne pas c'est la lampe deco qui attribut la valeur a la variable index et une foi attribuer elle déclenche la Lampesalon ID13 et la règle cette dernier avec la valeur de la variable index. GEA.add({"Value+", id["LPDECO"], 0}, -1, "", { {"Function", function() fibaro:call(174, "getValue", fibaro:setGlobal("index")) end}}) GEA.add({"Global-", "index", 100}, -1, "", { {"Function", function() fibaro:call(13, "setValue", fibaro:getGlobal("index")) end}}) Modifié le 3 octobre 2016 par 971jmd
pepite Posté(e) le 3 octobre 2016 Signaler Posté(e) le 3 octobre 2016 @971jmd, Han tu n'as pas bien lu ;-) ca fonctionne le #value# dans le sens que tu souhaites GEA.add({"Value+", id["LPDECO"], 0}, -1, "Valeur : #value", {{"Global", "index", "#value#"}}) -- Tu peux meme l'écrire comme ceci, je crois GEA.add(id["LPDECO"], -1, "Valeur : #value", {{"Global", "index", "#value#"}}) Et la ligne pour remettre la valeur sur la lampe "13" ne fonctionne que si tu as modifié ton GEA avec GEA.getMessage...
971jmd Posté(e) le 3 octobre 2016 Signaler Posté(e) le 3 octobre 2016 GEA.add({"Global+", "index", 0}, -1, "Valeur : #value#", {{"Function", function() fibaro:call(13, "setValue", fibaro:getGlobal("index")) end}}) @pepite C'est tout a fait possible mais pas implémenté dans le GEA actuel, A vu d'oeil, il faudrait juste remplacer : fibaro:call(id, "setValue", entry[GEA.keys["PARAMS"]][i][2]) -- et fibaro:call(id, "setValue", entry[GEA.keys["PARAMS"]][i][3]) avec fibaro:call(id, "setValue", GEA.getMessage(entry[GEA.keys["PARAMS"]][i][2])) -- et fibaro:call(id, "setValue", GEA.getMesage(entry[GEA.keys["PARAMS"]][i][3])) GEA.getMessage() étant la fonction qui a pour but de rempalcer les #value#, .. par les valeurs. j'ai fait une recherche dans GEA et je ne trouve pas
971jmd Posté(e) le 3 octobre 2016 Signaler Posté(e) le 3 octobre 2016 Voila merci a vous deux, tout fonctionne nikel mai il le manque quel que chose, je suis à la recherche d'une formation en LUA, payant ou pas -----Attribue la valeur de l luminosité à la variable index GEA.add({"Value-", id["LPDECO"], 100}, -1, "", { {"Function", function() fibaro:setGlobal('index', fibaro:getValue(174, "value")) end}}) -----Affecte la valeur de la variable index à ma lampe GEA.add({"Global-", "index", 100}, -1, "", { {"Function", function() fibaro:call(13, "setValue", fibaro:getGlobal("index")) end}}) 1
971jmd Posté(e) le 3 octobre 2016 Signaler Posté(e) le 3 octobre 2016 Dernier petit chose où pourrais-je trouver une documentation français sur " docs " de FIBARO : http://192.x.x.x/docs/#!.....
Steven Posté(e) le 4 octobre 2016 Auteur Signaler Posté(e) le 4 octobre 2016 De doc officiel, j'en connais pas. Par contre @Tomzebest avait fait un travail de titan en traduisant la doc d'une vieille version (je ne sais plus laquelle). Mais cela n'a pas beaucoup évoluer. Voici le lien http://www.domotique-fibaro.fr/index.php/cp/2-api-fibarofr/ mais il suffit de cliquer sur "API Fibaro.fr" dans le menu de ce même forum. Encore bravo à @Tomzebest. 1
ggpublic Posté(e) le 4 octobre 2016 Signaler Posté(e) le 4 octobre 2016 Salut, mon GEA qui fonctionne à merveille depuis plusieurs mois déconne un peu ces temps ci. Entre autres, il ne me mets plus à jour certaines variables globales. Je suis passé en 4.1 et ma version de GEA est la 5.40, suis-je le seul à rencontrer des problèmes ?
sebcbien Posté(e) le 4 octobre 2016 Signaler Posté(e) le 4 octobre 2016 Non tu n'es pas le seul, voir.le fil du firmware 4.1 ... :-( j'aurais du rester en .092 ... Sent from my Note4 1
ggpublic Posté(e) le 4 octobre 2016 Signaler Posté(e) le 4 octobre 2016 Non tu n'es pas le seul, voir.le fil du firmware 4.1 ... :-( j'aurais du rester en .092 ... Sent from my Note4 argh, merci j'y jette un oeil de ce pas (damn it, il me semblait pourtant avoir lu des RAS, j'ai encore été trop confiant pour installer un eversion dite "stable")
Steven Posté(e) le 4 octobre 2016 Auteur Signaler Posté(e) le 4 octobre 2016 Je suis aux anges .. ma box me refuse de faire la mise à jour vers la 4.100, je suis donc bloqué en 4.090 et cela pour mon plus grand bonheur 3
sebcbien Posté(e) le 6 octobre 2016 Signaler Posté(e) le 6 octobre 2016 @tibahut http://www.domotique-fibaro.fr/index.php/topic/9037-showroom-gea-v2/page-4#entry139256 Pas mal, mais l'inconvénient c'est que tu ne peux pas utiliser le générateur d'id... donc àchaque changement, exclision, inclusion, tu dois tout modifier àla main...
tibahut Posté(e) le 6 octobre 2016 Signaler Posté(e) le 6 octobre 2016 Merci Oui, tout à fait. Mais pour l'instant je n'ai pas eu trop de soucis avec ma box et mes modules et donc j'ai voulu privilégier la lisibilité et trouver un nom plus intuitif pour écrire le code plus rapidement ^^ Déformation professionnelle peut-être.
jojo Posté(e) le 6 octobre 2016 Signaler Posté(e) le 6 octobre 2016 regarde au dbut de mon GEA, tu veras comment sont només les devices par le générateur d'ID, il faut juste bien choisir la nomenclature, et c'est très lisible (en tout cas moi, je comprends)
tibahut Posté(e) le 6 octobre 2016 Signaler Posté(e) le 6 octobre 2016 Oui, en effet, c'est lisible quand on relis les IDs mais ce que je recherche, c'est que lorsque j'écris les lignes de commande GEA, je ne cherche pas comment écrire les IDs. Ils sont structurés par pièce et ont une syntaxe commune en essayant d'éviter les abréviations. Au début, j'utilisais aussi cette manière d'écrire mais je devais tout le temps me référer à la liste d'IDs Après, je pense qu'il est difficile de faire un nommage parfait, mais mon exemple montre qu'il y a plusieurs possibilités pour définir ses IDs ou groupes d'IDs. J'utilise sublime text pour faire mes scripts GEA. Et en entrant le nom de la pièce et ".", il m'affiche la liste des modules qui existent (en plus de fonctions Lua prérenseignées). 1
sebcbien Posté(e) le 6 octobre 2016 Signaler Posté(e) le 6 octobre 2016 @jojo dis, avec ton code ci-dessous: je ne comprends pas comment to restart task fonctionne pour relancer la tâche d'extinction avec la condition suivante ??? Si la lumière est alumée, pas de restart en cas de mouvement non ? ou alors j'ai loupé une astuce... {"Value", DeviceID["LUM_HALLNUIT_SDJ"], 0} -- Hall de Nuit -- Lampe SdJ -- Extinction automatique de la lampe après 30s. local autoOffSdJ = GEA.add ({DeviceID["LUM_HALLNUIT_SDJ"], auth_LumInterieur, pasIncendie}, 31, "", {{"turnOff", DeviceID["LUM_HALLNUIT_SDJ"]}, {"NotStarted"}}) -- 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_LumInterieur, estNuit, {"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"], pasIncendie}, 10*60, "Extinction du Hall de Nuit SdJ, car allumée depuis #duration#. (#date# à #time#)", {{"Inverse"}, {"turnOff", DeviceID["LUM_HALLNUIT_SDJ"]}, {"Email", UserID["Vincent"], "ALERTE - Lumière Hall de Nuit"}})
971jmd Posté(e) le 7 octobre 2016 Signaler Posté(e) le 7 octobre 2016 oui effectivement le restart task je comprend pas trop ??
pepite Posté(e) le 7 octobre 2016 Signaler Posté(e) le 7 octobre 2016 Salut messieurs, @tibahut, j'aime bien aussi ce type de declaration, mais suis comme les experts, en cas de changement d'IDS, ca ne m'est arrivé qu'1 fois, heuu quelle galere !! ++++++111111 pour Sublime TEXT, c'est TOP, ca propose tout hihihi et quand t'es pas dev comme moi, qu'est ce que c'est pratique ;-) @sebcbien et @971jmd, heuuu ben zut alors, moi je comprends @jojo pour le restart hihi Ca veu dire que je vais avoir un GEA de 800 lignes ;-) lol Avez vous vu que c'etait 2 differents : le detecteur de MVT et la LUM ? Moi je comprends ca : GEA.add ({DeviceID["MVT_HALLNUIT_SDJ"],-- detection de MVT auth_LumInterieur, -- autisation d'allumer estNuit, -- fait NUIT (important non ) {"Value", DeviceID["LUM_HALLNUIT_SDJ"], 0}}, -- SI lumiere eteinte -1, "", {{"turnOn", DeviceID["LUM_HALLNUIT_SDJ"]}, -- ALLUME la lumiere {"RestartTask", autoOffSdJ}}) -- relance la tache d'extinction local autoOffSdJ = GEA.add ({DeviceID["LUM_HALLNUIT_SDJ"], -- lumiere allumée auth_LumInterieur, -- autorisation d'allumer pasIncendie}, - pas le feu c'est cool 31, "", {{"turnOff", DeviceID["LUM_HALLNUIT_SDJ"]}, -- on eteint apres 30 secs {"NotStarted"}}) -- tache non demarree pour GEA C'est pas ca ? 1
sebcbien Posté(e) le 7 octobre 2016 Signaler Posté(e) le 7 octobre 2016 ok, et donc comment tu prolonges la tâche d'extinction de la lumière en cas de mouvement quand la lumière est déjà allumée ? Moi je fais comme ça, mais avec le code de jojo, je me suis dit que je pourrais supprimer une ligne "-1" mais en fait non. -- Allume la lampe du cellier si détection de mouvement et si moins de 1% (économie zwave si lampe allumée) GEA.add({id2["CELLIER_MVT"], estNotHouse_Manuel,{"Value-", id2["CELLIER"],1}}, -1, "", {{"Value", id2["CELLIER"], 99}}) -- Eteindre la lampe du cellier si pas de présence plus de 3 mn. local maLampeCellier = GEA.add({id2["CELLIER"],estNotSimu_Presence}, 3*60, "", {{"turnOff",id2["CELLIER"]}}) -- relance tâche en cas de mouvement. GEA.add(id2["CELLIER_MVT"], -1, "", {{"RestartTask", maLampeCellier}})
pepite Posté(e) le 7 octobre 2016 Signaler Posté(e) le 7 octobre 2016 A priori il ne veut pas la relancer :60: Pour moi, etant donne que @jojo a mis en condition son VALUE à 0 pour relancer sa tache d'extinction, c'est qu'il ne veut pas relancer la tache sur detection de mouvement si la lumiere est allumee, tu n'as le droit qu'a 30 secs de lumiere chez @jojo dans le HALL ;-) En 2 lignes tu pourrais comme ceci je pense, juste en jouant avec le detecteur de mouvement, soit tu mets une duree, soit tu le fais en "-1" ? -- Allume la lampe du cellier si détection de mouvement et si moins de 1% (économie Z-Wave si lampe allumée) GEA.add({id2["CELLIER_MVT"], estNotHouse_Manuel,{"Value-", id2["CELLIER"],1}}, -1, "", {{"Value", id2["CELLIER"], 99}}) -- Eteindre la lampe du cellier si pas de detection plus de 3 mn. GEA.add({id2["CELLIER_MVT"],estNotSimu_Presence}, 3*60, "", {{"Inverse"}, {"turnOff",id2["CELLIER"]}})
sebcbien Posté(e) le 7 octobre 2016 Signaler Posté(e) le 7 octobre 2016 sans "économie" d'ordres zwave, en deux lignes c possible comme ceci: local maLampeCellier = GEA.add({id2["CELLIER"],estNotSimu_Presence}, 3*60, "", {{"turnOff",id2["CELLIER"]}}) GEA.add({id2["CELLIER_MVT"], estNotHouse_Manuel}, -1, "", {{"Value", id2["CELLIER"], 99},{"RestartTask", maLampeCellier}})
Messages recommandés