flamalex Posté(e) le 22 novembre 2015 Signaler Posté(e) le 22 novembre 2015 1) tu peux deja commencer par retirer le 94 value dans l'entete2) remplaces ton code par celui ci EDIT: modifié suivant message de NIKKO --[[ %% properties 92 value %% globals --]] local currentDate = os.date("*t"); local currentTime = string.format("%02d", currentDate.hour)..":".. string.format("%02d",currentDate.min); local luminosite = tonumber(fibaro:getValue(94, "value")) local mouvement = tonumber(fibaro:getValue(92, "value")) local seuilluminosite = 100 fibaro:debug("Il est "..currentTime) -- test si on est dans la fourchette horaire sinon STOP if currentTime < "10:00" or currentTime > "16:00" then fibaro:abort(); end local scenenum = fibaro:countScenes(); fibaro:debug("Nombre de scènes : "..scenenum); if scenenum >= 5 then fibaro:abort(); end -- test si première instance de la scène. on allume et stop if (scenenum >= 1 and luminosite <= seuilluminosite and mouvement >= 1 ) then fibaro:call(29, "turnOn") fibaro:call(171, "turnOn") fibaro:abort(); end -- ici pour les passages suivants devant le fgms -- après 60sec sans mouvement on éteint setTimeout(function() local delayedCheck0 = false; local tempDeviceState0, deviceLastModification0 = fibaro:get(92, "value") fibaro:debug("Temps écoulé "..os.time() - deviceLastModification0) if (mouvement == 0 and (os.time() - deviceLastModification0) >= 60) then delayedCheck0 = true; end if ( delayedCheck0 == true ) then fibaro:call(29, "turnOff") fibaro:call(171, "turnOff") end end,60000)
Nikko Posté(e) le 23 novembre 2015 Signaler Posté(e) le 23 novembre 2015 Bonjour, @yannick: Dans cette partie de ton code: local scenenum = fibaro:countScenes(); fibaro:debug("Nombre de scènes : "..scenenum); if scenenum >= 5 then Fibaro:abort(); end -- test si première instance de la scène. on allume et stop if (scenenum >= 1 and luminosite <= seuilluminosite and mouvement >= 1 ) then fibaro:call(29, "turnOn") fibaro:call(171, "turnOn") fibaro:abort(); end ce n'est pas Fibaro:abort() mais fibaro:abort() qu'il faut écrire Si tu testes la 1ere instance ce n'est pas scenenum >= 1 (car cela sera toujours vrai) mais scenenum == 1 non ? Nicolas
Yannick Posté(e) le 23 novembre 2015 Signaler Posté(e) le 23 novembre 2015 je vais tenter tout ça... Merci les gars. Je me suis rendu compte tout à l'heure que mon FGMS détectais des mouvements tout le temps et du coup il déclenchait la scène sans arrêt. Je l'ai réveillé et reconfiguré et je vais voir ce que cela donne. merci je vous tiens au jus. @Nikko, j'avais vu mon erreur de syntaxe, je l'ai corrigé merci. Pour le test sur la 1ère instance, cela marchait nickel comme ça avant la mise à jour. Merci
flamalex Posté(e) le 23 novembre 2015 Signaler Posté(e) le 23 novembre 2015 Salut Yannick, bien vu Nico (comme dab) pour info: Yannick, j'ai changé le debut du script, "currentTime" et "currentDate" , car j ai eu bcp de bug avec uniquement "tonumber...osdate..."
Yannick Posté(e) le 23 novembre 2015 Signaler Posté(e) le 23 novembre 2015 Je vais essayer tout ça....
flamalex Posté(e) le 2 décembre 2015 Signaler Posté(e) le 2 décembre 2015 Salut Yannick, ou en es tu dans tes tests?
Yannick Posté(e) le 4 décembre 2015 Signaler Posté(e) le 4 décembre 2015 Salut mon ami.. ça fonctionne, je n'ai rien fait de spécial et ça refonctionne normalement... Merci pour ta sollicitude !!! A bientôt
Messages recommandés