06.07.2021, 09:58
(26.12.2018, 12:22)Snoolik Wrote: Function for RGBW/RGBWAF Type 8 dimmer
Code:function setRGBWAF(gateway, addr, r, g, b, w, a, f)
if r == nil then r = 0 end
if g == nil then g = 0 end
if b == nil then b = 0 end
if w == nil then w = 0 end
if a == nil then a = 0 end
if f == nil then f = 0 end
res, err = dalicmd(gateway, 'setdtr0', { addrtype = 'short', address = addr, value = math.min(r, 254) })
if err then return nil, 'setdtr0 error: ' .. err end
res, err = dalicmd(gateway, 'setdtr1', { addrtype = 'short', address = addr, value = math.min(g, 254) })
if err then return nil, 'setdtr1 error: ' .. err end
res, err = dalicmd(gateway, 'setdtr2', { addrtype = 'short', address = addr, value = math.min(b, 254) })
if err then return nil, 'setdtr2 error: ' .. err end
res, err = dalicmd(gateway, 'enabledevicetype', { addrtype = 'short', address = addr, value = 8 })
if err then return nil, 'enabledevicetype error: ' .. err end
res, err = dalicmd(gateway, 'setrgbdimlevel', { addrtype = 'short', address = addr })
if err then return nil, 'setrgbdimlevel error: ' .. err end
res, err = dalicmd(gateway, 'setdtr0', { addrtype = 'short', address = addr, value = math.min(w, 254) })
if err then return nil, 'setdtr0 error: ' .. err end
res, err = dalicmd(gateway, 'setdtr1', { addrtype = 'short', address = addr, value = math.min(a, 254) })
if err then return nil, 'setdtr1 error: ' .. err end
res, err = dalicmd(gateway, 'setdtr2', { addrtype = 'short', address = addr, value = math.min(f, 254) })
if err then return nil, 'setdtr2 error: ' .. err end
res, err = dalicmd(gateway, 'enabledevicetype', { addrtype = 'short', address = addr, value = 8 })
if err then return nil, 'enabledevicetype error: ' .. err end
res, err = dalicmd(gateway, 'setwafdimlevel', { addrtype = 'short', address = addr })
if err then return nil, 'setwafdimlevel error: ' .. err end
res, err = dalicmd(gateway, 'enabledevicetype', { addrtype = 'short', address = addr, value = 8 })
if err then return nil, 'enabledevicetype error: ' .. err end
res, err = dalicmd(gateway, 'activate', { addrtype = 'short', address = addr })
return res, err
end
function saveSceneRGBWAF(gateway, addr, scene, arc_level, r, g, b, w, a, f)
if r == nil then r = 0 end
if g == nil then g = 0 end
if b == nil then b = 0 end
if w == nil then w = 0 end
if a == nil then a = 0 end
if f == nil then f = 0 end
if arc_level == nil then arc_level = 254 end
res, err = dalicmd(gateway, 'setdtr0', { addrtype = 'short', address = addr, value = math.min(r, 254) })
if err then return nil, 'setdtr0 error: ' .. err end
res, err = dalicmd(gateway, 'setdtr1', { addrtype = 'short', address = addr, value = math.min(g, 254) })
if err then return nil, 'setdtr1 error: ' .. err end
res, err = dalicmd(gateway, 'setdtr2', { addrtype = 'short', address = addr, value = math.min(b, 254) })
if err then return nil, 'setdtr2 error: ' .. err end
res, err = dalicmd(gateway, 'enabledevicetype', { addrtype = 'short', address = addr, value = 8 })
if err then return nil, 'enabledevicetype error: ' .. err end
res, err = dalicmd(gateway, 'setrgbdimlevel', { addrtype = 'short', address = addr })
if err then return nil, 'setrgbdimlevel error: ' .. err end
res, err = dalicmd(gateway, 'setdtr0', { addrtype = 'short', address = addr, value = math.min(w, 254) })
if err then return nil, 'setdtr0 error: ' .. err end
res, err = dalicmd(gateway, 'setdtr1', { addrtype = 'short', address = addr, value = math.min(a, 254) })
if err then return nil, 'setdtr1 error: ' .. err end
res, err = dalicmd(gateway, 'setdtr2', { addrtype = 'short', address = addr, value = math.min(f, 254) })
if err then return nil, 'setdtr2 error: ' .. err end
res, err = dalicmd(gateway, 'enabledevicetype', { addrtype = 'short', address = addr, value = 8 })
if err then return nil, 'enabledevicetype error: ' .. err end
res, err = dalicmd(gateway, 'setwafdimlevel', { addrtype = 'short', address = addr })
if err then return nil, 'setwafdimlevel error: ' .. err end
res, err = dalicmd(gateway, 'setdtr0', { addrtype = 'short', address = addr, value = arc_level })
if err then return nil, 'setdtr0 error: ' .. err end
res, err = dalicmd(gateway, 'storescene', { addrtype = 'short', address = addr, value = scene })
if err then return nil, 'storescene error: ' .. err end
res, err = dalicmd(gateway, 'storescene', { addrtype = 'short', address = addr, value = scene })
return res, err
end
Hello and thanks for your efforts.
first in the setRGBWAF function what are (gateway, addr), and how to convert the 251.600 6 byte DALI RGBW data type to fit the function (r,g,b,w,a,f)
regards,
Best Regards,