jared 4 Signaler ce message Posté(e) 26 janvier 2017 Bonjour, voici mon soucis : Je crée un virtual device avec des boutons, et je souhaite les appeler dans mes scenes avec fibaro:call(id, "pressButton", "n") ou n est la position du bouton. Problème : parfois je rajoute d'autres boutons dans le VD, ce qui change la position... D'où ma question : existe-t-il un moyen d'appeler un bouton uniquement avec le nom du label ? Au pire existe-t-il une fonction qui permet d'avoir le nom du label d'un bouton ? Si c'est le cas on peut imaginer une petite fonction qui prend en entrée le label, parcours tous les label du VD et retourne la bonne position... Merci Partager ce message Lien à poster Partager sur d’autres sites
Berale64 630 Signaler ce message Posté(e) 26 janvier 2017 J'avais écrit un petit bout de code pour faire ça: https://www.domotique-fibaro.fr/topic/9092-numã©rotation-des-boutons/?do=findComment&comment=140849 Partager ce message Lien à poster Partager sur d’autres sites
jared 4 Signaler ce message Posté(e) 26 janvier 2017 Ah oui j'avais pas pensé à faire appel à l'API du device c'est parfait ! Bon ca oblige à mettre la fonction dans toutes les scènes... jusqu'à ce que fibaro se décide à nous autoriser l'inclusion de fichier lua pour avoir des fonctions globales... Un petit bout de code légèrement plus simple pour faire un appel : function callBtn(id, label) local devicesJSon = api.get("/devices/"..id) for k, v in pairs(devicesJSon.properties.rows) do for j = 1,#v.elements do if (v.elements[j].name == label) then fibaro:call(id, "pressButton", v.elements[j].id) return end end end end Merci Berale24 ! 1 Partager ce message Lien à poster Partager sur d’autres sites
Berale64 630 Signaler ce message Posté(e) 26 janvier 2017 Si tu as des boutons en ligne, ton code ne marche pas. Partager ce message Lien à poster Partager sur d’autres sites
jared 4 Signaler ce message Posté(e) 26 janvier 2017 je comprends pas ce que tu veux dire. Si tu parle de bouton simple sur une ligne complète je viens de tester ca marche très bien. Partager ce message Lien à poster Partager sur d’autres sites