Berale64 630 Signaler ce message Posté(e) 29 septembre 2016 Je reviens sur l’excellent sujet de notre mangeur de mirabelles: http://www.domotique-fibaro.fr/index.php/topic/4504-module-virtuel-num%C3%A9rotation-des-boutons/ En bricolant un bout de code LUA, j'ai mis, par inadvertance, l'ID du bouton au lieu de son numéro dans un pressbutton. fibaro:call(IdModuleVirtuel, "pressButton", "4") Et ça marche à merveille. Je ne sais pas si c'est nouveau. Certains vont sà»rement dire que le vieux radote. Mais c'est super cool car on peut changer l'ordre des boutons dans un VD sans ce soucier de modifier le code. Le code est aussi beaucoup plus lisible. 2 Partager ce message Lien à poster Partager sur d’autres sites
pepite 1 272 Signaler ce message Posté(e) 29 septembre 2016 Salut Berale, Un exemple ;-) un exemple ;-) Moi j'avais pas fait gaffe ;-) je ne savais pas non lus, mais moi suis un vrai boulet lol Partager ce message Lien à poster Partager sur d’autres sites
Berale64 630 Signaler ce message Posté(e) 29 septembre 2016 Ici, c'est le bouton numéro 2. Donc je faisais fibaro:call(IdModuleVirtuel, "pressButton", "2") Et maintenant fibaro:call(IdModuleVirtuel, "pressButton", "Spring") Partager ce message Lien à poster Partager sur d’autres sites
pepite 1 272 Signaler ce message Posté(e) 29 septembre 2016 C'est cool, ca permet de modifier l'ordre des boutons ;-) sans se soucier du fonctionnement. J'avas vraiment pas remarqué non plus ;-) Partager ce message Lien à poster Partager sur d’autres sites
Berale64 630 Signaler ce message Posté(e) 30 septembre 2016 Bon, en fait, j'ai du me mélanger les pinceaux. Je croyais que ça marchait et ça marche plus!!! Alors j'ai écrit ce petit bout de code. function GetButtonNumber(VdID,BtName) local devicesJSon = api.get("/devices/"..VdID) local BtNum = 0; for k, v in pairs(devicesJSon.properties.rows) do BtNum = BtNum + 1; if (v.type == "button") then BtNum = BtNum - 1; for j = 1,#v.elements do BtNum = BtNum + 1; if (v.elements[j].name == BtName) then return (BtNum) end end end end return 0; end n = GetButtonNumber(29,"Sunset"); fibaro:call(29, "pressButton", n) fibaro:debug(n); 2 Partager ce message Lien à poster Partager sur d’autres sites
pepite 1 272 Signaler ce message Posté(e) 30 septembre 2016 et ca fonctionne ? C'est pas mal, mais ca oblige à mettre la fonction dans chaque scene ;-) Partager ce message Lien à poster Partager sur d’autres sites
jojo 2 620 Signaler ce message Posté(e) 18 octobre 2016 oh, zut, enfin je coyais qu'on pouvait utiliser l'ID Partager ce message Lien à poster Partager sur d’autres sites
Berale64 630 Signaler ce message Posté(e) 19 octobre 2016 Moi aussi ! Le petit morceau de code que j'ai publié fonctionne parfaitement. J'ai juste rajouté une petit fonction pour que mes scènes restent simple et lisibles. function PressButton(VdID,BtName); fibaro:call(VdID,"pressButton",GetButtonNumber(VdID,BtName)); end 1 Partager ce message Lien à poster Partager sur d’autres sites
jojo 2 620 Signaler ce message Posté(e) 19 octobre 2016 l'iédéal serait de pouvoir intégrer celààGEA Partager ce message Lien à poster Partager sur d’autres sites
Berale64 630 Signaler ce message Posté(e) 19 octobre 2016 Là, je peux rien pour toi, mais, bien sur, mon misérable petit morceau de code est àla disposition de la communauté. Mon code est un peu spaghetti, je pense que ça c'est plus propre. function GetButtonNumber(VdID,BtName) local devicesJSon = api.get("/devices/"..VdID) local BtNum = 0; for k, v in pairs(devicesJSon.properties.rows) do if (v.type == "button") then for j = 1,#v.elements do BtNum = BtNum + 1; if (v.elements[j].name == BtName) then return (BtNum) end end else -- slider ou label BtNum = BtNum + 1; end end return 0; end 2 Partager ce message Lien à poster Partager sur d’autres sites
jojo 2 620 Signaler ce message Posté(e) 19 octobre 2016 est-ce qu'un admin pourrait libérer le post de mprinfo afin qu'il puisse y ajouter un lien vers celui-ci ? Partager ce message Lien à poster Partager sur d’autres sites
mprinfo 3 356 Signaler ce message Posté(e) 19 octobre 2016 J'ai pas envi Partager ce message Lien à poster Partager sur d’autres sites
Lazer 8 497 Signaler ce message Posté(e) 19 octobre 2016 J'ai rajouté un lien dans le tuto de mprinfo 1 Partager ce message Lien à poster Partager sur d’autres sites
jojo 2 620 Signaler ce message Posté(e) 19 octobre 2016 merci patron ! Partager ce message Lien à poster Partager sur d’autres sites