Je viens de me rendre compte d'une autre bizarrerie.
Le code ci dessous me permet de ré-ouvrir les volet s'il est 18h30 ou si la température est acceptable.
Ce que j'ai remarqué, c'est que lorsque je pilote manuellement le code pour fermer les volet alors qu'il ne fait pas chaud, la scène ci dessous réouvre tout de suite les volets. Ce qui montre que les déclencheurs fonctionnent. Pourtant, ce sont les mêmes qu'utilisé dans le code de fermeture.
--[[
%% autostart
%% properties
194 value --Température Chambre parentale
3 Temperature --Température exterrieur Internet
%% events
%% globals
--]]
local sourceTrigger = fibaro:getSourceTrigger();
function tempFunc()
local currentDate = os.date("*t");
local startSource = fibaro:getSourceTrigger();
if (
((string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "18:30")
or
(tonumber(fibaro:getValue(3, "Temperature")) < tonumber(23.5)
or
tonumber(fibaro:getValue(194, "value")) <= 23)
and
fibaro:getGlobalValue("Etat_Volets") == "Fraîcheur")
)
then
fibaro:debug("Température 1 exterrieur Internet : " ..fibaro:getValue(3, "Temperature"));
fibaro:debug("Température 1 Chambre parentale : " ..fibaro:getValue(194, "value"));
fibaro:setGlobal("Etat_Volets", "Ouverts");
fibaro:startScene(261);
fibaro:call(8, "sendDefinedEmailNotification", "374");
fibaro:call(133, "sendDefinedPushNotification", "374");
fibaro:call(375, "sendDefinedPushNotification", "374");
fibaro:call(229, "sendDefinedEmailNotification", "374");
fibaro:call(230, "sendDefinedPushNotification", "374");
fibaro:call(251, "sendDefinedPushNotification", "374");
end
setTimeout(tempFunc, 60*1000)
end
if (sourceTrigger["type"] == "autostart") then
tempFunc()
else
local currentDate = os.date("*t");
local startSource = fibaro:getSourceTrigger();
if (
(tonumber(fibaro:getValue(3, "Temperature")) < tonumber(23.5)
or
tonumber(fibaro:getValue(194, "value")) <= 23)
and
fibaro:getGlobalValue("Etat_Volets") == "Fraîcheur"
or
startSource["type"] == "other"
)
then
fibaro:debug("Température 2 exterrieur Internet : " ..fibaro:getValue(3, "Temperature"));
fibaro:debug("Température 2 Chambre parentale : " ..fibaro:getValue(194, "value"));
fibaro:setGlobal("Etat_Volets", "Ouverts");
fibaro:startScene(261);
fibaro:call(8, "sendDefinedEmailNotification", "374");
fibaro:call(133, "sendDefinedPushNotification", "374");
fibaro:call(375, "sendDefinedPushNotification", "374");
fibaro:call(229, "sendDefinedEmailNotification", "374");
fibaro:call(230, "sendDefinedPushNotification", "374");
fibaro:call(251, "sendDefinedPushNotification", "374");
end
end