LUUP代 Guqin VeraLite 天气和 LED 条 Fibaro

我正在尝试为veralite设置一个场景。我希望LED灯的颜色根据温度变化。在下面的LUUP代码中,设备ID 12是CurrentTemperature; R G B和W分别为18、17、19和20。

我想知道为什么我的代码不起作用。 非常感谢您的帮助。

local lul_temp = luup.variable_get("urn:upnp-org:serviceId:TemperatureSensor1","CurrentTemperature", 12)
local R = 18 -- RGB红色,设备ID
local G = 17 -- RGB绿色,设备ID
local B = 19 -- RGB蓝色,设备ID
local W = 20 -- RGB白色,设备ID

local Colours = {
    [32] = {Temp=32, R=32, G=32, B=32, W=0, Name='32'},
    [33] = {Temp=33, R=33, G=33, B=33, W=0, Name='33'},
    [34] = {Temp=34, R=34, G=34, B=34, W=0, Name='34'},
    ...
    [72] = {Temp=72, R=72, G=72, B=72, W=0, Name='72'}
}

local v = Colours[tonumber(lul_temp)] -- 使用索引查找表值

if (tonumber(lul_temp) > 31) then
    luup.call_action("urn:upnp-org:serviceId:Dimming1", "SetLoadLevelTarget", {newLoadlevelTarget = v.R, R) -- RGB红色
    luup.call_action("urn:upnp-org:serviceId:Dimming1", "SetLoadLevelTarget", {newLoadlevelTarget = v.G, G) -- RGB绿色
    luup.call_action("urn:upnp-org:serviceId:Dimming1", "SetLoadLevelTarget", {newLoadlevelTarget = v.B, B) -- RGB蓝色
    luup.call_action("urn:upnp-org:serviceId:Dimming1", "SetLoadLevelTarget", {newLoadlevelTarget = v.W, W) -- RGB白色
end
点赞