Rem's Posté(e) le 31 janvier 2016 Signaler Partager Posté(e) le 31 janvier 2016 Bonjour à tous, Suite à mes problèmes de notification "out of memories, running instance", je me suis aperçu que la scène de cette télécommande était en doublon, lors de chaque appui. --[[ %% properties 378 sceneActivation %% globals --]] --fibaro:debug("start"); local val = tonumber(fibaro:getValue(378, "sceneActivation")) local valeurDimmer = tonumber(fibaro:getValue(380, "value")) fibaro:debug(val); fibaro:debug(valeurDimmer) if fibaro:countScenes() > 1 then -- si la scène est lancée plus d'une fois alors fibaro:abort() -- arrêt de cette lecture du script end -- fin de la condition -- BOUTON 1 -- if (val == 10) -- APPUI SIMPLE then fibaro:call(70, "turnOn") fibaro:sleep(45*60*1000) fibaro:call(70, "turnOff") print("appui simple B1") end if (val == 13) -- DOUBLE CLIC then fibaro:call(50, "turnOn") fibaro:sleep(45*60*1000) fibaro:call(50, "turnOff") print("double clic B1") end -- BOUTON 3 -- if (val == 30) -- APPUI SIMPLE then fibaro:call(70, "turnOff") print("appui simple B3") end if (val == 33) -- APPUI DOUBLE then fibaro:call(70, "turnOff") fibaro:call(50, "turnOff") print("appui simple B3") end if (val == 20) then -- ici tu mets le code pour augmenter valeurDimmer = math.min(100, valeurDimmer +10) -- lecture de la valeur actuelle fibaro:debug("Simple clic bouton +"); fibaro:debug(valeurDimmer) -- envoi de la valeur au dimmer fibaro:call(380, "setValue", valeurDimmer) fibaro:sleep(30*60*1000) fibaro:call(380, "turnOff") elseif (val == 40) then -- ici tu mets le code pour diminuer valeurDimmer = math.max(0, valeurDimmer -10) -- lecture de la valeur actuelle fibaro:debug("Simple clic bouton -"); fibaro:debug(valeurDimmer) -- pour éviter de dépasser 0% -- envoi de la valeur au dimmer fibaro:call(380, "setValue", valeurDimmer) fibaro:sleep(30*60*1000) fibaro:call(380, "turnOff") elseif (val == 23) then fibaro:call(380, "setValue", "100") fibaro:debug("Double clic bouton +"); -- ici tu peux passer direct à 100% elseif (val == 43) then fibaro:call(380, "turnOff") fibaro:call(9, "turnOff") fibaro:debug("Double clic bouton -"); -- ici tu éteinds tout end ma fenêtre débug est la suivante, lors d'un appui sur le bouton , puis le 3 D'avance merci pour votre aide, d'autant que je pense que c'est le cas avec toute les télécommande de la maison (je continue mes investigations). PS : Le support de FIBARO est vraiment formidable, il m'ont envoyé une notice pour faire des scènes en block ...!!!! Lien vers le commentaire Partager sur d’autres sites More sharing options...
i-magin Posté(e) le 31 janvier 2016 Signaler Partager Posté(e) le 31 janvier 2016 Tu as du oublier la copie du debug... sinon tu utilises des sleep grande taille ? Je n'arrive pas à comprendre ce que tu veux faire entre tes commandes avec des mises en pause aussi longues ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Rem's Posté(e) le 1 février 2016 Auteur Signaler Partager Posté(e) le 1 février 2016 C'est la chambre de ma fille, les lampes s'éteignent plus tard Lien vers le commentaire Partager sur d’autres sites More sharing options...
i-magin Posté(e) le 1 février 2016 Signaler Partager Posté(e) le 1 février 2016 Toujours pas de copie du debug ? Sinon, au lieu d'utiliser ce type de code fibaro:call(70, "turnOn") fibaro:sleep(45*60*1000) fibaro:call(70, "turnOff") Tu peux essayer ceci fibaro:call(70, "turnOn"); setTimeout(function() fibaro:call(70, "turnOff"); end, 45*60*1000) Lien vers le commentaire Partager sur d’autres sites More sharing options...
i-magin Posté(e) le 1 février 2016 Signaler Partager Posté(e) le 1 février 2016 As-tu également remarqué que pour la gestion de tes boutons, tu débutes une série de "if-then-end", puis pour le bouton 2 (j'imagine car il n'y a plus de commentaire) tu pars sur un "if" suivi de "elseif" Pour la gestion des boutons, je te conseille de débuter le 1er par un "if - then" puis les suivants par "elseif - then" en terminant l'ensemble de ton code par end Lien vers le commentaire Partager sur d’autres sites More sharing options...
Rem's Posté(e) le 2 février 2016 Auteur Signaler Partager Posté(e) le 2 février 2016 J'avais joint le debug (mais j'ai du buggé) C'est ouf car, il y a 1 ou 2 mise à jour précédentes, jusqu'alors, je n'ai jamais eu ce type de notif (je me demandais même à quoi servait cet onglet ...) Lien vers le commentaire Partager sur d’autres sites More sharing options...
i-magin Posté(e) le 2 février 2016 Signaler Partager Posté(e) le 2 février 2016 J'ai beaucoup de mal à voir sur ta copie trop petite... mais ce que tu appelles fenêtre debug est en fait le centre de notification Concernant la scène de ta télécommande, je ne peux que renouveler mes conseils : supprimer les "sleep" aussi importants en les remplaçant par le code proposé Lien vers le commentaire Partager sur d’autres sites More sharing options...
Rem's Posté(e) le 3 février 2016 Auteur Signaler Partager Posté(e) le 3 février 2016 Merci pour tes réponses i-magin. Je vais essayer de nettoyer ma scene et voir ce que cela donne. Je ferai pareil sur les autres ensuite. Désolé pour cette fenêtre de debug tardIve, je ne suis pas très doué pour joindre un fichier sur le fofo (pb de taille du fichier, alors qu'il est casi illisible) Je te tiens au jus .... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés