LogicMachine Forum
Dali interface scenes - Printable Version

+- LogicMachine Forum (https://forum.logicmachine.net)
+-- Forum: LogicMachine eco-system (https://forum.logicmachine.net/forumdisplay.php?fid=1)
+--- Forum: Gateway (https://forum.logicmachine.net/forumdisplay.php?fid=10)
+--- Thread: Dali interface scenes (/showthread.php?tid=111)



Dali interface scenes - gjniewenhuijse - 20.10.2015

How to use scenes with the dali interface?

Is there a kind of "software scene" object?


RE: Dali interface scenes - admin - 21.10.2015

You can create simple scenes by making a script that writes the required values one by one.


RE: Dali interface scenes - gjniewenhuijse - 11.11.2015

(21.10.2015, 13:26)admin Wrote: You can create simple scenes by making a script that writes the required values one by one.


And saving a scene? Do you have a short example?


RE: Dali interface scenes - admin - 12.11.2015

Short example which can be used for any kind of scenes, not only for DALI.

First, you have to define each scene via a Lua table where each item is a table with two items: group address and value. Each scene has a unique id which can be a number or a string.

callscene(id) sets all objects in given scene to their specified value. First it looks for a saved scene in storage and uses default values if storage is empty.

savescene(id) gets current values of all objects from given scene and saves the whole scene in storage.

Code:
scenes = {} scenes[1] = {   { '15/1/1', 50 },   { '15/1/2', 75 },   { '15/1/3', 90 }, } function callscene(id)  local key, scene  key = 'scene_' .. id  scene = storage.get(key, scenes[ id ])    if type(scene) ~= 'table' then    alert('Scene ' .. id .. ' not found')    return  end  for _, item in ipairs(scene) do    grp.write(item[ 1 ], item[ 2 ])  end end function savescene(id)  local key, scene  scene = scenes[ id ]  if type(scene) ~= 'table' then    alert('Scene ' .. id .. ' not found')    return  end  for i, item in ipairs(scene) do    scene[ i ][ 2 ] = grp.getvalue(item[ 1 ])  end  key = 'scene_' .. id  storage.set(key, scene) end



RE: Dali interface scenes - gjniewenhuijse - 12.11.2015

many thanks