Olinet Posté(e) le 13 septembre Signaler Posté(e) le 13 septembre Il est simple d'appeler une function d'une QuickApp dans une autre, mais impossible de passer lui passer une valeur. Exemple: Dans une première QuickApp avec par exemple l'ID=100 function QuickApp:getTempAir() X = 2 return x end Dans une seconde QuickApp je veux recevoir le résultat function QuickApp:Test() Y = fibaro.call(100, "getTempAir") print(Y) end Dans cette exemple Y est toujours égal à nil je ne comprends, pourtant aucune erreur de syntaxe Merci de votre aide :-)
Lazer Posté(e) le 14 septembre Signaler Posté(e) le 14 septembre Correctif : quand on appelle une fonction d'un QuickApp dans une autre, il est POSSIBLE de lui passer une valeur. Ce n'est qui n'est PAS possible, c'est de récupérer une valeur de retour. Du coup... pas sûr de bien comprendre ton besoin ?
Olinet Posté(e) le 14 septembre Auteur Signaler Posté(e) le 14 septembre J'ai une première QuickApp qui a tous les paramètres d'une station météo stockés sous forme de différentes variables locales dans cette même QuickApp, dont la température. J'aimerai connaitre cette Température et l'utiliser dans une seconde Quickapp
jojo Posté(e) le 14 septembre Signaler Posté(e) le 14 septembre tu as deux solutions : 1/ dans la première QA, tu stocke le résultat dans une variable, et dans le second tu lis la valeur de cette variable. 2/ La première QA appelle la seconde en passant les paramètres qu'il faut (c'est du push et pas du pull de la 2 depuis la 1)
Lazer Posté(e) le 14 septembre Signaler Posté(e) le 14 septembre La façon la plus "propre" de faire ça, c'est en utilisant les fonctions natives de la HC3. A savoir un QA parent avec des enfants, chaque enfant est du bon type (temperature sensor, humidity, wind, multilevel, etc....) pour porter chaque valeur dans sa propriété "value" avec la bonne unité dans "unit". Comme ça tu as une intégration native dans l'interface Web et surtout dans l'application mobile, et enfin, tu peux utiliser les QA enfants comme des modules normaux dans tes différents scénarios, QA, etc... En LUA, il n'y alors plus qu'à utiliser le hub.getValue() classique pour récupérer les valeurs dont tu as besoin. PS : hub remplacer fibaro dans les versions récentes de firmware, mais les 2 sont valides. 1
jojo Posté(e) le 14 septembre Signaler Posté(e) le 14 septembre il faudrait que je me familiarise avec les modules enfants ...
Olinet Posté(e) le 15 septembre Auteur Signaler Posté(e) le 15 septembre (modifié) OK top, merci je vais donc implenter avec ces modules enfants, la solution est très élégante Modifié le 8 décembre par Olinet
Messages recommandés