jojo Posté(e) le 12 décembre 2023 Signaler Posté(e) le 12 décembre 2023 merci de ta réponse, mais comme j'aime bien avoir à un endroit, j'aimerais comprendre pourquoi ça ne fonctionne pas, car, connaissant @Lazer, s'il la mis dans la syntaxe, c'est que c'est ok
jojo Posté(e) le 12 décembre 2023 Signaler Posté(e) le 12 décembre 2023 Il y a 12 heures, jluc2808 a dit : ça fonctionne bien avec une scène en mode block, Comme je suis curieux, j'ai essayé, mais je n'ai pas trouvé la possibilité de modifier les paramètres
Lazer Posté(e) le 12 décembre 2023 Signaler Posté(e) le 12 décembre 2023 (modifié) "Normalement" ça devrait fonctionner, maintenant on n'est pas à l'abri d'un bug... Sinon pour mettre à jour l’icône, tu as aussi l'action "DeviceIcon" que tu peux tenter, ainsi que l'alias "CurrentIcon" Modifié le 12 décembre 2023 par Lazer
jojo Posté(e) le 12 décembre 2023 Signaler Posté(e) le 12 décembre 2023 Merci pour le tuyau. J'ai donc mis ceci GEA.add ({"TurnOn", id["EST_NOEL"]}, 0, "", {"DeviceIcon", id["JARDIN_PRISE"], 1055}) GEA.add ({"TurnOff", id["EST_NOEL"]}, 0, "", {"DeviceIcon", id["JARDIN_PRISE"], 1078}) Mais ça ne fonctionne pas non plus. Je me dis que @Steven a peut-être développé cette action comme un "raccourci" de la fonction standard {"Property", id["JARDIN_PRISE"], "deviceIcon", 1055} et que donc si l'une ne fonctionne pas, l'autre non-plus ? Peut-être un faute de typo dans le code ? du coup, j'ai testé ceci GEA.add ({"TurnOn", id["EST_NOEL"]}, -1, "", {"Property", id["JARDIN_PRISE"], "userDescription", "NoelOn-1055"}) GEA.add ({"TurnOff", id["EST_NOEL"]}, -1, "", {"Property", id["JARDIN_PRISE"], "userDescription", "NoelOff-1078"}) et toujours rien. Je pense de plus en plus à un bug"ueke" (comme on dit en Belgique)
Lazer Posté(e) le 12 décembre 2023 Signaler Posté(e) le 12 décembre 2023 OK bon, il faut reporter le bug sur le topic de dév GEA pour que je pense à l'analyser plus tard.
jojo Posté(e) le 12 décembre 2023 Signaler Posté(e) le 12 décembre 2023 J'essaye de regarder dans le code, mais tout ce que je trouve sur 'Property" c'est : property = {name = "Property", optimize = true, math = true, control = function(id) return self.options.number.control(id) end, getValue = function(id, property) return self:getDeviceProperty(id, property) end, action = function(id, property, value) if type(id) ~= "table" then id = {id} end for i=1, #id do local id_num = self:findDeviceId(id[i]) self.cachedDeviceProperties[id_num] = {} fibaro.call(id_num, "updateProperty", property, self:getMessage(self:incdec(value, self.options.property.getValue(id_num, property)))) end end, trigger = function(id, property) return {event = {type = "device", id = self:findDeviceId(id), property = property}, filter = {type = "DevicePropertyUpdatedEvent", data = {id = self:findDeviceId(id), property = property}}} end, Saurais-tu me dire où chercher dans le code ?
jojo Posté(e) le 12 décembre 2023 Signaler Posté(e) le 12 décembre 2023 Dans le JSON de mon device (qui est un WP), j'ai ces actions "actions": { "abortUpdate": 1, "reconfigure": 0, "reset": 0, "retryUpdate": 1, "startUpdate": 1, "toggle": 0, "turnOff": 0, "turnOn": 0, "updateFirmware": 1 Or, dans ce que j'ai vu du code (ligne 420) fibaro.call(id_num, "updateProperty", property, ...) il n'y a pas l'action "updateProperty" dans le JSON. Une piste, ou j'ai mal interprété ? Un changement entre la HC2 et la HC3 ? P.S. Je ferai un reminder demain dans l'autre topic. Merci.
jluc2808 Posté(e) le 13 décembre 2023 Signaler Posté(e) le 13 décembre 2023 Il y a 10 heures, jojo a dit : Dans le JSON de mon device (qui est un WP), j'ai ces actions "actions": { "abortUpdate": 1, "reconfigure": 0, "reset": 0, "retryUpdate": 1, "startUpdate": 1, "toggle": 0, "turnOff": 0, "turnOn": 0, "updateFirmware": 1 Or, dans ce que j'ai vu du code (ligne 420) fibaro.call(id_num, "updateProperty", property, ...) il n'y a pas l'action "updateProperty" dans le JSON. Une piste, ou j'ai mal interprété ? Un changement entre la HC2 et la HC3 ? P.S. Je ferai un reminder demain dans l'autre topic. Merci. si on regarde le LUA de la commande crée en mode block (et qui fonctionne) on a hub.call({[1] = 452, [2] = 457, [3] = 460, [4] = 463, }, 'setRingsLightMode', "on") hub.call({[1] = 452, [2] = 457, [3] = 460, [4] = 463, }, 'setProperty', "ringUpperColor","green") hub.call({[1] = 452, [2] = 457, [3] = 460, [4] = 463, }, 'setProperty', "ringBottomColor","green") 1
jojo Posté(e) le 13 décembre 2023 Signaler Posté(e) le 13 décembre 2023 MERCI @jluc2808 pour ton input !!! Cela m'a permis de trouver l'erreur dans le code GEA. J'xplique en détail dans l'autre topic.
jluc2808 Posté(e) le 13 décembre 2023 Signaler Posté(e) le 13 décembre 2023 (modifié) il y a 10 minutes, jojo a dit : MERCI @jluc2808 pour ton input !!! Cela m'a permis de trouver l'erreur dans le code GEA. J'xplique en détail dans l'autre topic. pardon mais quoi c'est l'autre topic ? Modifié le 13 décembre 2023 par jluc2808
Lazer Posté(e) le 13 décembre 2023 Signaler Posté(e) le 13 décembre 2023 Il y a 20 heures, jojo a dit : Saurais-tu me dire où chercher dans le code ? Tu étais au bon endroit C'est dans la sous-fonction action() que ça se passe. Il y a 19 heures, jojo a dit : il n'y a pas l'action "updateProperty" dans le JSON. Une piste, ou j'ai mal interprété ? Un changement entre la HC2 et la HC3 ? En fait toutes les fonctions des modules (Z-Wave, Zigbee, QuickApp, entité extra-terrestre...) ne sont pas listées dans la section actions du JSON. Normalement le updateProperty setProperty est systématiquement implémenté, ça fait partie des fonctions de bases de tous les modules, encore une fois qu'ils soient physiques ou virtuels. Je pourrais te prendre un autre exemple, c'est la fonction QuickApp:debug() qu'on utilise en long en large et en travers pour afficher des informations dans la fenêtre de debug. On ne l'a défini nul part dans notre propre code LUA, pourtant elle existe belle et bien. Pourtant elle n'est pas listées dans actions. En fait elle est héritée de la classe parente du QuickApp. Conséquence : appeler la fonction debug() d'un autre QuickApp permet de lui faire afficher n'importe quoi ! Donc là c'est un autre bug, on appelle la mauvaise fonction. Mais ça m'interpelle quand même, j'ai l'impression qu'on est face à une modification non documentée de l'API de la part de Fibaro. Il faudrait enquêter, car je suis certain que ça fonctionnait avant, j'ai encore mon fichier des règles de GEA que j'ai testé avant partage sur le forum. Du coup, rectificatif : modification incluse dans le "other minor fix" du changelog 1
lamparo Posté(e) le 25 décembre 2023 Signaler Posté(e) le 25 décembre 2023 Bonsoir à tous, j'ai passé pas mal de temps à parcourir le sujet, sans trouver. Y a t'il une fonction "sinon" dans GEA? j'ai ces deux lignes dans GEA: GEA.add( {"Value", 303, 1}, -1, "Porte de garage ouverte", {"Portable", id["Portable_JP"]} ) GEA.add( {"Value!", 303, 1}, -1, "Porte de garage fermée", {"Portable", id["Portable_JP"]} ) Je voulais simplement conserver la ligne N°1 et mettre un "sinon" pour l'envoi du message: "Porte de garage fermée": GEA.add( {"Value", 303, 1}, -1, "Porte de garage ouverte", {"Portable", id["Portable_JP"]} )>>sinon "Porte de garage fermée", {"Portable", id["Portable_JP"]} ) Possible?
Lazer Posté(e) le 25 décembre 2023 Signaler Posté(e) le 25 décembre 2023 Non pas possible, il te faut créer 2 lignes distinctes pour répondre aux 2 conditions.
lamparo Posté(e) le 25 décembre 2023 Signaler Posté(e) le 25 décembre 2023 Il y a 4 heures, Lazer a dit : Non pas possible, il te faut créer 2 lignes distinctes pour répondre aux 2 conditions. Merci pour tes lumières ;-)
jojo Posté(e) le 14 janvier Signaler Posté(e) le 14 janvier Le 12/11/2023 à 16:19, jojo a dit : Bonjour, Je souhaite utiliser la fonction Deads pour me lister les modules découverts comme morts. Est-ce possible ? Maintenant, j'utilise la fonction Dead pour un module spécifique et reçois un mail avec le nom du module écrit en dur. la réponse se trouve ici
sllc70 Posté(e) le 25 février Signaler Posté(e) le 25 février (modifié) Je m'excuse pour la question que je vais vous poser, qui est sûrement élémentaire. Mais pour moi, sincèrement, alors que j'apprends le Gea (vraiment exceptionnel), ce n'est pas du tout élémentaire. (Pour HC3 light) J'ai deux scènes d'allumage et d'extinction des lumières en fonction du lever ou du coucher du soleil. Donc, l'allumage ne fonctionne pas, tandis que l'extinction si. Pouvez-vous m'aider à comprendre ce que je fais de travers ? GEA.add({172, {"Global", "alba_tramonto", "tramonto"} }, "", "", {{"turnOn"}}) GEA.add({210, {"Global", "alba_tramonto", "tramonto"} }, "", "", {{"turnOn"}}) GEA.add({267, {"Global", "alba_tramonto", "tramonto"} }, "", "", {{"turnOn"}}) GEA.add({269, {"Global", "alba_tramonto", "tramonto"} }, "", "", {{"turnOn"}}) GEA.add({172, {"Global", "alba_tramonto", "alba"} }, 1*60, "", {{"turnOff"}}) GEA.add({210, {"Global", "alba_tramonto", "alba"} }, 2*60, "", {{"turnOff"}}) GEA.add({267, {"Global", "alba_tramonto", "alba"} }, 1*60, "", {{"turnOff"}}) GEA.add({269, {"Global", "alba_tramonto", "alba"} }, 1*60, "", {{"turnOff"}}) Et je me souvenais qu'il y avait une page d'explications sur le GEA, c'est-à-dire ce qui est requis dans chaque champ, pour comprendre un peu la structure et pouvoir créer quelque chose sans déranger sur le forum, mais je ne la trouve plus. Pouvez-vous me dire où elle se trouve ? Merci à tous. Modifié le 25 février par sllc70
Lazer Posté(e) le 25 février Signaler Posté(e) le 25 février Dans tes 4 premières règles avec l'action TurnOn, la durée n'est pas bonne, puisque tu as mis "", or il faut mettre un nombre. Pour un allumage de lumière, normalement on veut de l'instantané, donc durée = -1. Exemple : GEA.add({172, {"Global", "alba_tramonto", "tramonto"} }, -1, "", {{"turnOn"}}) GEA.add({210, {"Global", "alba_tramonto", "tramonto"} }, -1, "", {{"turnOn"}}) GEA.add({267, {"Global", "alba_tramonto", "tramonto"} }, -1, "", {{"turnOn"}}) GEA.add({269, {"Global", "alba_tramonto", "tramonto"} }, -1, "", {{"turnOn"}}) Pour la documentation de référence de GEA, voir ce topic avec le lien vers la doc de syntaxe en première page :
sllc70 Posté(e) le 26 février Signaler Posté(e) le 26 février Merci pour la réponse. Malheureusement, ça ne fonctionne pas, tout reste éteint et comme mentionné, seul l'extinction des lumières fonctionne. Mais, laisse-moi comprendre : si au lieu de -1, je mets par exemple 3 à la même place, qu'est-ce qui devrait se passer ? La lumière, si la scène fonctionnait, s'allumerait-elle après trois minutes ? Autrement dit, retarderait-elle l'allumage ? Quoi qu'il en soit, je ne comprends pas, j'ai vérifié la variable et elle change en "coucher de soleil", écrit de la même manière que ce qui a été transféré dans la scène du GEA. Si je me souviens bien, les scènes, même si elles sont placées l'une après l'autre (allumer et éteindre), ne devraient absolument pas interférer les unes avec les autres, mais fonctionner uniquement en fonction de la globale. la scene: --luci giardino GEA.add({172, {"Global", "alba_tramonto", "tramonto"} }, -1, "", {{"turnOn"}}) GEA.add({210, {"Global", "alba_tramonto", "tramonto"} }, -1, "", {{"turnOn"}}) GEA.add({267, {"Global", "alba_tramonto", "tramonto"} }, -1, "", {{"turnOn"}}) GEA.add({269, {"Global", "alba_tramonto", "tramonto"} }, -1, "", {{"turnOn"}}) GEA.add({172, {"Global", "alba_tramonto", "alba"} }, 1*60, "", {{"turnOff"}}) GEA.add({210, {"Global", "alba_tramonto", "alba"} }, 2*60, "", {{"turnOff"}}) GEA.add({267, {"Global", "alba_tramonto", "alba"} }, 1*60, "", {{"turnOff"}}) GEA.add({269, {"Global", "alba_tramonto", "alba"} }, 1*60, "", {{"turnOff"}})
Lazer Posté(e) le 26 février Signaler Posté(e) le 26 février (modifié) Si tu mets 3, c'est exactement comme si tu mets 0, puisque tu seras dans le mode de fonctionnement par cycle de 30s de GEA. Donc un déclenchement entre 0 et 30s maximum après la détection du mouvement. Voir les explications dans la doc de syntaxe. Mais j'y pense, les ID 172, 210, etc... je n'ai pas l'impression que ce soit des ID de détecteurs de mouvements, vu que dans tes lignes d'extinction de la lumière on retrouve les mêmes ID, donc je suppose que ce sont les ID des lampes. Dans ces conditions, si tu attends que la condition (la lampe est allumée) soit vraie pour effectuer l'action (allumer la lampe), tu risque d'attendre longtemps... éternellement même ! Le serpent qui se mort la queue... Bref, faut mettre les ID de tes détecteurs de mouvement à la place. EDIT : j'ai relu ta demande, tu veux juste que la lumière s'allume au coucher du soleil.. dans ce cas encore plus simple : GEA.add({"Time", "Sunset", "Sunset+1"}, 0, "", {"TurnOn", {172, 210, 267, 269}}, "Allumage des 4 lumières au coucher du soleil") Inspiration trouvée dans la doc de syntaxe, que tu devrais vraiment commencer par lire, il y a plein d'explication et surtout des tonnes d'exemples. Modifié le 26 février par Lazer
jojo Posté(e) le 27 février Signaler Posté(e) le 27 février j'allais écrire la même chose que @Lazer pour les ID. et j'allais ajouter, pourquoi passer par une variable globale ? mais il t'as également proposé la meilleure solution (normal ...)
Sakkhho Posté(e) le 3 mars Signaler Posté(e) le 3 mars Hello ca y est je commence à mettre les mains dans GEA version HC3 ... J'avais pas mal de variable sur HC2 pour gérer les "MODEs MAISON", comme dans la HC3 ces modes sont une fonctionnalité par défaut, je me dis autant les utiliser Question, comment GEA peut les interpreter ? j'ai pas trouvé dans la syntaxe
jojo Posté(e) le 3 mars Signaler Posté(e) le 3 mars à partir de la ligne 250 de la syntaxe, tu as un super tableau avec toutes les options possibles
Messages recommandés