Olinet Posté(e) le 13 septembre Signaler Partager 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 :-) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Lazer Posté(e) le 14 septembre Signaler Partager 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 ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Olinet Posté(e) le 14 septembre Auteur Signaler Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
jojo Posté(e) le 14 septembre Signaler Partager 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) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Lazer Posté(e) le 14 septembre Signaler Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
jojo Posté(e) le 14 septembre Signaler Partager Posté(e) le 14 septembre il faudrait que je me familiarise avec les modules enfants ... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Olinet Posté(e) le 15 septembre Auteur Signaler Partager Posté(e) le 15 septembre OK top, merci je vais donc implenter avec ces modules enfants, la solution est très élégantes Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés