jjacques68 602 Signaler ce message Posté(e) 29 avril 2020 il faut que tu fasses attention à la syntaxe et l'indentation de ton code... ce sera plus facile à comprendre et à relire. une action par ligne. il n'y a pas de soucis pour mettre plusieurs action dans le if : if a == 1 then print("action 1") print("action 2") -- ... print("action n") sleep(2) -- tu mets tout ce que tu veux à la suite Variable1 = 12345 Variable2 = "toto" else --idem ici end Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 29 avril 2020 ha aaaa ok merci encor la je suis bloquée sur la manier d'incrémenter exemple: sur la télécommande 1 appuie = ouv - 1 appuie = STOP - 1 appuie = ferme L'idée est d'incrémenté une variable ? j'ai tester avec des boucles comme while ou for mai ça ne fonctionne pas Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 29 avril 2020 je trouve pas J'ai même essayé avec la fonction liste enchainé Partager ce message Lien à poster Partager sur d’autres sites
jjacques68 602 Signaler ce message Posté(e) 30 avril 2020 pour incrémenter une variable : MaVariable = Mavariable + 1 Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 30 avril 2020 oui j'ai déjà testé et rien le ci-dessous est pas propre, mais je cherche à comprendre un truc Pk quand je lance le scenario la variable A passe bien à + 1 donc a = 2 et quand je relance il recommence à 1 une variable global ne bouge pas a = 1 if a == 1 then return (a) + 1 elseif a == 1 then return (a) + 1 elseif a == 3 then return (a) -3 ---reset Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 30 avril 2020 Bon je ne suis pas loin de laissée tomber sur fibaro impossible de réalisée un compteur local i = tonumber (fibaro:getValue(244, "value")) print("Valeur du Module = "..i.. "") local vari = 0 -- on définit la variable avec nom et valeur while i <= 50 do -- tant que i reste inférieur ou égal à 50 i = varie + 1 -- on incrémente i print(i) . . . Partager ce message Lien à poster Partager sur d’autres sites
jjacques68 602 Signaler ce message Posté(e) 30 avril 2020 Il y a 12 heures, 971jmd a dit : Pk quand je lance le scenario la variable A passe bien à + 1 donc a = 2 et quand je relance il recommence à 1 c'est normal, vu que tu initialises ta variable à 1. A chaque fois,que tu relance le scénario, tu recommence tout, donc tu réinitialises à chaque fois la variable ! Si tu ne veux pas que ça arrive, il faut utiliser une variable globale dans la HC2. Qui sera mémorisée, même après chaque relance de la scène. il y a 7 minutes, 971jmd a dit : sur fibaro impossible de réalisée un compteur je comprends pas ce que tu cherches à faire, mais regarde un peu ta variable : une fois elle s'appelle "vari" une autre fois elle s'appelle "varie" !! Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 30 avril 2020 Désolé je fatigue, mes yeux pouuu je fait une pause 1 Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 30 avril 2020 Impossible d'arrêté j'ai testé avec le code suivant sur la HC2 qui fonctionne mai je ne comprends pas pk quand j'alume ma lampe ID244 ma variable s'incrémente 2 fois --[[ %% properties 244 value %% weather %% events %% globals --]] function inc () fibaro:setGlobal('TEST', fibaro:getGlobalValue('TEST') +1); end local param1 = tonumber(fibaro:getValue(244, "value")) if param1 == 1 then inc() end print("Valeur du Module = " ..param1.. "") Partager ce message Lien à poster Partager sur d’autres sites
jjacques68 602 Signaler ce message Posté(e) 30 avril 2020 ah étrange ça, tu es bien sûr ? ta lampe serait pas un dimmer par hasard ? Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 30 avril 2020 Non une wallplug Partager ce message Lien à poster Partager sur d’autres sites
jjacques68 602 Signaler ce message Posté(e) 30 avril 2020 supprime voir dans l'entête le %%event, weather et global pour voir ! et ajoute un "tonumber" pour le getGlobalValue de "test" ! mais suis pas convaincu... Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 30 avril 2020 Ok je test Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 30 avril 2020 (modifié) Ben non-rein ne fonctionne Modifié 30 avril 2020 par 971jmd Partager ce message Lien à poster Partager sur d’autres sites
jjacques68 602 Signaler ce message Posté(e) 30 avril 2020 tu aurais pas un double appel de la fonction plus bas dans le code ? Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 30 avril 2020 non Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 30 avril 2020 (modifié) Pourtant quand je test le 244: --[[ %% properties 244 value %% weather %% events %% globals TEST --]] local param1 = tonumber(fibaro:getValue(244, "value")) print("Valeur du Module = " ..param1.. "") [DEBUG] 16:38:19: Valeur du Module = 1 [DEBUG] 16:38:23: Valeur du Module = 0 Modifié 30 avril 2020 par 971jmd Partager ce message Lien à poster Partager sur d’autres sites
jjacques68 602 Signaler ce message Posté(e) 30 avril 2020 sinon on faire du debug : on va compléter la fonction : function inc () local MaVg = tonumber(fibaro:getGlobalValue('TEST')) print("MaVg avant = "..MaVg) MaVg = MaVg + 1 fibaro:setGlobal('TEST', MaVg) MaVg = tonumber(fibaro:getGlobalValue('TEST')) print("MaVg après = "..MaVg) end Partager ce message Lien à poster Partager sur d’autres sites
jjacques68 602 Signaler ce message Posté(e) 30 avril 2020 ah mais attention, il faut pas mettre 'TEST' dans %%Global !! c'est normal du coup que ça incrémenté 2 fois ! Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 30 avril 2020 avec pou sans c'est pareil Partager ce message Lien à poster Partager sur d’autres sites
jjacques68 602 Signaler ce message Posté(e) 30 avril 2020 regarde la fonction que j'ai écrite puis haut, afin d'avoir plus de traces... Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 30 avril 2020 --[[ %% properties 244 value %% weather %% events %% globals --]] function inc () local MaVg = tonumber(fibaro:getGlobalValue('TEST')) print("MaVg avant = "..MaVg) MaVg = MaVg + 1 fibaro:setGlobal('TEST', MaVg) MaVg = tonumber(fibaro:getGlobalValue('TEST')) print("MaVg après = "..MaVg) end local param1 = tonumber(fibaro:getValue(244, "value")) if param1 == 1 then inc() end [DEBUG] 16:46:58: MaVg avant = 0 [DEBUG] 16:46:59: MaVg après = 1 [DEBUG] 16:46:59: MaVg avant = 1 [DEBUG] 16:46:59: MaVg après = 2 Partager ce message Lien à poster Partager sur d’autres sites
jjacques68 602 Signaler ce message Posté(e) 30 avril 2020 et tu peux rajouter les traces avec la valeur du module ¿ Partager ce message Lien à poster Partager sur d’autres sites
971jmd 229 Signaler ce message Posté(e) 30 avril 2020 [DEBUG] 16:52:16: MaVg avant = 0 [DEBUG] 16:52:17: MaVg après = 1 [DEBUG] 16:52:17: MaVg avant = 1 [DEBUG] 16:52:17: Valeur i/o du module = 1 [DEBUG] 16:52:17: MaVg après = 2 [DEBUG] 16:52:17: Valeur i/o du module = 1 le module génère 2 en vois Partager ce message Lien à poster Partager sur d’autres sites
jjacques68 602 Signaler ce message Posté(e) 30 avril 2020 tu n'aurais pas l'option du module "always on" activée par hasard ? Partager ce message Lien à poster Partager sur d’autres sites