Страница 1 из 7

Мониторинг состояния системы

Добавлено: Вт июн 11, 2013 6:10 pm
sergejey
Обсуждение страницы Мониторинг состояния системы

Re: Мониторинг состояния системы

Добавлено: Чт июн 13, 2013 6:36 pm
pdmitry2
Сергей, а как сделать аналогично этому

Код: Выделить всё

$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');
}
но, для датчика температуры?
Например, есть датчик со свойством temp_1.temp, как сделать, что бы если температура ниже 20 градусов, в меню управления висел красный статус, а как только температура поднимается выше 20 градусов, статус менялся бы на зелёный, ну и всё это с соответствующими уведомлениями.
Поможете? ;)

Re: Мониторинг состояния системы

Добавлено: Пт июн 14, 2013 10:29 am
sergejey
там в коде есть блок условий. например такое:

if (!isOnline("192.168.0.115")) {
$yellow_state=1;
$details[]="Камера на втором этаже недоступна";
}

можно заменить его на такое (или добавить под ним):

if (getGlobal('temp_1.temp')<20) {
$red_state=1;
$details[]="Температура на датчике 1 ниже 20 градусов";
}

Re: Мониторинг состояния системы

Добавлено: Вс фев 23, 2014 5:55 pm
Satgate_M
Сергей, добрый день.

Более менее разобрался, что за что отвечает, но никак не могу осилить обновление датчиков.
внизу в коде есть параметр(где массив сенсоров задаем): .alive

вот где надо создать это .alive и как его вызывать и что должно в нем быть чтобы сенсоры работали.
По факту у меня сенсоры работают, но система пишет, что датчик не обновляется!

Спасибо.

Re: Мониторинг состояния системы

Добавлено: Вс фев 23, 2014 7:58 pm
sergejey
Satgate_M писал(а):Сергей, добрый день.

Более менее разобрался, что за что отвечает, но никак не могу осилить обновление датчиков.
внизу в коде есть параметр(где массив сенсоров задаем): .alive

вот где надо создать это .alive и как его вызывать и что должно в нем быть чтобы сенсоры работали.
По факту у меня сенсоры работают, но система пишет, что датчик не обновляется!

Спасибо.
Смотрите на моём профайле в коннекте как сделано. Если в кратце, то при обновления значения датчиков у меня устанавливается значение alive в 1 и задаётся таймер, который сбрасывает это значение в 0. Таким образом, если датчик регулярно присылает обновления, то alive будет всегда 1.

Re: Мониторинг состояния системы

Добавлено: Пн фев 24, 2014 7:25 pm
Satgate_M
sergejey писал(а):
Satgate_M писал(а):Сергей, добрый день.

Более менее разобрался, что за что отвечает, но никак не могу осилить обновление датчиков.
внизу в коде есть параметр(где массив сенсоров задаем): .alive

вот где надо создать это .alive и как его вызывать и что должно в нем быть чтобы сенсоры работали.
По факту у меня сенсоры работают, но система пишет, что датчик не обновляется!

Спасибо.
Смотрите на моём профайле в коннекте как сделано. Если в кратце, то при обновления значения датчиков у меня устанавливается значение alive в 1 и задаётся таймер, который сбрасывает это значение в 0. Таким образом, если датчик регулярно присылает обновления, то alive будет всегда 1.
В профайле нашел вроде эти alive, а вот какой код в них записан где можно посмотреть?

Re: Мониторинг состояния системы

Добавлено: Вт фев 25, 2014 10:25 am
sergejey
вот, к примеру:

Изображение

Re: Мониторинг состояния системы

Добавлено: Вт фев 25, 2014 5:19 pm
Satgate_M
Добавил в метод tempChanged и при изменении температуры почему-то ничего не происходит ни в alive ни в других полях ничего нет, только температура (снимок в приложении)

И ни как не могу ни у кого получить как поменять статус системы со слов на разцоцветные иконки (антенна, шестерня и тп).
Скриншоты ниже.

Re: Мониторинг состояния системы

Добавлено: Вт фев 25, 2014 8:08 pm
Satgate_M
и что это за параметр в таймере 30*60 например как перевести его в реальное время чтобы понимать период обновления?

Re: Мониторинг состояния системы

Добавлено: Ср фев 26, 2014 10:40 am
sergejey
Satgate_M писал(а):и что это за параметр в таймере 30*60 например как перевести его в реальное время чтобы понимать период обновления?
30*60 это 30 раз по 60 секунд, т.е. 30 минут