Bonjour,
je viens de la part de domotique store ;-)
j'ai un problème avec mon scénario ci-dessous, qui fonctionne qu'a moitié, je n'ai que le lever sans les 60min . j'aimerai ouvrir et fermer mes volet roulant en fonction du lever + 60min après et du coucher + 60 min après du soleil. Si vous avez une idée de correction je suis preneur, merci pour votre aide. commande LUA ci-dessous: (merci pour votre aide)
--[[
%% autostart
%% properties
%% globals
--]]
local sourceTrigger = fibaro:getSourceTrigger();
local heure = os.date("%H:%M");
local lever = string.format(fibaro:getValue(1, "sunriseHour"));
local coucher = string.format(fibaro:getValue(1, "sunsetHour"));
fibaro:debug("Démarrage du Gestion Automatisée des volets");
--Affichage de l'heure de couché de soleil au démarrage du script:
fibaro:debug(" Lancement : Heure de levé de soleil : "..lever);
fibaro:debug(" Lancement : Heure de couché de soleil : "..coucher);
fibaro:debug("----------------------------------------------------------------------------------");
if (sourceTrigger["type"] == "autostart") then
while true do
local currentDate = os.date("*t");
local startSource = fibaro:getSourceTrigger();
-- Test OUVERTURE
if
( -- à 8H55
--string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "08:55"
-- ou à l'heure du lever de soleil :
-- os.date("%H:%M", os.time()-140*60) == fibaro:getValue(1, "sunriseHour")
-- ou à l'heure du lever de soleil + 140 minutes:
os.date("%H:%M", os.time()+60*60) == fibaro:getValue(1, "sunriseHour")
)
then
-- Ouverture des Volets
local currentHour = string.format("%02d", currentDate.hour);
fibaro:debug(" Lancement ouverture volet : "..currentHour);
fibaro:call(5, "open");
fibaro:call(5, "setValue2", "99");
fibaro:call(83, "open");
fibaro:call(83, "setValue2", "99");
fibaro:call(192, "open");
fibaro:call(192, "setValue2", "99");
fibaro:call(109, "open");
fibaro:call(109, "setValue2", "99");
fibaro:call(43, "open");
fibaro:call(43, "setValue2", "99");
fibaro:call(45, "open");
fibaro:call(45, "setValue2", "99");
end
-- Test FERMETURE
if
(
-- Test si heure = heure de coucher de soleil + 60 minutes
os.date("%H:%M", os.time()+60*60) == fibaro:getValue(1, "sunsetHour")
)
then
-- Fermeture des volets
-- tu mets tes commandes LUA pour fermer tes volets
local currentHour = string.format("%02d", currentDate.hour);
fibaro:debug(" Lancement fermeture volet : "..currentHour);
fibaro:call(5, "close");
fibaro:call(83, "close");
fibaro:call(45, "close");
fibaro:call(192, "close");
fibaro:call(109, "close");
fibaro:call(87, "close");
fibaro:call(43, "close");
end
fibaro:sleep(60*1000);
end
else
local currentDate = os.date("*t");
local startSource = fibaro:getSourceTrigger();
end