DimLevel + 10 Hjälp

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

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: 202
Joined: 25 Apr 2017, 07:24
6

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
8

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: 1230
Joined: 25 Nov 2013, 15:06
10
Location: Stockholm

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....?
Testar Home Assistant på Raspberry Pi4B - nice :mrgreen:
alexndr
Medlem
Posts: 420
Joined: 14 Jul 2016, 14:38
7

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: 202
Joined: 25 Apr 2017, 07:24
6

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