Aller au contenu
jared

Appeler bouton virtuel par label

Recommended Posts

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

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 !

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

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

×