Rechercher dans la communauté
Affichage des résultats pour les étiquettes 'Lumiere'.
4 résultats trouvés
-
Salut à tous! Je cherche à améliorer un code LUA concernant un éclairage branché sur un Walli Dimmer FGWDEU-111, je trouve mon code n'est pas très propre. Je m'explique: Lorsque j'appuis sur mon bouton, je veux que de 06H a 23H mon ampoule s'illumine à 80 % Puis de 23H à 06H je veux qu'elle s'éclaire seulement à 30 % ce qui est suffisant pour les levées nocturnes. Pour cela j'utilise le code suivant: function QuickApp:onInit() self:debug("onInit") self:WalliLu() self:loop() end local WalliDimmer = 545 function QuickApp:WalliLu() local currentTime = os.date("%H:%M:%S") local APIState = api.get("/devices/"..WalliDimmer).properties.state if (currentTime >= "06:00:00") and (currentTime <= "23:00:00") and APIState == true then fibaro.call(WalliDimmer, 'setValue', 80) self:debug("ETAT BOUTON:" ..tostring(APIState)) end if (currentTime >= "23:00:00") and (currentTime <= "05:59:00") and APIState == true then fibaro.call(WalliDimmer, 'setValue', 30) self:debug("ETAT BOUTON:" ..tostring(APIState)) end end function QuickApp:loop() self:WalliLu() fibaro.setTimeout(1*5000, function() self:loop() end) end Est-il possible d'utiliser le bouton comme un trigger? Si oui comment? (cela éviterai de boucler tout les 5 secondes lorsque l'état du bouton est à true) Si vous avez des idées pour un codage plus propre je suis preneur. Merci de votre support.
-
Bonjour, J'ai fais une scene LUA pour eteindre ma lumiere automatiquement apres 30 mn par exemple. Probleme c'est que si la lampe a été varié entre temps, je ne peux pas connaitre ma value de variation ... J'ai un moyen pour ca ? --[[ %% autostart %% properties 458 value %% events %% globals --]] EtatHalo = tonumber(fibaro:getValue(458, 'value')); fibaro:debug("Etat du Dressing Shoes :".. EtatHalo); if EtatHalo == 99 then fibaro:debug("Script Working ..."); fibaro:sleep(300000); fibaro:debug("Sleep Etat du lustre Dressing Shoes :".. EtatHalo); fibaro:call(458, 'turnOff'); end Si j'ai pas eu de variation entre temps ma valeur sera a 99 donc pas de probleme. Mais si elle a été varié et que ma valeur est à 63 ... True or false ... Merci pour votre aide.
-
bonjour, j'ai trouvé ceci par hazard. http://blog-fibaro.fr/tuto-hc2-voir-si-une-lumiere-est-allumee-et-tout-eteindre/ ce module virtuel est tout a fait ce qu'il me faut. mais le bouton éteindre ne fonctionne pas et je ne sais pas non plus ou mettre les icones. merci pour votre aide. phill
-
Voici un script de rafal.m repris sur le forum officiel. Ce script permet de basé l'éclairage automatique d'une salle de bain, toilette ... Sur l'ouverture d'une porte pour un fgk-101. Je n'ai pas retesté ce script depuis les modifications de l'alarme, je l'ai modifier pour utiliser une variable globale. -- NOTICE TO CHANGE DEVICES ID's: --[[ %% properties 7 value 17 value %% globals --]] -- BATHROOM SCENE FUNCTIONALITY: -- No extra Global variables needed! -- Automatic light depending of opening and closing door -- Time to enter - detecting another situations, like cleaning bathroom -- NOTICE TO CHANGE DEVICES ID's: doorID = 7; lightID = 17; -- time to enter, longer time will detect as another situation, like: cleaning timeToEnter = 10; local light = fibaro:getValue(lightID, 'value'); local door = fibaro:getValue(doorID, 'value'); local armed, lastArmed = fibaro:get(doorID, 'armed'); local trigger = fibaro:getSourceTrigger(); if (fibaro:countScenes()>1) then fibaro:debug('Kill second scene!'); fibaro:abort(); end if (trigger['type']=='property') then -- door trigger if (trigger['deviceID']==tostring(doorID)) then -- door opened if (door=='1') then fibaro:debug('Door opened.'); if (armed=='0') then fibaro:call(lightID, 'turnOn'); fibaro:call(doorID, 'setArmed', '1'); fibaro:call(doorID, 'setArmed', '0'); fibaro:debug('Light on!'); end -- door closed elseif (door=='0') then fibaro:debug('Door closed.'); if (armed=='1' or (os.time()-lastArmed)>=timeToEnter) then fibaro:call(lightID, 'turnOff'); fibaro:call(doorID, 'setArmed', '0'); fibaro:debug('Light off, room empty!'); else fibaro:call(doorID, 'setArmed', '1'); fibaro:debug('Someone inside!'); end end -- light manual elseif (trigger['deviceID']==tostring(lightID) and (os.time()-lastArmed)>0) then -- light manual off if (light=='0') then if (door=='1') then -- when door are opened fibaro:call(doorID, 'setArmed', '1'); else -- when door are closed fibaro:call(doorID, 'setArmed', '0'); end fibaro:debug('Light manual off!'); -- light manual on elseif (light=='1') then fibaro:call(doorID, 'setArmed', '1'); fibaro:debug('Light manual on, arming...'); end end end
- 2 réponses
-
- 1
-
- Extinction
- Script Lua
-
(et %d en plus)
Étiqueté avec :