Aller au contenu

Messages recommandés

Posté(e)
Le 1/12/2016 à 09:59, Steven a dit :

J'ai un VD qui va prendre les infos de mon IPX toute les X secondes et qui va mettre les valeurs dans le fameux "fake device"



 

Bonsoir à tous,

j'ai un soucis avec mon VD IPX - X400ct (4 pinces ampèremétriques), il ne se mets pas à jour au fil de la consommation.

Pourtant j'ai bien quelques lignes dans le main loop ...

 

Une idée ... merci pour votre aide

Posté(e)

Dans le main loop, j'ai ça. Mais j'aimas l'impression que cela fonctionne ...

local myDeviceID = fibaro:getSelfId() 
if type(n) == "nil" then
n1 = tonumber(os.time())
fibaro:call(myDeviceID, "pressButton", "6")
n = 1
end
if tonumber(os.time()) > n1 + (4) then
 fibaro:call(myDeviceID, "pressButton", "6")
 n1 = tonumber(os.time())
end

 

Posté(e)

Essaie cela, Ca fonctionne super, c'est un code de @Steven

 

local selfId = fibaro:getSelfId()
-- 1ère fois que le main loop s'exécute, on crée une variable nommée "instance" car elle n'existe pas. Elle existera au 2ème passage donc ne sera pas recrée.
if (not instance) then
    -- on indique la fréquence d'execution souhaitée (en minutes)
    instance = { lastrun = 0, every = 1 }
    fibaro:debug("first run")
end
 
-- on vérifie la différence entre cette exéction et la dernière (stocké dans instance.lastrun)
diff = os.date("*t", os.difftime(os.time(), instance.lastrun))
 
-- si la différence en minutes et supérieure ou égale à  la fréquence souhaitée (instance.every)
if (diff.min >= instance.every) then
          fibaro:call(selfId, "pressButton", "6")
             
   -- on stock l'heure de la nouvelle exécution
   instance.lastrun = os.time()
   fibaro:debug("executed")
 end

 

Posté(e)

super, merci beaucoup !! Ca tourne dans le main loop, je verrai demain si la conso s'est mise à jour.

 

En revanche, le cumul de conso (à droite et en bleu à l'affichage du module), est ce q'on peut faire que les données s'incréments ... ??

{properties = { energy = power_1}}

 

×
×
  • Créer...