Re: EventRunner
Posted: 08 Aug 2019, 15:18
Code: Select all
GCsceneID = 55 -- or store in HT
rule("@sunset => GCsceneID:start") -- start scene 55 at sunset
rule("@sunset => GCsceneID:start={'hello}") -- start scene with args {"hello"} at sunset
rule("@sunset => GCsceneID:kill") -- stop scene 55
https://forum.fibaro.com/topic/31180-tu ... ent=188500
Man kan prenumerera på flera kalendrar och man får event till sin ER scen när kalendereventen startar och slutar.
Code: Select all
local googleCal = "https://calendar.google.com/calendar/ical/XXXXXXXX%40gmail.com/XXXXXXXXXXXX/basic.ics"
rule("subscribe(#calendar{name='Cal2',url=googleCal})")
--You will get #calendar events posted when event starts and when event stops
-- entry = {startDate=<epoch>, endDate=<epoch>, name=<string>, description=<string>, wholeDaye=<boolean>}
rule([[#calendar{name='Cal1', status='start', entry='$entry'} =>
log('CalEvent:%s',entry.name);
checkCalCmd(entry.description)]])
rule([[#calendar{name='Cal1', status='end', entry='$entry'} =>
log('E:%s',entry.name);
checkCalCmd(entry.description,true)]])
function checkCalCmd(str,stop)
if not stop then str=str:gsub(":pOn",":on") else str=str:gsub(":pOff",":off") end
if str:sub(1,1)=='%' then
local status,res = pcall(function() Rule.eval(str:sub(2)) end)
if not status then Log(LOG.LOG,"CalCmd Err:%s",res) end
end
end
%lampa:on
%lampa:pOff
slår på lampa vid eventets start och slår av vid eventets slut.
Kanske inte så väl genomtänkt exempel men man kan hitta på vad man vill med de event som kommer in.