Hur gör jag för att få följande att funka
local DimLevel = tonumber(fibaro:getValue(258, "value"))
if (sceneId == "10") then
fibaro:call(258, "setValue", "DimLevel + 10")
DimLevel + 10 Hjälp
så här fick det bli
if (sceneId == "10") then
fibaro:debug(DimLevel)
end
if (sceneId == "10") and DimLevel <= 10 then fibaro:call(146, "setValue", "10")
end
if (sceneId == "10") and DimLevel >= 10 and DimLevel < 20 then fibaro:call(146, "setValue", "20")
end
if (sceneId == "10") and DimLevel >= 20 and DimLevel < 30 then fibaro:call(146, "setValue", "30")
end
if (sceneId == "10") and DimLevel >= 30 and DimLevel < 40 then fibaro:call(146, "setValue", "40")
end
if (sceneId == "10") and DimLevel >= 40 and DimLevel < 50 then fibaro:call(146, "setValue", "50")
end
if (sceneId == "10") and DimLevel >= 50 and DimLevel < 60 then fibaro:call(146, "setValue", "60")
end
if (sceneId == "10") and DimLevel >= 60 and DimLevel < 70 then fibaro:call(146, "setValue", "70")
end
if (sceneId == "10") and DimLevel >= 70 and DimLevel < 80 then fibaro:call(146, "setValue", "80")
end
if (sceneId == "10") and DimLevel >= 80 and DimLevel < 90 then fibaro:call(146, "setValue", "90")
end
if (sceneId == "10") and DimLevel >= 90 and DimLevel < 100 then fibaro:call(146, "setValue", "100")
end
if (sceneId == "10") then
fibaro:debug(DimLevel)
end
if (sceneId == "10") and DimLevel <= 10 then fibaro:call(146, "setValue", "10")
end
if (sceneId == "10") and DimLevel >= 10 and DimLevel < 20 then fibaro:call(146, "setValue", "20")
end
if (sceneId == "10") and DimLevel >= 20 and DimLevel < 30 then fibaro:call(146, "setValue", "30")
end
if (sceneId == "10") and DimLevel >= 30 and DimLevel < 40 then fibaro:call(146, "setValue", "40")
end
if (sceneId == "10") and DimLevel >= 40 and DimLevel < 50 then fibaro:call(146, "setValue", "50")
end
if (sceneId == "10") and DimLevel >= 50 and DimLevel < 60 then fibaro:call(146, "setValue", "60")
end
if (sceneId == "10") and DimLevel >= 60 and DimLevel < 70 then fibaro:call(146, "setValue", "70")
end
if (sceneId == "10") and DimLevel >= 70 and DimLevel < 80 then fibaro:call(146, "setValue", "80")
end
if (sceneId == "10") and DimLevel >= 80 and DimLevel < 90 then fibaro:call(146, "setValue", "90")
end
if (sceneId == "10") and DimLevel >= 90 and DimLevel < 100 then fibaro:call(146, "setValue", "100")
end
De där paranteserna borde nog kapsla in hela booliska uttrycken annars känns det lite förvirrande.
Du har även en liten glipa i koden för läge med värde ”10”. Den kommer få träff på båda första uttrycken.
Inget uttryck kommer matcha ”100” heller men det kanske inte spelar någon roll för dig?
Du har även en liten glipa i koden för läge med värde ”10”. Den kommer få träff på båda första uttrycken.
Inget uttryck kommer matcha ”100” heller men det kanske inte spelar någon roll för dig?
Detta är ju längesedan nu men såhär har jag gjort:
Code: Select all
--[[
%% properties
37 sceneActivation
%% weather
%% events
%% globals
--]]
--bankbelysning = 37;
local startSource = fibaro:getSourceTrigger();
local bankbelysning = fibaro:getValue(37, "value");
fibaro:call(37, "setValue", bankbelysning + 10)