Rollos nur zu gewissem % schließen

Unserer Rollos fahren Abends autoamtisch runter.

Im Schlafzimmer würden wir aber gerne das die Rollos sich nicht komplett schließen, sondern nur zu einem gewissen Bereich. Kann man das in LUA angeben?

Aktuell haben wir folgendes:

--[[
%% autostart
%% properties
%% events
%% globals
21 power
--]]

math.randomseed(os.time())
local random1 = math.random(5000,9000)
local random2 = math.random(5000,7000)
local random3 = math.random(9000,12000)
local random4 = math.random(15000,19000)
local random5 = math.random(20000,24000)

local sourceTrigger = fibaro:getSourceTrigger();
function tempFunc()
local currentDate = os.date("*t");
local startSource = fibaro:getSourceTrigger();
if (
 ( ((currentDate.wday == 1 or currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 7) and os.date("%H:%M", os.time()-30*60) == fibaro:getValue(1, "sunsetHour")) )
)
then
    setTimeout(function()
		fibaro:call(33, "close");
	end, random1)
    setTimeout(function()
		fibaro:call(25, "close");
	end, random2)
	setTimeout(function()
		fibaro:call(5, "close");
	end, random3)
	setTimeout(function()
		fibaro:call(29, "close");
	end, random4)
	setTimeout(function()
		fibaro:call(31, "close");
	end, random5)
	setTimeout(function()
		fibaro:call(35, "close");
	end, random1)
	setTimeout(function()
		fibaro:call(27, "close");
	end, random2)
    setTimeout(function()
		fibaro:call(70, "close");
	end, random2)
    setTimeout(function()
		fibaro:call(72, "close");
	end, random2)    
    setTimeout(function()
		fibaro:call(74, "close");
	end, random2)
   
    
    
local startSource = fibaro:getSourceTrigger();
if 
 ( tonumber(fibaro:getValue(21, "power")) > 50 )
then
	fibaro:call(82, "turnOn");
end
    
    
    

end

setTimeout(tempFunc, 60*1000)
end
if (sourceTrigger["type"] == "autostart") then
tempFunc()
else

local currentDate = os.date("*t");
local startSource = fibaro:getSourceTrigger();
if (
startSource["type"] == "other"
)
then
    setTimeout(function()
		fibaro:call(33, "close");
	end, random1)
    setTimeout(function()
		fibaro:call(25, "close");
	end, random2)
	setTimeout(function()
		fibaro:call(5, "close");
	end, random3)
	setTimeout(function()
		fibaro:call(29, "close");
	end, random4)
	setTimeout(function()
		fibaro:call(31, "close");
	end, random5)
	setTimeout(function()
		fibaro:call(35, "close");
	end, random1)
	setTimeout(function()
		fibaro:call(27, "close");
	end, random2)
    setTimeout(function()
		fibaro:call(70, "close");
	end, random2)
    setTimeout(function()
		fibaro:call(72, "close");
	end, random2)    
    setTimeout(function()
		fibaro:call(74, "close");
	end, random2)
  
    
    
    
    local startSource = fibaro:getSourceTrigger();
if 
 ( tonumber(fibaro:getValue(21, "power")) > 50 )
then
	fibaro:call(82, "turnOn");
end
    
    
end

end


Ja, mit setValue.
Wenn du links im LUA-Editor bist sind links alle Module und die verfügbaren Befehle.

Viele Grüße Hoggle

https://www.siio.de/board/thema/rolladen-oeffnen-wen-zu-oder-unter-20/#post-78182

Danke,

aber wie genau bindet man das ein?

setTimeout(function()
		fibaro:call(33, "close"  "setValue", "80");
	end, random1)

oder

setTimeout(function()
		fibaro:call(33, "setValue", "80");
	end, random1)

habe es schon. Variante 2 passt :slight_smile:

Wenn du mehrere Rolläden mit den gleichen Werten schließen möchtest, kannst du auch eine Schleife verwenden.
In meinem Fall schliessen die Rollos auf 13% exakt soweit dass die Lamellen noch Licht durchlassen :slight_smile:
Das Einzige was du anpassen mußt sind die JalIDs deiner Geräte und die Zahl “13” falls deine Jalousien bei einem anderen Wert stoppen sollen…


jalIDs = {354,357, 359, 378}

function CheckJal(IDs)
  for i=1, #IDs do
    local DeviceValue = tonumber(fibaro:getValue(IDs[i],"value"))
    local DeviceName   = fibaro:getName(IDs[i])
    local DeviceRoom = fibaro:getRoomNameByDeviceID(IDs[i])
      if (DeviceValue ~= 13) then
        fibaro:call(IDs[i],"setValue","13")
        fibaro:debug(os.date("%d.%m.%Y - "..DeviceRoom.." - "..DeviceName.." wird auf % gesetzt"))
      else
        fibaro:debug(os.date("%d.%m.%Y - "..DeviceRoom.." - "..DeviceName.." ist schon OK"))
    end
  end
end
CheckJal(jalIDs)