Aller au contenu
mprinfo

Quick App - Mettre a jour un QA tout les jours a 0h00

Recommended Posts

Quick App - Mettre a jour un QA tout les jours a 0h00

 

 

 

voici un bout de code pour mettre a jour un QuickApp tout les jours a minuit

 

function QuickApp:onInit()
    self:debug("onInit")
    self.refresh         = 0
    -- Boucle principale
    self:loop(self.refresh)
end	
----------------------------------------------------------
--- Boucle loop
----------------------------------------------------------
function QuickApp:loop(refresh)
      local JourHeure = os.date("*t")
      local refresh = 24*60
      if JourHeure.hour ~= 0 and JourHeure.min ~= 0 then
         refresh = ((23-JourHeure.hour)*60)+60-JourHeure.min 
      end
      self:trace("Le QA a été mise a jour : Prochane mise a jours dans ",refresh,"mn")
      self:demmarrefonction()--------------on met ici la fonction qui démmarre le QA
      fibaro.setTimeout(refresh * 60 * 1000, function() 
         self:loop(refresh)
      end)
end

 

  • Like 2
  • Thanks 1

Partager ce message


Lien à poster
Partager sur d’autres sites

salut 

 

je debut en QA 

 

j'ai fait ce petit code qui fonctionne pour afficher la consommation d'une clim 

local clim =  120
QuickApp.clima = tostring(fibaro.getValue(clim, "power"))

function QuickApp:onInit()
   self:debug(self.clima) 
   self:updateView("label1", "text", self.clima.. " W")
end

 

 

Mais je n'arrive pas à l'actualiser quand la valeur de la consommation change.

 

 

merci d'avance pour ton aide

 

 

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

It's not that straight forward....

However, you can leverage a library I have for that.

Add fibaroExtra.lua to your QA https://forum.fibaro.com/topic/54538-fibaroextra/

 

Then in your QA main:

local clim =  120

function QuickApp:updateClima() 
  self:updateView("label1", "text", tostring(fibaro.getValue(clim, "power")).."W")
end

function QuickApp:onInit()
   self:debug(self.clima)
   self:updateClima()
   self:event({type='device', id=clima, property='power'},
       function(env) self:updateClima() end
    )
end 

Partager ce message


Lien à poster
Partager sur d’autres sites

You can also just do

local clim =  120

function QuickApp:updateClima() 
  self:updateView("label1", "text", tostring(fibaro.getValue(clim, "power")).."W")
end

function QuickApp:onInit()
   self:debug(self.clima)
   setInterval(function() self:updateClima() end,10*1000)
end 

but you probably would like to have some "smoothing" of the value...

Partager ce message


Lien à poster
Partager sur d’autres sites

merci top 

 

Je vais essayer de comprendre tout ça

 

Partager ce message


Lien à poster
Partager sur d’autres sites

pour comprend le code, le SELF devant certaine ligne veux dir quoi ?

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

×