Aller au contenu

Fredmas

Membres confirmés
  • Compteur de contenus

    906
  • Inscription

  • Dernière visite

Tout ce qui a été posté par Fredmas

  1. Fredmas

    Questions de débutant en Quick Apps sur HC3

    C’est parce que event est une table, qui contient values qui est aussi une table. Le 1 est pour la première donnée à utiliser dans la table values. Enfin dans ton écriture tu remplaces event de mon explication par val… https://www.domotique-fibaro.fr/topic/15376-slider/?do=findComment&comment=243049
  2. Fredmas

    Questions de débutant en Quick Apps sur HC3

    Tout à fait. C’est ce que j’ai voulu te montrer avec mon exemple toto pour une lecture plus facile de la mécanique du calcul. Tu voudrais modifier l’unité de valeur visuelle du slider dans l’IHM de ton QA ? Si c’est ça je ne sais pas si c’est faisable.
  3. Fredmas

    Questions de débutant en Quick Apps sur HC3

    Là ce n'est pas compliqué si j'ai bien compris le sens de ta phrase. Petit exemple : local value local toto function QuickApp:onSliderChanged(event) value = event.values[1] self:debug("value", value) self:updateView("etat", "text" , "slider - " .. value .." W " ) toto = value * 2 print(toto) end
  4. Fredmas

    Questions de débutant en Quick Apps sur HC3

    Purée tu enchaines les questions sans avoir le temps de te répondre #1. Dans ton premiers exemple de code ça ne pouvait par marcher, car tu as déclaré value comme une variable local etn écrivant local value = event.values[1] Donc la variable a une portée interne à function QuickApp:onSliderChanged(event) Une solution aurait était de ne pas déclarer value en local mais en globale, ou alors en local mais en dehors de la fonction concernée, de sorte à être prise en compte en dehors de cette fonction. #2. Dans ton deuxième exemple ça fonction car tu as copié le reste de ton code dans la function QuickApp:onSliderChanged(event), du coup la portée de value est compatible est réutilisable... Je ne pas te dire ce qui te va le mieux finalement. Tout dépend de comment tu veux gérer tes déclenchements, slider, bouton, automatiquement, etc.
  5. Fredmas

    Slider

    Avec ce debug tu as bien la description de ce que contient la table event. Par exemple tu retrouves le "values":[64] qui fait partie de la table event, d'où le event.values dans le code précédent.
  6. Fredmas

    Questions de débutant en Quick Apps sur HC3

    Qui en aurait douté, pas moi Je suis complètement d'accord avec toi. Finalement ce n'est pas tant la position du onInit, mais la position de la déclaration des variables utilisées dans le onInit Merci pour la sémantique, tu as raison elle compte. Et dans cet exemple c'est intellectuellement plus judicieux, afin de garder la bonne habitude de codage des déclarations en tête
  7. Fredmas

    Questions de débutant en Quick Apps sur HC3

    Clear, got it. I understand better the difference between loading and execution. So we need to keep in mind that onInit is also loaded in order of the full code, before to be executed And yes the position of onInit counts in the code. At least for declaration of variables used in
  8. Fredmas

    Questions de débutant en Quick Apps sur HC3

    Salut @Lazer, @Barelle, @jang, Continuant mon apprentissage je viens de relire pour la énième fois ce topic et d'autres. J'aimerais revenir sur le sujet de la localisation du onInit dans le QA pour lequel vous avez participé. Quand j'ai posé la question : https://www.domotique-fibaro.fr/topic/15182-questions-de-débutant-en-quick-apps-sur-hc3/?do=findComment&comment=240845 Vous n'étiez pas tous du même avis : https://www.domotique-fibaro.fr/topic/15182-questions-de-débutant-en-quick-apps-sur-hc3/?do=findComment&comment=240846 https://www.domotique-fibaro.fr/topic/15182-questions-de-débutant-en-quick-apps-sur-hc3/?do=findComment&comment=240847 https://www.domotique-fibaro.fr/topic/15182-questions-de-débutant-en-quick-apps-sur-hc3/?do=findComment&comment=240848 https://www.domotique-fibaro.fr/topic/15182-questions-de-débutant-en-quick-apps-sur-hc3/?do=findComment&comment=240854 Je viens de faire un simple test, et ce code ci-dessous fonctionne et retourne bien "toto" : local test = "toto" function QuickApp:onInit() self:debug("onInit") print(test) end Mais ce code ci-dessous ne fonctionne pas et ne retourne pas "toto" mais "nil" comme si le code n'avait pas était entièrement lu avant d'exécuter onInit() : function QuickApp:onInit() self:debug("onInit") print(test) end local test = "toto" Donc la position du onInit semble bien avoir de l'importance finalement ? Ou je n'ai pas compris la discussion ? Je relance la discussion sans aucun besoin technique identifié. C'est uniquement pour discuter, comprendre, apprendre, blablabla
  9. Fredmas

    Questions de débutant en Quick Apps sur HC3

    Ouf je ne m’étais pas trompé. Merci @henri-allauch
  10. Fredmas

    Slider

    Un petit exemple simple de la part d'un autre débutant qui n'a pas tout compris du LUA function QuickApp:testSlider(event) --doit avoir le même nom de fonction que ce que tu as écrit dans le champ onChanged de ton slider valuetest = event.values[1] --récupère la valeur de ton slider et la met dans la variable valuetest que tu peux renommer self:debug("value", value) -- affiche la valeur de ton slider dans la console de debug end Ensuite tu utilises ta variable nommée dans cette exemple "valuetest" ailleurs dans ton code. Comme par exemple : fibaro.call(ID, "setRingBrightness", valuetest) Les lignes de code ci-dessous, à mettre où tu as besoin, servent uniquement à positionner le slider. Par exemple, au redémarrage de ton QA, pour que le slider se mette automatiquement à 50, tu peux mettre dans le onInit() : self:updateView("slidertoto", "value", "50") Où à l'inverse, si tu veux qu'au redémarrage de ton QA, le slider reprenne sa valeur précédente dans un variable "persistante" : self:updateView("slidertoto", "value", valuetest) Bref, tu dois comprendre le fonctionnement j'imagine
  11. Fredmas

    Questions de débutant en Quick Apps sur HC3

    Ta réponse est surprenante, et dans ce cas je préfère laisser répondre quelqu'un qui l'a déjà fait. Mais je suis sûr que ce que je t'ai proposé c'est ce que j'ai lu sur notre forum de membres qui l'ont fait sur HC3 pour leurs QA. Après perso pour l'instant je ne l'ai pas essayé, car je ne touche pas souvent mes QA et donc je les regarde pas tous les jours. L'icône Generic Device ne me dérangeant pas vraiment, pour l'instant, même si ce pourrait être plus joli avec des icônes personnalisés.
  12. Fredmas

    Questions de débutant en Quick Apps sur HC3

    De mémoire, il faut d'abord que tu ajoutes ton icône ailleurs, par exemple en utilisant un autre QA qui te le permet (pas un generic device). Une fois que c'est fait, sur ce nouvel icône tu fais un clic droit pour ouvrir l'image dans un nouvel onglet (ou enregistrer l’image sous) par exemple. Et dans la barre d'adresse, dans le nom de l'image, à la fin de ce nom tu trouves l'ID de l'icône à utiliser dans ton code. Ensuite comme tu l'as compris : self:updateProperty("deviceIcon", id_icon)
  13. Surprenante au début, je ne la trouve plus si pourrie que ça désormais. Clairement avec quelques manques et améliorations, c’est sûr, mais je m’y suis fait. D’autant que je ne m’en sers pas tous les jours non plus. Mais comme on s’habitue parfois à tout, la raison est peut-être là
  14. Fredmas

    Questions de débutant en Quick Apps sur HC3

    Pour l’explication du self, voir ici plus tôt dans le topic Sinon d’ordre général, en dehors de cette précédente explication à propos du self, entre parenthèses c’est pour indiquer des paramètres reçus et utilisés comme arguments dans l’exécution de la fonction appelée.
  15. Fredmas

    Avis sur Planète Domotique

    Bon allé je viens de lire ce sujet en entier, et comme nous sommes dans un monde libre d’expression, de respect et de partage, et que j’aime confronter les opinions pour grandir, j’y vais de mon petit avis car c’est malgré tout selon moi un des problèmes de notre époque/génération, à vouloir toujours acheter le moins cher du moins cher depuis des décennies coûte que coûte. Comme je le dis ici plutôt que de copier/coller. A défaut d’économiser 10€ en achetant n’importe où ailleurs, développer nos boutiques et notre économie, c’est sensé contribuer à l’emploi de nos générations si je ne me trompe pas. Je n’achète pas au moins cher du moins cher et surtout jamais sur ce type de boutique. Aurais-je pu économiser des euros coûte que coûte en achetant ailleurs, oui. Ai-je à me plaindre du comportement de mes boutiques locales habituelles, non. Le bon plan parfait, bien meilleur que tous les autres, à risque zéro, sans conséquences, ça n’existe pas. Tout est gestion du risque et des conséquences à proche ou long terme.
  16. Toujours pas de news dans les tuyaux pour afficher les QA sur la page d’accueil dans les favoris ? Par exemple dans les appareils à défaut que ce soit une rubrique spécifique Je trouve que c’est quand même un truc qui manque toujours
  17. Pour ceux que ça intéresse niveau fiabilité, 1 an d’utilisation, pas un bug, et aucun regret La fonction est très bien remplie et la remontée de température est un plus agréable et utile Ca ne fait que 1 an alors je n’ose pas encore parler de fiabilité, mais ça semble bien parti
  18. Fredmas

    Questions de débutant en Quick Apps sur HC3

    Et si pourtant je suis en France. Mais j’aime ce forum qui m’aide, alors j’essaie d’aider aussi
  19. Fredmas

    Questions de débutant en Quick Apps sur HC3

    De rien
  20. Fredmas

    Questions de débutant en Quick Apps sur HC3

    Tu as bien ajouté self:Raf1() dans ta function QuickApp:onInit() pour que le bouton Raf1 se lance au démarrage puis toutes les 4s et rafraichisse tes 2 label power1 et power2 ? Parce que j'ai testé chez moi et ça marche...
  21. Fredmas

    Questions de débutant en Quick Apps sur HC3

    Alors déjà je ne comprends pas pourquoi tu as 2 function QuickApp:onInit() Tu peux fusionner. Ensuite tu vires toute la fonction Essai() Dans ton onInit tu vires les 2 lignes toto=0 et Essai() Par contre tu ajoutes la ligne self:Raf1() Et à la fin de ta fonction Raf1() tu ajoutes la ligne : setTimeout(function() self:Raf1() end, 4*1000) Puis reviens me dire
  22. Fredmas

    Questions de débutant en Quick Apps sur HC3

    Donne ton code complet stp
  23. Fredmas

    Questions de débutant en Quick Apps sur HC3

    Evidemment, tu remplaces toto = toto + 1 print(toto) par ce que tu veux. Le rafraichissement, un contrôle de la conso pour simplement te donner un message OK, etc.
  24. Fredmas

    Questions de débutant en Quick Apps sur HC3

    Comme tu es dans un QA, qui ne tourne pas en boucle (voir discussion précédente) et donc qu'il n'y a pas de trigger, tu n'as pas le choix que de définir un intervalle régulier. Je viens de tester un truc très court et rapide qui fonctionne, mais qui ne s'arrête pas tout seul. Sinon il faut construire ton QA autrement (discussion précédente) avec un truc du style intervalRunner par exemple (voir au début de ce topic) que tu peux arrêter. Donne moi ton code de ta fonction consommation, et je te montre si tu veux. Sinon pour que tu comprennes l'idée ça peut ressembler à ça : function Essai() toto = toto + 1 print(toto) setTimeout(Essai, 2*1000) end Ca te crée une fonction qui boucle toute seule toutes les 2s (tu remplaces 2 parce que tu veux comme durée), mais qui ne s'arrête pas. Ce n'est pas que je ne sais pas faire pour l'arrêter, mais c'est pour te montrer pas à pas. Mais comme tu l'as compris, la fonction seule ne fera rien. Donc il faut que tu ajoutes à l'intérieur de ta fonction quickApp:onInit() la ligne de code suivante : toto = 0 Essai() Au démarrage de ton QA ça lancera la fonction essai(), qui ensuite bouclera à l'infini jusqu'à rencontrer un problème de crash. Pour l'arrêter il faut enlever Essai() de ta fonction quickApp:onInit() Encore une fois ce n'est pas clean, mais c'est juste pour te montrer le fonctionnement pour t'aider à faire ton code. Et dans ton cas, la fonction Essai() est en fait ta fonction bouton Raf1(), dans lequel tu ajoutes juste le setTimeout(blablabla).
  25. Fredmas

    Questions de débutant en Quick Apps sur HC3

    Rafraichir le bouton de rafraichissement. Que veux-tu dire ? Que ça se fasse tout seul à intervalle régulier ?
×