DimLevel + 10 Hjälp

Post Reply
Erik
Medlem
Posts: 65
Joined: 10 Jan 2016, 18:46

23 Sep 2018, 21:22

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")
MastrUsr
Medlem
Posts: 183
Joined: 25 Apr 2017, 07:24

23 Sep 2018, 21:30

Jag tror du ska ändra "dimlevel + 10" till "dimlevel" + 10. Notera att "" bara står runt dimlevel.

Skickat från min SM-G930F via Tapatalk

Erik
Medlem
Posts: 65
Joined: 10 Jan 2016, 18:46

23 Sep 2018, 22:09

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
User avatar
Bamsefar
Z-Wave Kung
Posts: 1159
Joined: 25 Nov 2013, 15:06
Location: Stockholm

24 Sep 2018, 06:18

Om jag minns rätt så måste beräkningen göras innan anropet. Dvs du behöver räkna fram nya dimkevel värdet och lägga det i en variabel, och sedan dimma....?
Använder HomeSeer 3 på Linux - attans så här bra har det aldrig varit!

Lua för nybörjare
alexndr
Medlem
Posts: 411
Joined: 14 Jul 2016, 14:38

24 Sep 2018, 17:12

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?
MastrUsr
Medlem
Posts: 183
Joined: 25 Apr 2017, 07:24

19 Mar 2019, 12:26

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)
Post Reply