Aller au contenu

recuperer un bouton QA dans une scene


Messages recommandés

Posté(e)

Bonjour

J'ai un QA pour gérer mon ampli yamaha (mise en marche, sélection des sources , ect..)

Je voudrais faire une scène qui permet d'allumer mon ampli, de le mettre en net radio, mais je ne sais pas comment récupérer les boutons QA dans une scene

Merci pour votre aide

Posté(e)

Aucun intérêt.

 

Depuis ta scène, tu appelles directement la fonction du QA.

 

J'en ai déjà parlé plusieurs fois sur le forum, les boutons, ça date de l'ère préhistorique (la HC2 quoi), car on ne pouvait pas faire autrement (*)

 

Sur HC3 les QuickApps publient automatiquement toutes leurs fonctions (enfin toutes celles qui sont dans la classe QuickApp, du type :

function QuickApp:maFonction()
	-- ...
end

Donc c'est cette fonction que tu dois appeler en direct depuis ta scène :

fibaro.call(ID, "maFonction")

 

(*) les boutons servent encore naturellement, mais uniquement pour l'interface utilisateur, via l'interface Web ou l'application mobile. Mais ils doivent être bypassés dans nos codes LUA, j'insiste, il faut perdre les mauvaises habitudes qu'on a pris sur HC2.
 

Posté(e) (modifié)

Ok je comprends, j'ai mal du abordé le problème

 

(je viens de faire quelques essais, désolé je début en QA sous HC3)

Avec un bouton "onReleased " Stop

function QuickApp:Stop()
fibaro.call(142, "turnOff")
fibaro.call(148, "turnOff")
fibaro.call(223, "turnOff")
end

 

Mais comment faire cette fonction

Je voudrais faire un QA qui puisse sur un bouton exécuter plusieurs actions (a moins de pouvoir le faire autrement?)

J'avais sous HC2 réaliser un VD qui me permettait avec un bouton et ou avec une commande vocale google home:

- D’éteindre plusieurs lumières (cela j'y arrive avec la commande ci dessus)

- De mettre en marche mon ampli

- De sélectionner une source de cet ampli

- De régler le volume a un certain niveau sonore

Pour ces 3 dernières fonctions je ne sais pas comment m'y prendre

 

Merci pour votre aide

 

Modifié par flacon030
Posté(e)

Pour ton ampli, ben je sais pas, il faut que tu appelles les fonctions exportées par le QA avec fibaro.call()

Je crois me souvenir que tu utilises un des QA partagés sur le market, je n'ai aucune idée de comment il fonctionne.

 

J'ai prévu de migrer le miens (le VD Yamaha MusicCast), mais pas tout de suite, c'est même probablement l'un des derniers QA que je migrerai. Mais ce dont tu as besoin sera naturellement prévu.

Posté(e)

Merci

j'ai essayer avec un fibaro.call()  mais sans résultat, pour le moment j'ai rusé en utilisant les fonction eARC pour que ma TV allume mon ampli, je verrais un peut plus tard pour récupérer ces fonctionnalités

Posté(e) (modifié)

tu peux mettre ça dans une scène :

 

fibaro.callUI(id_du_QA, "onReleased", "nom_du_bouton_off")

 

Stef

Modifié par couillerot
Posté(e) (modifié)

oui dans une scène cela fonctionne merci, mais cela ne semble pas fonctionner dans un QA.

 

Mais après plusieurs essais et réflexion, je pense que le mieux serai que je fasse un QA "remote controller"

avec des bouton virtuel qui permettra de créer une "action bouton X1" qui déclenchera une scéne

Mais je n'arrive pas pour le moment a lier le bouton créer avec la bouton virtuel du QA...

quoi mettre dans "onReleased " pour chaque bouton?

 

le debug donne cela

"[06.04.2021] [19:10:04] [TRACE] [QUICKAPP406]: UIEvent: {"values":[null],"eventType":"onReleased","elementName":"button1","deviceId":406}"

 

 

telecommande.jpg

Modifié par flacon030
Posté(e)

je sais pas si je vais répondre à la question :

 

tu mets ce que tu veux dans le onRealesed.

par exemple "toto".

ce sera le nom de la fonction qui sera appelée lors du clique sur le bouton.

Il doit être unique, si plusieurs boutons, alors plusieurs nom.

function QuickApp:toto(event)
...
end

le code présent dans cette fonction sera exécuté à chaque appuis sur le bouton.

Ou par un fibaro.call(ID, "toto")

Posté(e) (modifié)

merci oui cela je l'ai compris je pense.

 

Ma question est quoi mettre d’après la capture d’écran sur la fonction "onReleased" du bouton, ou quoi modifier dans la capture pour que "toto" soit pris en compte dans le code "main" pour que cela soit en relation avec le bouton avec "onReleased" "toto"

Modifié par flacon030
Posté(e) (modifié)

je suis désolé mais je comprends pas ce que tu cherches à faire.

Ne faudrait - il reprendre le problème à zéro.

Peut-être es-tu parti dans une mauvaise direction... je connais bien ça ;) 

Modifié par jjacques68
Posté(e) (modifié)

peut être désolé, il est pas toujours évidant de définir exactement ses besoins, et d'être claire

 

Après plusieurs essais la solution la plus simple de se que j'ai cru comprendre est:

Comme dit plus haut je recherche une solution pour déclencher une scène a partir d'un bouton virtuel dans une QA

Mais je n'ai aucune idée de comment m'y prendre pour créer ce dit bouton virtuel

 

Modifié par flacon030
Posté(e) (modifié)

parfait pour la fonction cela fonctionne

fibaro.scene ("execute", {103})

A présent comment récupérer l'ID d'un bouton virtuel d'en QA

car a présent je voudrais exécuter le bouton virtuel depuis le QA google home (quoi mettre a la place du "Off" ci dessous)?

if value == "stop home cinéma chambre" then fibaro.call(403,"Off") end  

 

Modifié par flacon030
×
×
  • Créer...