Your comments

it's not too easy because i don't want to count something but make a matrix between 2 arrays, first is list of drivers and second list of physical switch, the position on each array indicate the virtual tag where i store the dimming value. and i need to know the position in the array not in a string because the number of character change every time i will change elements of  array.

script is not complete, it's just to show you want i need to do.


function send (pos, value)
{
if(value == 1)
{
var virtualdimmer = "Server.Tags.virtual " + pos;
var dimvalue = IR.GetVariable(virtualdimmer);
} else {
var dimvalue = value;
}
var detaildriver = arraydriver[pos].split("_");
var detaillength = detaildriver.length;
IR.Log("detaildriver : " + detaildriver + " detail length : " + detaillength);
for (var j = 0 ; j < detaillength ; j++)
{
var stringdriver = detaildriver[j];
// IR.Log("j : " + j + " send driver : " + stringdriver);
IR.GetDevice("hdl").Set(stringdriver, dimvalue);
};
}

function matrixlight(numuv, onoff)
{
var position = arrayuv.indexOf(numuv);
while (position != -1)
{
if(onoff == 1)
{
var virtualdimmer = "Server.Tags.virtual " + position;
var dimmer = IR.GetVariable(virtualdimmer);
} else {
var dimmer = 0;
}

IR.Log("send : position=" + position + " dimmer=" + dimmer);
send(position, dimmer)
position = arrayuv.indexOf(numuv, position + 1);
}

};

in your example you use a string but i want to use it with an array is it ok too ? 

Hello, this function is not able on i3studio for i3 pro ? i can't find it on my server project routine.

Thanks

Hello Martin, i have the same problem, can you help me with the solution you find ?

my mail is romain.t4p(a)gmail.com

Many thanks