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)