mprinfo Posté(e) le 27 janvier 2016 Signaler Posté(e) le 27 janvier 2016 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 2
Did Posté(e) le 27 janvier 2016 Auteur Signaler Posté(e) le 27 janvier 2016 C'est fait, résolu. Ok, merci Pascal. Plus que mes déclenchements instantanés qui déconnent dans GEA.
mprinfo Posté(e) le 27 janvier 2016 Signaler Posté(e) le 27 janvier 2016 Explique ? Envoyé de mon SM-G900F en utilisant Tapatalk
Did Posté(e) le 27 janvier 2016 Auteur Signaler Posté(e) le 27 janvier 2016 C'est dans le support GEA. http://www.domotique-fibaro.fr/index.php/topic/1211-support-gea/?p=110611
mprinfo Posté(e) le 27 janvier 2016 Signaler Posté(e) le 27 janvier 2016 @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
mprinfo Posté(e) le 27 janvier 2016 Signaler Posté(e) le 27 janvier 2016 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 1
mprinfo Posté(e) le 27 janvier 2016 Signaler Posté(e) le 27 janvier 2016 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
Did Posté(e) le 27 janvier 2016 Auteur Signaler Posté(e) le 27 janvier 2016 Merci Pascal du 54. Je vais tester quand même.
mprinfo Posté(e) le 27 janvier 2016 Signaler Posté(e) le 27 janvier 2016 J'espère bien j'ai fais cela rien que pour toi lol Envoyé de mon SM-G900F en utilisant Tapatalk
mprinfo Posté(e) le 27 janvier 2016 Signaler Posté(e) le 27 janvier 2016 Tu as juste a copier le code dans ta scène
Messages recommandés