Можно попробовать ввести период "нечувствительности" после первого срабатывания. Добавим еще одно свойство: OBJECT.DoNotReact.
И введем период, в течение которого после первого срабатывания не должен включаться свет, независимо от количества срабатываний в этот период.
Код: Выделить всё
//Проверяем, было ли уже первое срабатывание и активирован ли период "нечувствительности"
if ((gg('OBJECT.pervoe_srabatyvanie') == 1) && (gg('OBJECT.DoNotReact') == 0)) {
//Уже было первое срабатывание (текущее срабатывание не первое) и период "нечувствительности" истек (== "0")
//тут ДЕЙСТВИЕ по управлению светом (код)
} else {
if (gg('OBJECT.pervoe_srabatyvanie') <> 1) {
//Ранее срабатываний не было, тогда текущее срабатывание является первым (зафиксируем это)
sg('OBJECT.pervoe_srabatyvanie', 1);
//Устанавливаем время, через которое произойдет новый эпизод, когда очередное срабатывание надо считать первым (обнулим свойство, допустим, через 15 секунд)
SetTimeOut("MyTimer_999","sg('OBJECT.pervoe_srabatyvanie', 0);",15);
//При значении свойства DoNotReact == "1" свет включаться не должен
sg('OBJECT.DoNotReact', 1);
//Задаем продолжительность периода "нечувствительности" к срабатываниям датчика движения (пусть будет 5 сек.)
SetTimeOut("MyTimer_555","sg('OBJECT.DoNotReact', 0);",5);
return"";
}
}