Ovládání roletového aktoru Fibaro pomocí klíčenky KFOB-2 / tlačítka ZME_WCS2 (ZME_WCD2)
V Z-Wave síti je nutné vytvořit 2 globální proměnné. Proměnná "smer" indikuje, zda se roleta zatahuje (směr nahoru) nebo roztahuje (směr dolů). Proměnná "pohyb" označuje zda roleta vykonává akci (roztahuje se nebo zatahuje --> běží) nebo je zastavená (stojí).
Pro testování byla použita klíčenka KFOB 2. roletový aktor Fibaro a jednotka HC2 (z důvodu nutnosti programovat v LUA).
--[[
%% properties
12 sceneActivation
%% globals
--]]
-- id zařízení, scény
local id_klicenka = 12
local id_rolety = 14
local id_sceny = 156
-- hodnoty na zařízeních
local klicenka = tonumber(fibaro:getValue(id_klicenka, "sceneActivation"))
local pozice = tonumber(fibaro:getValue(id_rolety,"value"))
fibaro:debug(klicenka)
------------------------------------------------------------------------------
if klicenka == 13 and fibaro:getGlobalValue("pohyb") == "běží"
then
-- rolety se zatáhnou
if pozice == 0
then
fibaro:call(id_rolety,"open")
fibaro:setGlobal("smer", "nahoru")
fibaro:debug(fibaro:getGlobalValue("smer"))
end
-- rolety se roztáhnou
if pozice >= 95
then
fibaro:call(id_rolety,"close")
fibaro:setGlobal("smer", "dolu")
fibaro:debug(fibaro:getGlobalValue("smer"))
end
-- zastavení
if pozice < 97
or pozice > 0
then
fibaro:call(id_rolety,"stop")
fibaro:setGlobal("pohyb", "stojí")
fibaro:killScenes(id_sceny)
end
elseif klicenka == 11 and fibaro:getGlobalValue("pohyb") == "stojí"
then
-- znovu spustit rolety
if pozice < 97
or pozice > 0
then
-- zatáhnout
if fibaro:getGlobalValue("smer") == "nahoru"
then fibaro:call(id_rolety, "open")
-- roztáhnout
elseif fibaro:getGlobalValue("smer") == "dolu"
then fibaro:call(id_rolety, "close")
end
-- přepne proměnou na běží
fibaro:setGlobal("pohyb", "běží")
end
end
fibaro:debug(pozice)