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.