Here is an old expression from Dan Ebberts
minOnTime = .5;
maxOnTime = 2.0;
minOffTime = .5;
maxOffTime = 1.5;
i = 0;
tEnd = 0;
seedRandom(index,true);
preRun = random(maxOnTime);
while (time + preRun >= tEnd){
i++;
if(i%2){
tEnd += random(minOnTime,maxOnTime);
result = 100;
}else{
tEnd += random(minOffTime,maxOffTime);
result = 0;
}
}
result