Aller au contenu

Remonter Les Volets Progressivement


Did

Messages recommandés

Non la tu confonds avec le declencheur

Il faut faire

Un get du module pour récupérer sa valeur

Ensuite un if différents de la valeur que tu veux envoyé

Alors call

Did je te ferai cela ce soir la je suis sur mon portable

J'ai une fonction comme cela je n'ai plus qu'àfaire un copier coller

Envoyé de mon SM-G900F en utilisant Tapatalk

  • Upvote 2
Lien vers le commentaire
Partager sur d’autres sites

@did

 

Voici comment j'aurai fais ta scène enfin c'est comme cela que je fais chez moi en cas de changement ID d'un module c'est plus facile a modifier surtout 6 mois après avoir fais le script

--[[
%% properties
%% globals
--]]
local IdModules = 60 -- ID du module Volet
local Valeurs = {30, 60, 100} -- Valeurs a envoyer aux modules
local Pause = 5 -- Secondes durée de la tempo
-------------------------------------------------------------------------------------
-- Debut du Programme
-------------------------------------------------------------------------------------
local NbresValeur = #Valeurs -- recupére le nombre de valeurs dans le tableau
for i = 1,#Valeurs do
  --fibaro:call(IdModules, "setValue", "30")
  fibaro:debug("Valeur Envoié : "..Valeurs[i])
  fibaro:sleep(Pause*1000)
end
Lien vers le commentaire
Partager sur d’autres sites

Voila comment je fais pour ne pas envoyer a un module la valeur qu'il a déjà(et donc bien souvent actionné le relai pour rien)

--[[
%% properties
%% globals
--]]
local IdModules = 5 -- ID du module Volet
local Valeurs = {30, 60, 100} -- Valeurs a envoyer aux modules
local Pause = 60 -- Secondes durée de la tempo
local NbresValeur = #Valeurs -- recupére le nombre de valeurs dans le tableau
-------------------------------------------------------------------------------------
-- Debut du Programme
-------------------------------------------------------------------------------------
-----------------------------------------------------------------------
-- Test si la valeur a enoyer est différente de la valeur du module
-----------------------------------------------------------------------
function CallModule(id, valeurs)
         local GetValeur = tonumber(fibaro:getValue(id, "value"))
         if valeurs ~= GetValeur then
            fibaro:call(id, "setValue", valeurs)
            --fibaro:debug(id.." - action en cours... - Valeur "..valeurs)
         end
end
-----------------------------------------------------------------------
-- Execution
-----------------------------------------------------------------------
for i = 1,#Valeurs do
  CallModule(IdModules, Valeurs[i])
  fibaro:debug("Valeur Envoié : "..Valeurs[i])
  fibaro:sleep(Pause*1000)
end

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

Voici un exemple si tu avais plusieurs volets a commander en même temps

--[[
%% properties
%% globals
--]]
local IdModules = {5, 25, 30, 42,70} -- ID du module Volet
local Valeurs = {30, 60, 100} -- Valeurs a envoyer aux modules
local Pause =  60 -- Secondes durée de la tempo
local NbresValeur = #Valeurs -- recupére le nombre de valeurs dans le tableau
-------------------------------------------------------------------------------------
-- Debut du Programme
-------------------------------------------------------------------------------------
-----------------------------------------------------------------------
-- Test si la valeur a enoyer est différente de la valeur du module
-----------------------------------------------------------------------
function CallModule(id, valeurs)
         local GetValeur = tonumber(fibaro:getValue(id, "value"))
         if valeurs ~= GetValeur then
            fibaro:call(id, "setValue", valeurs)
            --fibaro:debug(id.." - action en cours... - Valeur "..valeurs)
         end
end
-----------------------------------------------------------------------
-- Execution
-----------------------------------------------------------------------
for i = 1,#Valeurs do
  for j = 1,#IdModules do
     CallModule(IdModules[j], Valeurs[i])
     fibaro:debug("Valeur Envoié : "..Valeurs[i])
  end
  fibaro:sleep(Pause*1000)
end
Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...