Aller au contenu

Recommended Posts

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

Partager ce message


Lien à poster
Partager sur d’autres sites
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

Partager ce message


Lien à poster
Partager sur d’autres sites

"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é par Lazer

Partager ce message


Lien à poster
Partager sur d’autres sites

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)

Partager ce message


Lien à poster
Partager sur d’autres sites

OK bon, il faut reporter le bug sur le topic de dév GEA pour que je pense à l'analyser plus tard.

Partager ce message


Lien à poster
Partager sur d’autres sites

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 ?

Partager ce message


Lien à poster
Partager sur d’autres sites

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.

Partager ce message


Lien à poster
Partager sur d’autres sites
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")

 

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

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.

Partager ce message


Lien à poster
Partager sur d’autres sites
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é par jluc2808

Partager ce message


Lien à poster
Partager sur d’autres sites
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 :lol:

 

  • Haha 1

Partager ce message


Lien à poster
Partager sur d’autres sites

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?

Partager ce message


Lien à poster
Partager sur d’autres sites

Non pas possible, il te faut créer 2 lignes distinctes pour répondre aux 2 conditions.

Partager ce message


Lien à poster
Partager sur d’autres sites
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 ;-)

Partager ce message


Lien à poster
Partager sur d’autres sites
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

 

Partager ce message


Lien à poster
Partager sur d’autres sites

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é par sllc70

Partager ce message


Lien à poster
Partager sur d’autres sites

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 :

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

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"}})

Partager ce message


Lien à poster
Partager sur d’autres sites

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é par Lazer

Partager ce message


Lien à poster
Partager sur d’autres sites

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 ...)

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

Avec "Profile"

  • Thanks 1

Partager ce message


Lien à poster
Partager sur d’autres sites

vu merci, je cherchais MODE ...

Partager ce message


Lien à poster
Partager sur d’autres sites

à partir de la ligne 250 de la syntaxe, tu as un super tableau avec toutes les options possibles

Partager ce message


Lien à poster
Partager sur d’autres sites

×