Aller au contenu
flacon030

recuperer un bouton QA dans une scene

Recommended Posts

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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.
 

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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.

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

tu peux mettre ça dans une scène :

 

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

 

Stef

Modifié par couillerot

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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")

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

ben au lieu de "off" tu mets le texte que tu as saisis dans le champs "onRealesed".

Partager ce message


Lien à poster
Partager sur d’autres sites

Je suis trop bête merci j'avais fait une erreur, c'est bon a présent

Merci

Modifié par flacon030

Partager ce message


Lien à poster
Partager sur d’autres sites

ajoute un debug pour savoir si tu appelles le bon QA et la bonne fonction.

Partager ce message


Lien à poster
Partager sur d’autres sites

×