megabubu Posté(e) le 27 janvier 2016 Signaler Posté(e) le 27 janvier 2016 Bonjour, avec la dernière version de notre home center, nous avons pu voir apparaître un nombre d'instance pour les scènes. N'étant pas calé en lua, et faisant seulement des scènes bloc, ou scène lua mais alors copier de notre communauté, je voudrais un avis sur la scène suivante: en fait, j'ai changer le mode bloc en lua et j'obtiens ceci: --[[ %% autostart %% properties 298 value 298 armed %% events %% globals Maquillage --]] local startSource = fibaro:getSourceTrigger(); if(startSource["type"] == "other") then fibaro:call(34, "turnOff"); else if (( (tonumber(fibaro:getValue(298, "value")) == 0 and tonumber(fibaro:getValue(298, "armed")) == 0) )) then setTimeout(function() local delayedCheck0 = false; local tempDeviceState0, deviceLastModification0 = fibaro:get(298, "value"); if (( (tonumber(fibaro:getValue(298, "value")) == 0 and tonumber(fibaro:getValue(298, "armed")) == 0) ) and (os.time() - deviceLastModification0) >= 300) then delayedCheck0 = true; end local startSource = fibaro:getSourceTrigger(); if ( ( delayedCheck0 == true and fibaro:getGlobalValue("Maquillage") == "oui" ) or startSource["type"] == "other" ) then fibaro:call(34, "turnOff"); end end, 300000) end end Comment puis je optimiser cette scene au niveau des instances?
pepite Posté(e) le 28 janvier 2016 Signaler Posté(e) le 28 janvier 2016 Bonjour, tu peuc mettre ceci au début du code, Quand tu auras plus d'1 instance, cela annulera. if (fibaro:countScenes() > 1) then fibaro:abort() end 1
megabubu Posté(e) le 28 janvier 2016 Auteur Signaler Posté(e) le 28 janvier 2016 Bonjour, Cela annulera la scene et concrètement ça donnera quoi? Car je passe par scene activation double clic ma variable àmaquillage = oui et cela donne une extinction de la lumiere sur 300 sec si pas de mouvement . Si variable = non alors la lumiere s éteint au bout de 60 sec si pas de mouvement. En faisant abort, que se passe t il? La variable reste sur oui sans l extinction a 300sec ?
Rocketlud Posté(e) le 28 janvier 2016 Signaler Posté(e) le 28 janvier 2016 Salut megabubu, tu pourrais mettre ta scène bloc pour voir comment on arrive àce code.
mprinfo Posté(e) le 28 janvier 2016 Signaler Posté(e) le 28 janvier 2016 Ce qui fait que l instance dure cela est du au sleep Il serait préférable si le sleep et long de jouer avec les triggers Envoyé de mon SM-G900F en utilisant Tapatalk
mprinfo Posté(e) le 28 janvier 2016 Signaler Posté(e) le 28 janvier 2016 Pendant 300s c'est instance va tourner. On peut vitre arriver à10 avec ce types de scénes
megabubu Posté(e) le 28 janvier 2016 Auteur Signaler Posté(e) le 28 janvier 2016 que dois je faire alors? edit: et si je met les 300 sec après extinction spot dressing? ça change quelque chose?
ggpublic Posté(e) le 29 janvier 2016 Signaler Posté(e) le 29 janvier 2016 Je me pose un peu les même questions. Alors déjàje pense que tu peux virer l'autostart et aussi décocher la case "maquillage" dans tes triggers de ta scène. C'est la détection d'un mouvement qui doit déclencher la scène, pas le changement de variable il me semble
megabubu Posté(e) le 29 janvier 2016 Auteur Signaler Posté(e) le 29 janvier 2016 Si je décoche "maquillage" , la condition maquillage est tjs valable?
ggpublic Posté(e) le 29 janvier 2016 Signaler Posté(e) le 29 janvier 2016 Oui, c'est juste que le changement de valeur de cette variable n'est plus un trigger. Mais les conditions liées àya variable continuent bien sûr às'appliquer lorsque la scène se déclenche sur détection de mouvement. Sent from my iPhone using Tapatalk
megabubu Posté(e) le 31 janvier 2016 Auteur Signaler Posté(e) le 31 janvier 2016 Sinon, avec GEA je pourrais m en sortir comment? Édit: concrètement ça donnerais quoi comme script dans GEA si on se base àma scene bloc avec variable maquillage et la détection de mouvement.
Messages recommandés