mipa Posté(e) le 2 septembre 2019 Signaler Posté(e) le 2 septembre 2019 Merci de ton retour. @Dragoniacs J'ai supprimé et recommencé, idem... J'ai aussi tenté d'ajouter une valeur ex. value 1 cela n'a rien changé. J'ai pas de connaissance pour aller plus loin malheureusement A quoi cela sert d'avoir des variables avec une valeur de 0 ? Est ce que mes variables sont écrites correctement (y compris les majuscules et les espaces ) ? Je suis preneur de vos conseils et retours
flechg Posté(e) le 2 septembre 2019 Signaler Posté(e) le 2 septembre 2019 Bonjour, j ai eu un problème un peu similaire et chez moi cela venait d'un mauvais id déclaré dans l’entête. vérifie aussi tes id sait on jamais cdt 1
Steven Posté(e) le 2 septembre 2019 Auteur Signaler Posté(e) le 2 septembre 2019 Dans son cas, c'est un peu normal vu que GEA ne démarre pas J'ai intégré le script dans ma HC2, modifié l'ID du détecteur et de la lampe ... testé ... et aucun soucis . Je pense donc que cela vient des variables globales mais c'est vraiment tordu. Ne t'inquiète pas, une fois qu'on aura trouvé tu n'auras plus de soucis. Je te propose de supprimer tes variables globales et de les recrées en respectant les majuscule minuscules ainsi et en les laissant vide : GEA_Tasks6 GEA_Plugins GEA_History Tiens moi au courant, mais je suis sûr que tu vas me dire ... c'est tout bon P.S. Le code d'erreur vient de la variables GEA_Plugins. Il semblerait qu'ils aillent changer leur manière de gérer les VG à mon grand détriment.
Steven Posté(e) le 2 septembre 2019 Auteur Signaler Posté(e) le 2 septembre 2019 Bon, je n'avais pas rafraichis correctement. Oui tes variables sont correctes, vide les et enregistre pour tester. Il marquera NaN comme valeur ce qui est normal.
pepite Posté(e) le 2 septembre 2019 Signaler Posté(e) le 2 septembre 2019 Well done :-)Envoyé de mon BND-L21 en utilisant Tapatalk
Steven Posté(e) le 2 septembre 2019 Auteur Signaler Posté(e) le 2 septembre 2019 Le 18/08/2019 à 13:06, Felig a dit : Bonjour, Comme beaucoup je trouve la fonction PressButton de Fibaro mal faite: contrairement à un Label qu'on peut sélectionner par son identifiant, un bouton doit être sélectionné en fonction de sa position dans le Virtual Device, ce qui est source d'erreur, et oblige à réécrire toutes les fonctions en cas de modification de la structure du VD. Ci-joint deux fonctions qui permettent de pallier ce problème dans GEA: "PressButtonLabel" permet de sélectionner un bouton en fonction de son libellé (ce qui est affiché dessus). Attention: si plusieurs boutons ont le même libellé dans le même VD, le résultat sera aléatoire! Exemple d'utilisation: GEA.add({"Time","08:00"},0,"",{"PressButtonLabel",id["VOLETS"]","Monter"}) "PressButtonId" permet de sélectionner un bouton en fonction de son identifiant (dans l'onglet Advanced, c'est le nom qui apparait dans le champ "ID:"). Cet identifiant est unique et ne change pas si le reste du VD est modifié. Exemple d'utilisation: GEA.add({"Time","08:00"},0,"",{"PressButtonId",id["VOLETS"]","BtnMonter"}) Laquelle de ces fonctions privilégier ? "PresButtonLabel" est plus intuitif, il suffit de savoir ce qui est affiché sur le bouton pour l'utiliser. "PressButtonId" est cependant plus fiable: l'expérience prouve qu'on ne change jamais l'identifiant d'un bouton, alors que ça peut arriver avec un libellé. Par ailleurs "PressButtonId" utilise un identifiant unique. Autre avantage important commun à ces deux fonctions: le programme vérifiera si le bouton en question existe au démarrage de GEA (par contre si vous modifiez le bouton pendant que GEA est lancé, ce ne sera pas détecté). Pour utiliser ces fonctions, il suffit d'ajouter le code ci-dessous dans la section CONFIGURATION GENERALE de GEA: GEA.checkButton = function(id,property,text) if property ~= "name" and property ~= "caption" then return false end local vds = api.get("/virtualDevices/"..id) if not(vds) then return false end for _, row in pairs(vds.properties.rows) do if (row.type == "button") then for _, element in pairs(row.elements) do if not(element[property]) then return false end if element[property] == text then return tostring(element.id) end end end end return false -- Bouton n'existe pas end -- ---------------------------------------------------------- -- PressButtonLabel: Equivalent à PressButton mais sélectionne le bouton -- en fonction de son libellé (ce qui est affiché dessus). Attention: -- si plusieurs boutons ont le même libellé, le résultat sera aléatoire! -- Ex: GEA.add({"Time","08:00"},0,"",{"PressButtonLabel",id["VOLETS"]","Monter"}) -- ---------------------------------------------------------- GEA.options.pressbuttonlabel = { name = "PressButtonLabel", control = function(id,label) if GEA.checkButton(id,"caption",label) then return true else return false, string.format(GEA.trad.label_missing, id, label) end end, action = function(id,label) fibaro:call(id,"pressButton",GEA.checkButton(id,"caption",label)) end } -- ---------------------------------------------------------- -- PressButtonId: Equivalent à PressButton mais sélectionne le bouton -- en fonction de son identifiant (modifiable dans l'onglet Advanced). -- Cet identifiant unique ne change pas si le reste du VD est modifié. -- Ex: GEA.add({"Time","08:00"},0,"",{"PressButtonId",id["VOLETS"]","BtnMonter"}) -- ---------------------------------------------------------- GEA.options.pressbuttonid = { name = "PressButtonId", control = function(id,name) if GEA.checkButton(id,"name",name) then return true else return false, string.format(GEA.trad.label_missing, id, name) end end, action = function(id,name) fibaro:call(id,"pressButton",GEA.checkButton(id,"name",name)) end } PS: J'imagine que je ne suis pas le seul à avoir eu ce besoin, et sans doute d'autres ont posté des solutions équivalentes, désolé si c'est le cas. Mon code est très largement inspiré de la fonction checkLabel qui a été ajoutée dans GEA 6.10. Merci à @Steven et aux autres développeurs. PS2: Les noms de mes fonctions sont un peu longs, n'hésitez pas à changer pour VDname et VDid par exemple. PS3: Pour éviter de modifier GEA j'utilise le même message d'erreur que pour un Label inexistant. Pour les puristes, il faudrait ajouter un message d'erreur spécifique "button_missing" dans les traductions. Ouch, @pepite m'avais déjà soumis la demande qui j'avais déjà intégrée dans le future 6.12. Comme quoi les grands esprits se rencontre. Avant de diffuser la 6.12, je prenais mon temps car elle inclus d'autres changements dont 1 qui nécessite pas mal de test. En gros, voici le changelog : -- correction création variables globales (firmeware 4.55) -- correction bug sur incrémentation d'une propriété -- VirtualDevice choix du numéro du bouton ou de son id ou de son nom -- Posibilité de remplacer l'ID par le nom du module {"Value", "Plafonnier", 30} au lieu de {"Value", 150, 30} -- le nom du module peut être suffixé du nom de la pièce en ajoutant <nom module>@<nom pièces> ... Plafonnier@Chambre parents -- Posibilité de remplacer l'ID d'un scénario par son nom {"CountScenes", "GEA 6.12"} au lieu de {"CountScenes", 37} -- Exemple complet : -- {"VD", "Notification center", "Pushbullet"} -- Appuie sur le bouton dont le libellé est "Pushbullet" du module virtuel "Notification center". 2
mipa Posté(e) le 2 septembre 2019 Signaler Posté(e) le 2 septembre 2019 Il y a 8 heures, Steven a dit : Bon, je n'avais pas rafraichis correctement. Oui tes variables sont correctes, vide les et enregistre pour tester. Il marquera NaN comme valeur ce qui est normal. Suis désolé d'insister mais cela ne fonctionne toujours pas chez moi..... Est ce que cela pourrait venir d'une autre scene qui rentre en conflit ? ou es ce uniquement au variable de GEA ?
mipa Posté(e) le 2 septembre 2019 Signaler Posté(e) le 2 septembre 2019 J'ajoute également une photo de ceux ci....
mipa Posté(e) le 2 septembre 2019 Signaler Posté(e) le 2 septembre 2019 Il y a 13 heures, flechg a dit : Bonjour, j ai eu un problème un peu similaire et chez moi cela venait d'un mauvais id déclaré dans l’entête. vérifie aussi tes id sait on jamais cdt Je confirme que cela ne vient pas du ou des ID, j'ai essayé de démarrer le GEA sans aucun script et value, et j'ai toujours le même message d'erreur
pepite Posté(e) le 3 septembre 2019 Signaler Posté(e) le 3 septembre 2019 Il y a 21 heures, Steven a dit : Ouch, @pepite m'avais déjà soumis la demande qui j'avais déjà intégrée dans le future 6.12. chuuuuuuuuuuuuuuuuuuuuuuuuut suis incognito ;-) Il y a 21 heures, Steven a dit : -- correction création variables globales (firmeware 4.55) -- correction bug sur incrémentation d'une propriété -- VirtualDevice choix du numéro du bouton ou de son id ou de son nom -- Posibilité de remplacer l'ID par le nom du module {"Value", "Plafonnier", 30} au lieu de {"Value", 150, 30} -- le nom du module peut être suffixé du nom de la pièce en ajoutant <nom module>@<nom pièces> ... Plafonnier@Chambre parents -- Posibilité de remplacer l'ID d'un scénario par son nom {"CountScenes", "GEA 6.12"} au lieu de {"CountScenes", 37} -- Exemple complet : -- {"VD", "Notification center", "Pushbullet"} -- Appuie sur le bouton dont le libellé est "Pushbullet" du module virtuel "Notification center". ce changelog est superbe, en incognito ces evolutions sont top lol 1 1
pepite Posté(e) le 3 septembre 2019 Signaler Posté(e) le 3 septembre 2019 Il y a 20 heures, mipa a dit : au variable de GEA les variables ne sont que des VARIABLES utilisées par GEA. le bug de la 4.55 empeche la creation des variables avec un post. en les créant manuellement, cela aurait du fonctionner ;-) mystere
pepite Posté(e) le 3 septembre 2019 Signaler Posté(e) le 3 septembre 2019 Il y a 21 heures, Steven a dit : je prenais mon temps vive les vacances ;-)
Steven Posté(e) le 3 septembre 2019 Auteur Signaler Posté(e) le 3 septembre 2019 Il y a 17 heures, mipa a dit : Je confirme que cela ne vient pas du ou des ID, j'ai essayé de démarrer le GEA sans aucun script et value, et j'ai toujours le même message d'erreur Regarde tes mails 1 1
Dragoniacs Posté(e) le 3 septembre 2019 Signaler Posté(e) le 3 septembre 2019 Regarde tes mails Aurons-nous une explication de ce mystère ?Envoyé de mon SM-A530F en utilisant Tapatalk
pepite Posté(e) le 3 septembre 2019 Signaler Posté(e) le 3 septembre 2019 @mipa Tu ne lis pas tes mails ;-) 1
Steven Posté(e) le 3 septembre 2019 Auteur Signaler Posté(e) le 3 septembre 2019 @mipa m'avait envoyé son script qui ne fonctionne pas chez lui mais très bien chez moi. Je n'ai rien fait d'autre que lui envoyé une version 6.12 pour tester chez lui. Peut-être, mais je dis bien peut-être que si elle fonctionne, elle sera diffusée. Par contre, je me marre déjà pour @pepite qui va devoir modifier le fichier de synthaxe et les modifications sont juste ENORME pour lui 2 1
mipa Posté(e) le 3 septembre 2019 Signaler Posté(e) le 3 septembre 2019 Il y a 1 heure, pepite a dit : @mipa Tu ne lis pas tes mails ;-) Journée chaotique au travail... je n'ai découvert le mail qu'après avoir lu vos posts..... Je vous tiens au courant rapidement
pepite Posté(e) le 3 septembre 2019 Signaler Posté(e) le 3 septembre 2019 Il y a 4 heures, Steven a dit : modifier le fichier de synthaxe et les modifications sont juste ENORME pour lui ah m..... merci pour le boulot...mais avec plaisir ;-)
mipa Posté(e) le 3 septembre 2019 Signaler Posté(e) le 3 septembre 2019 Bon j'imagine que vous êtes tous là à attendre mon compte rendu (Quoi que ce que j'apprend vous n'êtes que 15.... ) Oui ça marche, la mise à jour proposé par @Steven regle le soucis que j'avais (oui j'ai bien compris que vous n'aviez pas de doute sur l'efficacité de Steven ) Donc un grand bravo à Steven qui à pu organiser dans un temps record un correctif pour le 4.55 (et ses variables) Steven n'hésite pas à me soliciter si tu as d'autres test/essai à faire. Voici quelques clichés preuve du bon fonctionnement Mon nouveau (et premier scénario sous GEA) fonctionne également.... Merci à @Ghoosti pour cela Mais ne vous réjouissez pas trop vite, car si cela fonctionne cela veux dire que je vais vite revenir, avec d'autres questions .... (on rigole moins là, hein ?!?) J'ai tout de même relevé un soucis dans mon scénario. La lampe semble s'éteindre de manière aléatoire (parfois au bout de 15 sec, parfois 1 minutes, etc.) Est ce que cela viens du code ou de GEA ?? suis preneur de vos commentaires.... Y a t'il une modification à faire si trop de solicitation ? Pour rappel il s'agit d'un détecteur de porte qui doit donner l'ordre de s'allumer uniquement de nuit et pour 3 minutes (si pas de nouvelle solicitations entre deux) GEA.add({{"Time", "Sunset", "Sunrise"}, {id["DetecteurMVT"]}}, -1, "", {"TurnOn", id["LampeExterieur"], 3*60}) Un grand merci au forum, et au membres de celui-ci, vous êtes top 2
Dragoniacs Posté(e) le 3 septembre 2019 Signaler Posté(e) le 3 septembre 2019 YoupiiiiiiContente pour toi !N'oublie pas que la scène ne boucle que toute les 30s, sauf sur un ordre de déclenchement instantané. Cela peut expliquer les irrégularités que tu vois.Pour les limites de scène, autorise 10 instances et tu n'auras plus de soucis.Envoyé de mon SM-A530F en utilisant Tapatalk 1
mipa Posté(e) le 8 septembre 2019 Signaler Posté(e) le 8 septembre 2019 Hello les amis, Je suis de retour avec une nouvelle problématique Je ne comprends pas ce qui cloche dans le scénario suivant....!?!?: -- éclairage sous-sol Cellier , via un motion sensor Fibaro FGMS-00 -- Si détection par ID93, allumage immédiat d' ID44 pour 5 minutes, condition renouvelable local id = { DetecteurMVT_cellier = 93, Lampe_cellier = 44} GEA.add(93, -1, "", {{"turnOn",44}, 5*60}) Pourriez-vous m'aider une nouvelle fois ? Le Debug n'indique rien d'anormal Merci ! Mipa
Steven Posté(e) le 8 septembre 2019 Auteur Signaler Posté(e) le 8 septembre 2019 Le , 5*60 doit être collé juste derrière le 44. Ainsi : GEA.add(93, -1, "", {"turnOn",44, 5*60}) L'instruction donne donc "allume le module 44 pendant 5mn" Envoyé de mon SM-G935F en utilisant Tapatalk 1
mipa Posté(e) le 9 septembre 2019 Signaler Posté(e) le 9 septembre 2019 Merci @Steven J'ai chargé le code mais cela ne déclenche pas ma lampe, et je ne vois pas le trig sur le debug....(contrairement a un autre trig que j'ai déclenché volontairement) Une idée du pourquoi ? (j'imagine que j'ai du faire une erreur de syntaxe ?)
Steven Posté(e) le 9 septembre 2019 Auteur Signaler Posté(e) le 9 septembre 2019 Tu as juste du oublier de mettre le détecteur dans l'entête. Tout en haut du script. Envoyé de mon SM-G935F en utilisant Tapatalk
pepite Posté(e) le 9 septembre 2019 Signaler Posté(e) le 9 septembre 2019 Sous %%properties 93 value Bonjour bonjour au fait ;-)
Messages recommandés