turlututu74 Posté(e) le 16 octobre 2014 Signaler Partager Posté(e) le 16 octobre 2014 Je boucle sans pouvoir sortir... J'ai ceci dans un mainloop. if (fibaro:getGlobalValue("ModeSanitaire") == "Normal") then ... elseif (fibaro:getGlobalValue("ModeSanitaire") == "OffXmin") then fibaro:debug('Heure actuelle : ' .. nowTimeMin) local nowEnd = nowTimeMin + TimerOffSanitaire while true do nowTimeMin = nowTimeMin + 1 stop = nowEnd - nowTimeMin fibaro:debug('Fin dans : ' .. stop) fibaro:sleep(60*1000) if fibaro:getGlobalValue("ModeSanitaire") == "Normal" then fibaro:call(fibaro:getSelfId(), "pressButton", "2")-- passage en mode Normal fibaro:debug('Action utilisateur passage en mode Normal') end end if (nowTimeMin == nowEnd) then fibaro:call(fibaro:getSelfId(), "pressButton", "3") fibaro:debug('Fin du cycle Mode Off X Minutes passage en mode Normal') end elseif (fibaro:getGlobalValue("ModeSanitaire") == "CoupChauffe") then ... elseif (fibaro:getGlobalValue("ModeSanitaire") == "Vacances") then ... end Mais voila, lorsque je suis en mode Timer et que je clique sur le btn du mode Normal, ma variable "ModeSanitaire" est bien changée, mais bien sur je reste planté dans la boucle... Un petit coup de pouce pour me sortir de la boucle serait le bien venu. Merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
BenjyNet Posté(e) le 16 octobre 2014 Signaler Partager Posté(e) le 16 octobre 2014 Bah oui logique C'est un while true do donc c'est toujours vrai Lien vers le commentaire Partager sur d’autres sites More sharing options...
Krikroff Posté(e) le 16 octobre 2014 Signaler Partager Posté(e) le 16 octobre 2014 le main loop c'est déjàcomme un while , et BenjyNet àraison si tu veux sortir de la boucle il faut une condition genre local a = 0 while a < 10 do a = a + 1 end Lien vers le commentaire Partager sur d’autres sites More sharing options...
turlututu74 Posté(e) le 17 octobre 2014 Auteur Signaler Partager Posté(e) le 17 octobre 2014 Merci du retour, en effet je sais bien que le mainloop es déjàun while... Je voulais simplement sortir d une deuxième boucle qui elle est cadencée toute les minutes en vu de faire un timer. Mais lorsque je clique sur un btn du module virtuel je voulais sortir de la boucle en changent l état d une variable globale même si le timer n est pas terminé. Je vais tester avec le petit code de krikroff. Merci . Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés