971jmd Posté(e) le 15 novembre 2021 Signaler Posté(e) le 15 novembre 2021 (modifié) HAAAAAA voila voila ok il fallait l'appeler j'apprend des choses merci encore Si je chouette rajouter un rafraîchissement tout les 30S setInterval(function() self:onInit() end, 30) Où dois-je le placer ? Faudrait-il créer un bouton rafraîchissement ? j'imagine que 30s ne s'écrit pas comme ça setInterval(function() self:onInit() end,30) mai comme ça setInterval(function() self:onInit() end,30*1000) Modifié le 15 novembre 2021 par 971jmd
Fredmas Posté(e) le 15 novembre 2021 Auteur Signaler Posté(e) le 15 novembre 2021 (modifié) Non et il n’y a pas d’intérêt d’appeler ton onInit dans ce type de boucle selon moi. je m’en doutais qu’on en arriverait là. Rappelle-toi dès mes premières réponses j’avais précisé que si c’était pour moi je ne le ferais pas comme ça. Mais plutôt en mode check régulier (boucle) pour éviter des longs setTimeout de 2 ou 4 heures par exemple. Mais ce n’est pas grave, chaque question en amène une autre et nous permet de bien comprendre les possibilités et notre besoin. Donc pour en revenir à ta dernière question, je t’invite à bien repenser à ton besoin. Puis : 1. Soit tu continues comme tu es parti et tu ajoutes un simple nouveau setTimeout (court d’un point de vue temps puisque tu as l’air de souhaiter 30s), principalement pour rafraîchir ta variable clima et ton updateView qui te servira uniquement de check visuel (d’une valeur isolée dans le temps) en regardant ton QA dans ton app. Je ne vois pas bien à quoi ça te servira mais ça ne me regarde pas. Et dans ce cas tu y es presque. Ça sera évidemment un QA qui ressemble davantage à un VD, mais à court terme ça a l’air de répondre à ton besoin et c’est ce qui compte (des boutons pour piloter ta clim avec des timers et ta valeur conso ponctuelle). Ca peut te permettre d’apprendre les QA et ensuite tu auras tout le temps de le faire évoluer ou d’en faire un nouveau partant d’une page blanche. 2. Soit tu reprends tout depuis le début dès maintenant pour faire un QA plus abouti qui boucle régulièrement, façon GEA par exemple. Ce n’est pas énormément plus compliqué (quoique tout dépend où tu places les limites du besoin à définir et coder, comme récupérer des températures pour prise de décision automatique par exemple), mais ça peut changer tout ce qu’on s’est dit depuis ce week-end et le raisonnement tenu jusque-là. A toi de voir La force je ne sais pas, mais que le QA soit avec toi Modifié le 15 novembre 2021 par Fredmas
971jmd Posté(e) le 15 novembre 2021 Signaler Posté(e) le 15 novembre 2021 (modifié) oui que le QA soit avec moi. Oui comme tu as pu le comprendre, je suis toujours brouillon mai l'idée c'est d'apprendre... J'accepte toutes les critiques Mais j'ai toujours du mal à comprendre comment fonctionne une fonction. https://manuals.fibaro.com/home-center-3-quick-apps/ J'essaye avec le manuel mais malheureusement pour moi je suis pas très mouvais en anglais donc voila Si je pouvais trouver quelqu'un ou entreprise pour me donner des cours Modifié le 15 novembre 2021 par 971jmd
971jmd Posté(e) le 15 novembre 2021 Signaler Posté(e) le 15 novembre 2021 (modifié) Toujours faut comprendre comment cela fonctionne: J'ai fait un bouton de rafraîchissement et cela ne fonctionne pas, pourtant le bouton est censé appeler conso1 ??? c'est dur là je comment avoir mal aux yeux local idclim = 353 local clima = tostring(fibaro.getValue(idclim, "power")) function QuickApp:conso1() self:debug(clima) self:updateView("power1", "text", "Climatiseur N°1 - "..clima.." W") end --- BOUTON RAF function QuickApp:Raf1() self:debug("onInit") self:conso1() end Modifié le 15 novembre 2021 par 971jmd
Fredmas Posté(e) le 15 novembre 2021 Auteur Signaler Posté(e) le 15 novembre 2021 Il y a 2 heures, 971jmd a dit : oui que le QA soit avec moi. Oui comme tu as pu le comprendre, je suis toujours brouillon mai l'idée c'est d'apprendre... J'accepte toutes les critiques Il y a 2 heures, 971jmd a dit : Mais j'ai toujours du mal à comprendre comment fonctionne une fonction. https://manuals.fibaro.com/home-center-3-quick-apps/ J'essaye avec le manuel mais malheureusement pour moi je suis pas très mouvais en anglais Ca va venir à force d'avancer, questionner et comprendre le fonctionnement
971jmd Posté(e) le 15 novembre 2021 Signaler Posté(e) le 15 novembre 2021 actuellement j'ai tout effacé et je reprends petit à petit
Fredmas Posté(e) le 15 novembre 2021 Auteur Signaler Posté(e) le 15 novembre 2021 Il y a 1 heure, 971jmd a dit : J'ai fait un bouton de rafraîchissement et cela ne fonctionne pas, pourtant le bouton est censé appeler conso1 ??? c'est dur là je comment avoir mal aux yeux Je pense que ton code est un extrait que tu ne montres pas tout. Question : es-tu bien sûr de ton appel API "power" ? Par exemple, puisque tu as tout effacé, pour être sûr que ton appel API fonctionne, quand tu mets uniquement ce code : function QuickApp:onInit() self:debug("onInit") idclim = 353 print(fibaro.getValue(idclim, "power")) end Quand tu sauvegardes, dans la console tu vois bien la valeur de "power" ? Et dans ce cas, ensuite tu peux enchainer ce test ci-dessous avec ton Button dont ID est Raf1 et ton Label dont ID est power1 (je viens de le tester sans ton "power" et il fonctionne) : function QuickApp:onInit() self:debug("onInit") idclim = 353 clima = 0 end function QuickApp:Raf1() clima = tostring(fibaro.getValue(idclim, "power")) self:debug(clima) self:updateView("power1", "text", "Climatiseur N°1 - "..clima.." W") end
971jmd Posté(e) le 15 novembre 2021 Signaler Posté(e) le 15 novembre 2021 (modifié) si je comprend bien, tu place les variables dans la fonction onInit qui remet à zéro à chaque démarrage clima = 0 function QuickApp:onInit() self:debug("onInit") idclim = 353 clima = 0 end Modifié le 15 novembre 2021 par 971jmd
971jmd Posté(e) le 15 novembre 2021 Signaler Posté(e) le 15 novembre 2021 voilà où j'en suis Je commence à comprendre pas mal de choses function QuickApp:onInit() self:debug("onInit") idclim = 353 idclim2 = 93 clima = 0 clima2 = 0 end function QuickApp:Raf1() clima = tostring(fibaro.getValue(idclim, "energy")) self:debug(clima) self:updateView("power1", "text", "Climatiseur N°1 - "..clima.." W") clima2 = tostring(fibaro.getValue(idclim2, "power")) self:debug(clima2) self:updateView("power2", "text", "Climatiseur N°1 - "..clima2.." W") end
Fredmas Posté(e) le 15 novembre 2021 Auteur Signaler Posté(e) le 15 novembre 2021 il y a 7 minutes, 971jmd a dit : si je comprend bien, tu place les variables dans la fonction onInit qui remet à zéro à chaque démarrage clima = 0 function QuickApp:onInit() self:debug("onInit") idclim = 353 clima = 0 end J'ai simplement fait comme ça pour faire plus basique et simple. Tu gèreras tout seul plus tard la partie local, etc.
971jmd Posté(e) le 15 novembre 2021 Signaler Posté(e) le 15 novembre 2021 mai au final ça revient la même chose
Fredmas Posté(e) le 15 novembre 2021 Auteur Signaler Posté(e) le 15 novembre 2021 (modifié) il y a 7 minutes, 971jmd a dit : voilà où j'en suis Je commence à comprendre pas mal de choses Et d'ailleurs juste histoire de compléter la discussion, si tu n'as aucun besoin de réutiliser cela ailleurs, tu devrais pouvoir écrire plus simplement : function QuickApp:onInit() self:debug("onInit") idclim = 353 idclim2 = 93 end function QuickApp:Raf1() self:updateView("power1", "text", "Climatiseur N°1 - "..fibaro.getValue(idclim, "energy").." W") self:updateView("power2", "text", "Climatiseur N°1 - "..fibaro.getValue(idclim2, "power").." W") end ` Mais bon, toi comme moi, nous n'en sommes pas encore au stade de l'optimisation mais de la compréhension et du fonctionnel Modifié le 15 novembre 2021 par Fredmas
971jmd Posté(e) le 15 novembre 2021 Signaler Posté(e) le 15 novembre 2021 oui effectivement tu me l'avais déjà expliqué
971jmd Posté(e) le 15 novembre 2021 Signaler Posté(e) le 15 novembre 2021 Je viens de me rendre compte d'un gros problème bizarre avec les copier coller function QuickApp:onInit() self:debug("onInit") idclim = 353 idclim2 = 93 timeoutClim1 = 0 end si je tape timeoutClim1 pas de problème mai si je le copie et Colle problème le QA ne passe plus zero capoute
Fredmas Posté(e) le 15 novembre 2021 Auteur Signaler Posté(e) le 15 novembre 2021 (modifié) Bon ben tu n'as plus qu'à taper pour te faire les doigts alors... Sinon tu copies colles d'abord dans un bloc note (ou TextEdit avec ton MacBook M1 veinard...) pour virer tout format de texte, puis tu colles dans ton navigateur Fibaro Modifié le 15 novembre 2021 par Fredmas
971jmd Posté(e) le 15 novembre 2021 Signaler Posté(e) le 15 novembre 2021 pouuuu j'avais déjà essayé avec TextEdit et toujours pareil
Fredmas Posté(e) le 15 novembre 2021 Auteur Signaler Posté(e) le 15 novembre 2021 Bon ben il te reste tes petits doigts...
971jmd Posté(e) le 15 novembre 2021 Signaler Posté(e) le 15 novembre 2021 voici le code erreur debug : syntax error near '<\194>'
971jmd Posté(e) le 15 novembre 2021 Signaler Posté(e) le 15 novembre 2021 Non là si je dois toi taper la main il me faudrait un écran de 100" J'ai jamais arrêté mes yeux explose
971jmd Posté(e) le 15 novembre 2021 Signaler Posté(e) le 15 novembre 2021 (modifié) Modifié le 15 novembre 2021 par 971jmd
971jmd Posté(e) le 15 novembre 2021 Signaler Posté(e) le 15 novembre 2021 tu c'est quoi je suis arrivé il fonctionne, tu avais raison de me dire que la QA soit avec moi Il me reste juste une petite chose que je n'arrive pas à faire c'est rafraîchir le bouton de rafraîchissement
Fredmas Posté(e) le 15 novembre 2021 Auteur Signaler Posté(e) le 15 novembre 2021 Rafraichir le bouton de rafraichissement. Que veux-tu dire ? Que ça se fasse tout seul à intervalle régulier ?
971jmd Posté(e) le 15 novembre 2021 Signaler Posté(e) le 15 novembre 2021 (modifié) soit à intervalle régulier ou ce qui serait pas mal au changement d'état de la consommation supérieur ou différent de 0 if consommation >! 0 then ..... Modifié le 15 novembre 2021 par 971jmd
971jmd Posté(e) le 15 novembre 2021 Signaler Posté(e) le 15 novembre 2021 (modifié) j'ai essayer un truc comme ça pour tester , bon ne rigole pas function azerty() myVariable = fibaro:getValue(idclim, 'power') if (myVariable >= '1') then self:debug("conso ok") end Modifié le 15 novembre 2021 par 971jmd
Messages recommandés