Aller au contenu

971jmd

Membres confirmés
  • Compteur de contenus

    3 525
  • Inscription

  • Dernière visite

  • Jours gagnés

    10

Tout ce qui a été posté par 971jmd

  1. Par contre j'ai une chose que je n'arrive pas à faire c'est de multiplier le facteur du SLIDER par deux ou trois
  2. ha je arrivé comme un grand function QuickApp:onSliderChanged(event) local value = event.values[1] self:debug("value", value) self:updateView("etat", "text" , "slider - " .. value .." W " ) self:debug("slider ") duration = (value)*1000 test1(self) test2(self) test3(self) self:updateView("etat", "text", "Dernière action >> 2 Heurs") end
  3. salut Question d'améliorer les choses, j'ai créé un slider qui me permet de changer le temps Actuellement nous avons deux boutons deux heures et quatre heures mais j'aurais souhaité vient le slide enregistrer mon temps 0 à 100 minute L'idée est d'essayer d'enregistrer cette valeur invariables duration Comme tu peux voir j'ai quand même bien avancé mais c'est juste au niveau de l'enregistrement de la valeur que je n'arrive pas Merci pour ton aide function QuickApp:onSliderChanged(event) local value = event.values[1] self:debug("value", value) self:updateView("etat", "text" , "slider - " .. value .." W " ) end --2H function QuickApp:buttonClim2() self:debug("BOUTON 2H") duration = (value)*1000 test1(self) test2(self) test3(self) --- self:DH() self:updateView("etat", "text", "Dernière action >> 2 Heurs") end
  4. malheureusement l'astuce de récupérée ID avec clic droit pour ouvrir l'image dans un nouvel onglet... Fonctionnait très bien sûr HC2 mai pas sur HC3 Je chercher mais visiblement c'est pas évident
  5. salut, merci pour le lien, j'ai pas tout compris je vais le relire plusieurs fois Autre chose est-ce que tu sais comment récupérer lydi d'une icône ? J'ai ajouté ça au début de mon function QuickApp:onInit() self:updateProperty("deviceIcon", 75) Mais j'aurais souhaité récupérer ID d'une icône pour la remplacer Je suis dans un qa Appareil générique
  6. Un question concernant le code, quelle est l’utilité de placée Self entre parenthèse (self) function test1(self) Quel est l’utilité de me des choses entre parenthèses
  7. moi de la Guadeloupe Et ben merci beaucoup en tout cas Ça m’a bien aidé. J’ai beaucoup encore apprendre en tout cas dans le code.
  8. Vu leur à laquelle tu me réponds j’imagine que tu es pas de la France
  9. c bon ça fonctionne Je crois que je vais aller mettre des coton d'eau fraîche sur mes yeux GRAND MERCI J'ai appris plein de choses à ça toi Bon là je crois que je vais moment à la plage me détendre
  10. voila function QuickApp:Raf1() self:updateView("power1", "text", "Climatiseur N°1 - "..fibaro.getValue(idclim, "power").." W") self:updateView("power2", "text", "Climatiseur N°2 - "..fibaro.getValue(idclim2, "power").." W") setTimeout(function() self:Raf1() end, 4*1000) end mai toujours pas rafraîchissement du bouton
  11. Quel emmerdeur que je suis -- Generic device type have no default actions to handle -- To update controls you can use method self:updateView(<component ID>, <component property>, <desired value>). Eg: -- self:updateView("slider", "value", "55") -- self:updateView("button1", "text", "MUTE") -- self:updateView("label", "text", "TURNED ON") -- This is QuickApp inital method. It is called right after your QuickApp starts (after each save or on gateway startup). -- Here you can set some default values, setup http connection or get QuickApp variables. -- To learn more, please visit: -- * https://manuals.fibaro.com/home-center-3/ -- * https://manuals.fibaro.com/home-center-3-quick-apps/ function QuickApp:send(dataToSend, waitForResponse) self.sock:close() self:connect(function() local dataConverted = self:parseData(dataToSend) -- replace string starting with '0x' to hex value self.sock:write(dataConverted, { success = function() if waitForResponse then self:waitForResponseFunction() else self.sock:close() end end, error = function(err) self.sock:close() end }) end) end function QuickApp:parseData(str) while true do if string.find(str, '0x') then i,j = string.find(str, '0x') str = string.sub(str, 1, i - 1) .. self:fromhex(string.sub(str, i + 2, j +2)) .. string.sub(str, j + 3) else return str end end end function QuickApp:fromhex(str) return (str:gsub('..', function(cc) return string.char(tonumber(cc, 16)) end)) end function QuickApp:waitForResponseFunction() self.sock:read({ success = function(data) self:debug("response data:", data) self.sock:close() end, error = function() self:debug("response error") self.sock:close() end }) end function QuickApp:connect(successCallback) print("connecting:", self.ip, self.port) self.sock:connect(self.ip, self.port, { success = function() self:debug("connected") successCallback() end, error = function(err) self.sock:close() self:debug("connection error") end, }) end function QuickApp:onInit() self:debug("onInit") self.ip = self:getVariable("ip") self.port = tonumber(self:getVariable("port")) self.sock = net.TCPSocket() end -------------------------------------------------------- function Essai() toto = toto + 1 print(toto) setTimeout(Essai, 4*1000) end function QuickApp:onInit() self:debug("onInit") idclim = 353 idclim2 = 93 timeoutClim1 = 0 timeoutClim2 = 0 duration = 0 toto = 0 Essai() end function QuickApp:Raf1() self:updateView("power1", "text", "Climatiseur N°1 - "..fibaro.getValue(idclim, "power").." W") self:updateView("power2", "text", "Climatiseur N°2 - "..fibaro.getValue(idclim2, "power").." W") end --2H function QuickApp:buttonClim2() self:debug("BOUTON 2H") duration = 30*1000 test1(self) test2(self) end --4H function QuickApp:buttonClim4() self:debug("BOUTON 4H") duration = 60*1000 test1(self) test2(self) end function QuickApp:buttonReset() duration = 0 test1(self) end function QuickApp:ON24_S1_C1() fibaro.call(353, "turnOn") self:debug("onInit") end function QuickApp:OFF_S1_C1() fibaro.call(353, "turnOff") self:debug("onInit") end function QuickApp:ON24_S1_C2() fibaro.call(93, "turnOn") end function QuickApp:OFF_S1_C2() fibaro.call(93, "turnOff") end function test1(self) ---self:ON24_S1_C1() if timeoutClim1 > 0 then clearTimeout(timeoutClim1) timeoutClim1 = 0 end timeoutClim1 = setTimeout(function() self:OFF_S1_C1() end, duration) end function test2(self) ---self:ON24_S1_C2() if timeoutClim2 > 0 then clearTimeout(timeoutClim2) timeoutClim2 = 0 end timeoutClim2 = setTimeout(function() self:OFF_S1_C2() end, duration) end --[[ ---------------- CODE IR CLIM N°1 ----------------- function QuickApp:ON22_S1_C1() ---fibaro.call(89, "turnOn") self:send("sendir,1:3,1,36656,1,1,129,63,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,48,16,48,16,16,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,48,16,16,16,16,16,16,16,16,16,16,16,366,129,63,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,48,16,48,16,16,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,16,16,16,16,48,16,48,16,48,16,16,16,16,16,48,16,16,16,48,16,48,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,16,16,48,16,16,16,16,16,48,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,48,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,48,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,16,16,16,16,48,16,16,16,16,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,16,16,48,16,16,16,48,16,16,16,16,16,48,16,46920x0D0x0A",true) end function QuickApp:ON24_S1_C1() --- fibaro.call(89, "turnOn") self:send("sendir,1:3,1,36656,1,1,129,63,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,48,16,48,16,16,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,48,16,16,16,16,16,16,16,16,16,16,16,366,129,63,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,48,16,48,16,16,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,16,16,16,16,48,16,48,16,48,16,16,16,16,16,48,16,16,16,48,16,48,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,16,16,48,16,16,16,16,16,48,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,48,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,48,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,16,16,16,16,48,16,16,16,16,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,16,16,48,16,16,16,48,16,16,16,16,16,48,16,46920x0D0x0A",true) end function QuickApp:OFF_S1_C1() ---- fibaro.call(89, "turnOff") self:send("sendir,1:3,1,36656,1,1,129,63,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,48,16,48,16,16,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,48,16,16,16,16,16,16,16,16,16,16,16,366,129,63,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,48,16,48,16,16,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,48,16,48,16,16,16,16,16,48,16,16,16,48,16,48,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,16,16,48,16,16,16,16,16,48,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,48,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,48,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,16,16,16,16,48,16,16,16,16,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,16,16,48,16,16,16,16,16,48,16,46920x0D0x0A",true) end ---------------- CODE IR CLIM N°2 ----------------- function QuickApp:ON22_S1_C2() self:send("sendir,1:3,1,36656,1,1,129,63,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,48,16,48,16,16,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,48,16,16,16,16,16,16,16,16,16,16,16,366,129,63,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,48,16,48,16,16,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,16,16,16,16,48,16,48,16,48,16,16,16,16,16,48,16,16,16,48,16,48,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,16,16,48,16,16,16,16,16,48,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,48,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,48,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,16,16,16,16,48,16,16,16,16,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,16,16,48,16,16,16,48,16,16,16,16,16,48,16,46920x0D0x0A",true) end function QuickApp:ON24_S1_C2() --- fibaro.call(89, "turnOn") self:send("sendir,1:3,1,36656,1,1,129,63,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,48,16,48,16,16,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,48,16,16,16,16,16,16,16,16,16,16,16,366,129,63,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,48,16,48,16,16,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,16,16,16,16,48,16,48,16,48,16,16,16,16,16,48,16,16,16,48,16,48,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,16,16,48,16,16,16,16,16,48,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,48,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,48,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,16,16,16,16,48,16,16,16,16,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,16,16,48,16,16,16,48,16,16,16,16,16,48,16,46920x0D0x0A",true) end function QuickApp:OFF_S1_C2() self:send("sendir,1:3,1,36656,1,1,129,63,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,48,16,48,16,16,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,48,16,16,16,16,16,16,16,16,16,16,16,366,129,63,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,48,16,48,16,16,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,48,16,48,16,16,16,16,16,48,16,16,16,48,16,48,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,16,16,48,16,16,16,16,16,48,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,48,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,48,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,16,16,16,16,48,16,16,16,16,16,16,16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,48,16,16,16,48,16,16,16,16,16,48,16,46920x0D0x0A",true) end --]]
  12. ok OK ça rafraîchit toutes les quatre secondes mais visiblement sauf le bouton de rafraîchissement mes conso n'a paraît pas function Essai() toto = toto + 1 print(toto) setTimeout(Essai, 4*1000) end function QuickApp:onInit() self:debug("onInit") idclim = 353 idclim2 = 93 timeoutClim1 = 0 timeoutClim2 = 0 duration = 0 toto = 0 Essai() end
  13. 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
  14. 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 .....
  15. 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
  16. Non là si je dois toi taper la main il me faudrait un écran de 100" J'ai jamais arrêté mes yeux explose
  17. voici le code erreur debug : syntax error near '<\194>'
  18. pouuuu j'avais déjà essayé avec TextEdit et toujours pareil
  19. 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
  20. oui effectivement tu me l'avais déjà expliqué
  21. mai au final ça revient la même chose
  22. 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
  23. 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
×
×
  • Créer...