Scéna je spuštěna (trigger) změnou vlastnosti (property) value zařízení s ID 48 (může jít např. o hodnotu virtuálního 2. relé v FGS 221, tudíž je tak možné reagovat na vstup S2), jak je deklarováno v sekci %%properties.

Následně podmínka ověří, že ke spuštění došlo skutečně pomocí změny vlastnosti (nikoli např. stisknutím tlačítka Spustit nebo jinou spouštěcí událostí).

Nakonec je povelem fibaro:startScene() spuštěna jiná scéna s ID 2 – např. jednoduše vytvořená v grafickém režimu. ID scény zjistíte nejsnadněji v adresním řádku webového prohlížeče poté, co požadovanou scénu vyberete k editování.

Kód

--[[
%% properties
48 value
%% globals
--]]

fibaro:debug ("scene triggered");
local trigger = fibaro:getSourceTrigger();
if (trigger['type'] ~= "property") then
  fibaro:debug ("Unexpected source trigger '" .. trigger['type'] .. "'");
  fibaro:abort ();
end
fibaro:debug ("scene activated");
fibaro:startScene(2);

 Jiná varianta

Následující kód umožňuje na různěnásobné kliky na vstupech S1 a S2 spustit rozdílné scény.

--[[
%% properties
507 sceneActivation
%% globals
--]]


local id= 507;
local name = fibaro:getName(id)
fibaro:debug(name);
local name = tonumber(fibaro:getValue(id, "sceneActivation"));
if (tonumber(fibaro:getValue(id, "sceneActivation"))==16)
   then
   	fibaro:debug("1 click s1 "..name);
elseif (tonumber(fibaro:getValue(id, "sceneActivation"))==26)
   then
	fibaro:debug("1 click s2 "..name);
elseif (tonumber(fibaro:getValue(id, "sceneActivation"))==25)
    then
	fibaro:debug("3 click s2 "..name);
elseif (tonumber(fibaro:getValue(id, "sceneActivation"))==15)
    then
	fibaro:debug("3 click s1 "..name);
elseif (tonumber(fibaro:getValue(id, "sceneActivation"))==14)
    then
	fibaro:debug("2 click s1 "..name);
elseif (tonumber(fibaro:getValue(id, "sceneActivation"))==24)
    then
	fibaro:debug("2 click s2 "..name);
elseif (tonumber(fibaro:getValue(id, "sceneActivation"))==12)
    then
	fibaro:debug("hold click s1 "..name);
elseif (tonumber(fibaro:getValue(id, "sceneActivation"))==13)
    then
	fibaro:debug("release click s1 "..name);
elseif (tonumber(fibaro:getValue(id, "sceneActivation"))==22)
    then
	fibaro:debug("hold click s2 "..name);
elseif (tonumber(fibaro:getValue(id, "sceneActivation"))==23)
    then
	fibaro:debug("release click s2 "..name);
elseif (tonumber(fibaro:getValue(id, "sceneActivation"))==10)
    then
	fibaro:debug("change from turn off to turn on s1 "..name);
elseif (tonumber(fibaro:getValue(id, "sceneActivation"))==11)
    then
	fibaro:debug("change from turn on to turn off s1 "..name);
elseif (tonumber(fibaro:getValue(id, "sceneActivation"))==20)
    then
	fibaro:debug("change from turn off to turn on s2 "..name);
elseif (tonumber(fibaro:getValue(id, "sceneActivation"))==21)
    then
	fibaro:debug("change from turn on to turn off s2 "..name);
elseif (tonumber(fibaro:getValue(id, "sceneActivation"))==17)
    then
	fibaro:debug("up "..name);
elseif (tonumber(fibaro:getValue(id, "sceneActivation"))==18)
     then
	fibaro:debug("down "..name);
end;