
Shyrka973
Membres confirmés-
Compteur de contenus
758 -
Inscription
-
Dernière visite
-
Jours gagnés
5
Tout ce qui a été posté par Shyrka973
-
Bonjour à tous, Je constate que même les plus frileux passent à cette bêta, car elle semble stable, voire plus stable que le dernier firmware officiel, la 056. Je risque d'avoir les problèmes des scènes qui ne se lancent pas, car il y a au moins un numéro id dans l'entête qui n'existe pas. Il y a aussi la nouvelle option concernant le nombre d'instances d'une scène qui peut être lancé en même temps. C'est uniquement ça. Pas de bug découvert jusqu'à maintenant ?
-
Topic unique Fibaro - Smoke Detector - Fgsd-002
Shyrka973 a répondu à un(e) sujet de Fanou dans Modules Fibaro
Salut, Tu m'inquiètes là car j'attends les miens. Si tu appuies assez longtemps sur le bouton au dos, il devrait biper très fort. C'est le cas ? -
Les télécommandes Nodon avec le déclenchement de type 'Central Scene" configuré sont maintenant compatible avec la V4. C'est cosmétique mais je préfère une comparaison avec "pressed key 1" qu'avec "20". Cela m'évite de mettre un commentaire dans le code pour me rappeler que 20 est "pressed key 1". Je suppose que ce sera aussi plus simple avec les scènes en mode bloc par exemple..
-
Pour centralscene, lisez ce post pour plus d'info. En résumer, on pourra remplacer ceci: if scene activation == id 20 then do something par ceci: if centralscene == pressed key 1 one time then do something
-
J'exagère très légèrement mais je considère que GEA est indispensable si on veut faire de la domotique poussée. Un grand merci à Steven.
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Salut @jerome_clamart Peux-tu poster uniquement tes lignes GEA sans le code GEA ? Il est préférable d'utiliser la balise "Code" dans l"éditeur du post pour insérer ton code. C'est plus pratique quand pièce jointe. Il y a surement une erreur dans les paramètres de tes lignes GEA et aussi des accolades manquantes. Au départ, il faut y aller par étapes. Premièrement, tu dois pouvoir faire tourner GEA dans une scène sans tes lignes GEA et donc sans erreur. Il te faut vérifier les paramètres de GEA: as-tu créé la variable globale GEA_Tasks ? Puis tu ajoutes tes GEA les une après les autres en t'assurant que GEA ne retourne aucune erreur.
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Assez refroidi, je suis aussi. J'ai un peu de mal àaller voir ailleurs. J'attends, je suppose, une catastrophe de Fibaro pour me décider.
- 12 330 réponses
-
- 1
-
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
@Steven. Merci !!! Toujours fidèle à Fibaro ?
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
J'aurais pu modifier le repos sur github mais je voulais être sure que c'était ok pour tout le monde. Pour l'instant, ça corrige mon problème et aussi chez jmg38. Mais ça n'affecte pas HANSOLO (qui est en V4). Mais avant d'arriver à cette ligne buggée, il faut passer par d'autres conditions dans le code que peut être HANSOLO ne passe pas. Mais cette ligne est forcement buggée. Donc à ceux qui ont des RGB, n'hésitez pas à tester.
- 12 330 réponses
-
- 1
-
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Dans cette ligne: not fibaro:getValue(tonumber(id), "color") == "0,0,0,0" not s'applique uniquement à fibaro:getValue(tonumber(id), "color") mais pas à fibaro:getValue(tonumber(id), "color") == "0,0,0,0". Il manque les parenthèses comme ceci: not (fibaro:getValue(tonumber(id), "color") == "0,0,0,0") Faisons un test. Avec ton RGD éteint, crée un scène de test avec ces lignes: local id = 100 -- l'id de ton RGB local result = fibaro:getValue(tonumber(id), "color") fibaro:debug(result) devrait te donner: "0,0,0,0" puisque ton RGB est éteint. Ensuite, local result = fibaro:getValue(tonumber(id), "color") == "0,36,0,0" fibaro:debug(result) devait te donner: false car "0,0,0,0" n'est pas égale à "0,36,0,0" Donc pour toi: local result = not fibaro:getValue(tonumber(id), "color") == "0,36,0,0" devrait te donner l'inverse de false c'est à dire true et pourtant cette ligne te donnera false car not s'applique uniquement à fibaro:getValue(tonumber(id), "color"), pas à fibaro:getValue(tonumber(id), "color") == "0,36,0,0" Mais si tu écrit: local result = not (fibaro:getValue(tonumber(id), "color") == "0,36,0,0") tu auras bien l'inverse de false, c'est à dire true. C'est un peu le béaba des languages de programmation: l'ordre de priorité des opérateurs. Voici un lien vers un tutoriel de LUA: 2-j. L'ordre de priorité des opérateurs et on constate que not à une priorité plus haute que == et donc il est évalué avant le ==. Pour changer l'ordre de priorité, il faut jouer des parenthèses. J'espère que mes explications ont été assez claires.
- 12 330 réponses
-
- 1
-
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
@HANSOLO As-tu ces lignes de code dans ton GEA ? Pour les trouver rapidement, il suffit de chercher "FGRGBW441M".
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Bizarre. Tu es bien en firmware 4.x ? Le type du RGB est bien "com.fibaro.FGRGBW441M" ? Voici les lignes de code avec la correction : if (GEA.find(type, "rgb_driver")) then -- verison 3.x result = (tonumber(fibaro:getValue(tonumber(id), "value")) > 0 ) or tonumber(fibaro:getValue(tonumber(id), "currentProgramID")) > 0 elseif (GEA.find(type, "com.fibaro.FGRGBW441M")) then -- verison 4.x result = (tonumber(fibaro:getValue(tonumber(id), "value")) > 0 and not (fibaro:getValue(tonumber(id), "color") == "0,0,0,0")) or tonumber(fibaro:getValue(tonumber(id), "currentProgramID")) > 0 else result = tonumber(fibaro:getValue(tonumber(id), "value")) > 0 end Jmg38 a eu le problème et avec la correction, ça fonctionne pour lui. Je ne comprends pas. Le not ne s'applique pas au retour de la fonction fibaro:getValue(tonumber(id), "color") mais au résultat de l'expression fibaro:getValue(tonumber(id), "color") == "0,0,0,0") donc les parenthèses sont de rigueur.
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Merci. J'ai vérifié le code et je n'ai pas trouvé d'autres erreurs avec le not sans parenthèse.
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Topic unique Fibaro - Smoke Detector - Fgsd-002
Shyrka973 a répondu à un(e) sujet de Fanou dans Modules Fibaro
Le 'ti punch aidant, j'ai pris 5 inondation. Je m'arrête là -
@jmg38 Tu confirmes qu'avant la correction du bug, ça ne fonctionnait pas ?
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Topic unique Fibaro - Smoke Detector - Fgsd-002
Shyrka973 a répondu à un(e) sujet de Fanou dans Modules Fibaro
Merci @Fanou pour ce tuyau J'en ai déjà 3 FGSD, j'en ai repris 6. -
Justement, je ne comprenais pas pourquoi l'arrêt après un temps donné fonctionne sur FGD ou autres, mais pas sur un RGB. De mon point de vue, cela venait d'un bug car ça fonctionnait en firmware 3.x. Le problème est apparu depuis la 4.x. Après recherche, je l'ai trouvé et corrigé; juste un oubli de parenthèse, maintenant, le RGB s'éteint après un temps donné. Maintenant, je le signale sur le forum pour les autres.
- 12 330 réponses
-
- 1
-
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Exact ! Donc dans le même principe, cette ligne: not fibaro:getValue(tonumber(id), "color") == "0,0,0,0" est différente de celle-ci: not (fibaro:getValue(tonumber(id), "color") == "0,0,0,0")) Et voilà donc où se trouve le bug.
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Il semble que l'on ne comprenne pas l'erreur de programmation: not a = b est différent de not ( a = b ) Quelqu'un possédant un RGB pourrait confirmer le problème de temps pour l'extinction avec une ligne comme celle-ci ? GEA.add(id["ID_RGB"], 2*60 ,"RGB Off après 2mn", { {"turnOff"} }) Quand on allume le RGB, il doit s'éteindre dans 2mn après. Merci.
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
La ligne suivante: GEA.add(id["ID_LAMPE"], 2*60 ,"Lampe Off après 2mn", { {"turnOff"} }) est équivalente à la ligne suivante: GEA.add(id["ID_LAMPE"], 2*60 ,"Lampe Off après 2mn", { {"turnOff"}, id["ID_LAMPE"] })
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Le problème ne vient pas du turnOff. Pour faire court, l'erreur si situe ici: not a = b est différent de not ( a = b )
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
En LUA, la virgule en trop est supprimée par le compilateur car il n'y a pas d'élément qui suit après la virgule. Et ceci n'a rien avoir avec le bug découvert. Ceux qui ont un RGB peuvent facilement tester.
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Bonjour à tous, Il y a un bug dans GEA: une histoire de parenthèse. La ligne suivante devrait éteindre la lampe ID_LAMPE après deux minutes qu'elle soit allumée. GEA.add(id["ID_LAMPE"], 2*60 ,"Lampe Off après 2mn", { {"turnOff"}, }) C'est la cas mais pas pour le module RGB de Fibaro. Il ne s'éteindra pas. Le bug se situe à cette ligne: result = (tonumber(fibaro:getValue(tonumber(id), "value")) > 0 and not fibaro:getValue(tonumber(id), "color") == "0,0,0,0") or tonumber(fibaro:getValue(tonumber(id), "currentProgramID")) > 0 Elle doit être remplacer par celle-ci: result = (tonumber(fibaro:getValue(tonumber(id), "value")) > 0 and not (fibaro:getValue(tonumber(id), "color") == "0,0,0,0")) or tonumber(fibaro:getValue(tonumber(id), "currentProgramID")) > 0 Vous constatez qu'il manque les parenthèses pour not s'applique la condition: fibaro:getValue(tonumber(id), "color") == "0,0,0,0".
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Compatible V3-V4-Lite Everspring - St812 - Détecteur D'inondation Zwave
Shyrka973 a répondu à un(e) sujet de Moicphil dans Everspring
@Bouliboule J'en ai un sur terrasse. Pour cette utilisation, je le préfère au modèle Fibaro car sa sonde est déportée. Dommage que Fibaro ne vend pas l'option sonde déportée pour son module. N'hésite pas si tu veux plus d'info. -
67 VD, 23 scènes et avec GEA ... c'est monstrueux