Значит такс-
Не скажу как уж запускается начало ,
НО при запуске метода - SDevices_statusUpdated
запускается метод - SMotions_motionDetected
При работе метода SDevices_statusUpdated - устанавливается значение - statusUpdated
после этого если устройство из класса Motion - (смотри датчик движения или камера с датчиком движения)
запускается метод SMotions_motionDetected
Код: Выделить всё
if ($this->class_title == 'SMotions' && $params['NEW_VALUE'] && !timeOutExists($ot . '_motion_timer_status')) {
$this->callMethodSafe('motionDetected', array('statusUpdated' => 1));
Теперь же этот метод проверяет значение statusUpdated - для текущего устройства
и если статус - 0 то ждем еще 3 секунды на всякий случай
Код: Выделить всё
setTimeout($ot.'_motion_timer_status', '', 3);
и проверяем еще раз
Код: Выделить всё
if (isset($params['VALUE']) && !$params['VALUE'] && !isset($params['statusUpdated'])) {
и если мы не получили параметры все три то устанавливаем статус устройства Motion в 0 (не работатет ?)- (смотри датчик движения или камера с датчиком движения) и возвращаемся без проведения действий.
Код: Выделить всё
$this->setProperty('status', 0);
return;
}
Иначе идем дальше...
Где то так