Hello,
I am trying to build a Lua script that will tell Fibaro if I am working from home, working at home or off work.
Here is what I have so far but I need some help to get the scene trigger when either I am at home or at work when all the conditions have been met at the specific times. Does anyone have a similar scene or suggestions?
--[[
%% properties
%% events
%% globals
--]]
local currentDate = os.date("*t");
local time=os.date('*t');
local ct=os.date('*t'),os.date("%H:%M",os.time())
if (fibaro:countScenes() > 1) then
fibaro:abort();
end
if ((fibaro:getGlobalValue("AndyPresentstate") == "Home") and (currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6) and ((ct>= "08:30") and (ct<"17:00"))
)
then
fibaro:setGlobal("Working", "At Home");
fibaro:debug("working at home");
elseif
((fibaro:getGlobalValue("AndyPresentstate") == "Home") and (currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6) and ((ct>= "17:00") or (ct<"08:30")))
then
fibaro:setGlobal("Working", "Off Work");
fibaro:debug("off work");
elseif
(fibaro:getGlobalValue("AndyPresentstate") == "Away" and (currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6) and ((ct>= "08:30") and (ct<"17:00"))
)
then
fibaro:setGlobal("Working", "At Work");
fibaro:debug("Working at Work");
end