Мониторинг состояния системы
Добавлено: Вт июн 11, 2013 6:10 pm
Обсуждение страницы Мониторинг состояния системы
Код: Выделить всё
$details=array();
$red_state=0;
$yellow_state=0;
if ((gg('sensorEntry.status')==0) && (gg('sensorGarage.status')==0)) {
$yellow_state=1;
$details[]="Ворота и гараж открыты";
} elseif (gg('sensorEntry.status')==0) {
$yellow_state=1;
$details[]="Ворота открыты.";
}
if (!isOnline("192.168.0.115")) {
$yellow_state=1;
$details[]="Камера на втором этаже недоступна";
}
if ((gg('ThisComputer.somebodyHome')==0) && (gg('sensorEntry.status')==0) && (gg('sensorGarage.status')==0)) {
$red_state=1;
$details[]="Дома никого нет, а ворота и гараж открыты";
}
if ($red_state) {
$state='red';
$state_title='Красный';
} elseif ($yellow_state) {
$state='yellow';
$state_title='Жёлтый';
} else {
$state='green';
$state_title='Зелёный';
}
$this->setProperty('stateDetails',implode(". ",$details));
if ($this->getProperty('stateColor')!=$state) {
$this->setProperty('stateColor',$state);
$this->setProperty('stateTitle',$state_title);
if ($state!='green') {
say("Уровень безопасности изменился на ".$state_title.".");
say(implode(". ",$details));
} else {
say("Уровень безопасности восстановился на ".$state_title);
}
$this->callMethod('stateChanged');
}
Смотрите на моём профайле в коннекте как сделано. Если в кратце, то при обновления значения датчиков у меня устанавливается значение alive в 1 и задаётся таймер, который сбрасывает это значение в 0. Таким образом, если датчик регулярно присылает обновления, то alive будет всегда 1.Satgate_M писал(а):Сергей, добрый день.
Более менее разобрался, что за что отвечает, но никак не могу осилить обновление датчиков.
внизу в коде есть параметр(где массив сенсоров задаем): .alive
вот где надо создать это .alive и как его вызывать и что должно в нем быть чтобы сенсоры работали.
По факту у меня сенсоры работают, но система пишет, что датчик не обновляется!
Спасибо.
В профайле нашел вроде эти alive, а вот какой код в них записан где можно посмотреть?sergejey писал(а):Смотрите на моём профайле в коннекте как сделано. Если в кратце, то при обновления значения датчиков у меня устанавливается значение alive в 1 и задаётся таймер, который сбрасывает это значение в 0. Таким образом, если датчик регулярно присылает обновления, то alive будет всегда 1.Satgate_M писал(а):Сергей, добрый день.
Более менее разобрался, что за что отвечает, но никак не могу осилить обновление датчиков.
внизу в коде есть параметр(где массив сенсоров задаем): .alive
вот где надо создать это .alive и как его вызывать и что должно в нем быть чтобы сенсоры работали.
По факту у меня сенсоры работают, но система пишет, что датчик не обновляется!
Спасибо.
30*60 это 30 раз по 60 секунд, т.е. 30 минутSatgate_M писал(а):и что это за параметр в таймере 30*60 например как перевести его в реальное время чтобы понимать период обновления?