Мониторинг состояния системы
Модератор: immortal
- sergejey
- Site Admin
- Сообщения: 4284
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 75 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Мониторинг состояния системы
Обсуждение страницы Мониторинг состояния системы
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
-
- Сообщения: 90
- Зарегистрирован: Ср фев 06, 2013 1:12 pm
- Откуда: Россия, Москва
- Благодарил (а): 35 раз
- Поблагодарили: 6 раз
Re: Мониторинг состояния системы
Сергей, а как сделать аналогично этому
но, для датчика температуры?
Например, есть датчик со свойством temp_1.temp, как сделать, что бы если температура ниже 20 градусов, в меню управления висел красный статус, а как только температура поднимается выше 20 градусов, статус менялся бы на зелёный, ну и всё это с соответствующими уведомлениями.
Поможете?
Код: Выделить всё
$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 градусов, статус менялся бы на зелёный, ну и всё это с соответствующими уведомлениями.
Поможете?
- sergejey
- Site Admin
- Сообщения: 4284
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 75 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Мониторинг состояния системы
там в коде есть блок условий. например такое:
if (!isOnline("192.168.0.115")) {
$yellow_state=1;
$details[]="Камера на втором этаже недоступна";
}
можно заменить его на такое (или добавить под ним):
if (getGlobal('temp_1.temp')<20) {
$red_state=1;
$details[]="Температура на датчике 1 ниже 20 градусов";
}
if (!isOnline("192.168.0.115")) {
$yellow_state=1;
$details[]="Камера на втором этаже недоступна";
}
можно заменить его на такое (или добавить под ним):
if (getGlobal('temp_1.temp')<20) {
$red_state=1;
$details[]="Температура на датчике 1 ниже 20 градусов";
}
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
-
- Сообщения: 79
- Зарегистрирован: Ср дек 26, 2012 8:20 pm
- Благодарил (а): 6 раз
- Поблагодарили: 0
Re: Мониторинг состояния системы
Сергей, добрый день.
Более менее разобрался, что за что отвечает, но никак не могу осилить обновление датчиков.
внизу в коде есть параметр(где массив сенсоров задаем): .alive
вот где надо создать это .alive и как его вызывать и что должно в нем быть чтобы сенсоры работали.
По факту у меня сенсоры работают, но система пишет, что датчик не обновляется!
Спасибо.
Более менее разобрался, что за что отвечает, но никак не могу осилить обновление датчиков.
внизу в коде есть параметр(где массив сенсоров задаем): .alive
вот где надо создать это .alive и как его вызывать и что должно в нем быть чтобы сенсоры работали.
По факту у меня сенсоры работают, но система пишет, что датчик не обновляется!
Спасибо.
- sergejey
- Site Admin
- Сообщения: 4284
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 75 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Мониторинг состояния системы
Смотрите на моём профайле в коннекте как сделано. Если в кратце, то при обновления значения датчиков у меня устанавливается значение alive в 1 и задаётся таймер, который сбрасывает это значение в 0. Таким образом, если датчик регулярно присылает обновления, то alive будет всегда 1.Satgate_M писал(а):Сергей, добрый день.
Более менее разобрался, что за что отвечает, но никак не могу осилить обновление датчиков.
внизу в коде есть параметр(где массив сенсоров задаем): .alive
вот где надо создать это .alive и как его вызывать и что должно в нем быть чтобы сенсоры работали.
По факту у меня сенсоры работают, но система пишет, что датчик не обновляется!
Спасибо.
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
-
- Сообщения: 79
- Зарегистрирован: Ср дек 26, 2012 8:20 pm
- Благодарил (а): 6 раз
- Поблагодарили: 0
Re: Мониторинг состояния системы
В профайле нашел вроде эти alive, а вот какой код в них записан где можно посмотреть?sergejey писал(а):Смотрите на моём профайле в коннекте как сделано. Если в кратце, то при обновления значения датчиков у меня устанавливается значение alive в 1 и задаётся таймер, который сбрасывает это значение в 0. Таким образом, если датчик регулярно присылает обновления, то alive будет всегда 1.Satgate_M писал(а):Сергей, добрый день.
Более менее разобрался, что за что отвечает, но никак не могу осилить обновление датчиков.
внизу в коде есть параметр(где массив сенсоров задаем): .alive
вот где надо создать это .alive и как его вызывать и что должно в нем быть чтобы сенсоры работали.
По факту у меня сенсоры работают, но система пишет, что датчик не обновляется!
Спасибо.
- sergejey
- Site Admin
- Сообщения: 4284
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 75 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Мониторинг состояния системы
вот, к примеру:
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
-
- Сообщения: 79
- Зарегистрирован: Ср дек 26, 2012 8:20 pm
- Благодарил (а): 6 раз
- Поблагодарили: 0
Re: Мониторинг состояния системы
Добавил в метод tempChanged и при изменении температуры почему-то ничего не происходит ни в alive ни в других полях ничего нет, только температура (снимок в приложении)
И ни как не могу ни у кого получить как поменять статус системы со слов на разцоцветные иконки (антенна, шестерня и тп).
Скриншоты ниже.
И ни как не могу ни у кого получить как поменять статус системы со слов на разцоцветные иконки (антенна, шестерня и тп).
Скриншоты ниже.
- Вложения
-
- Снимок экрана 2014-02-25 в 19.21.38.png (46.66 КБ) 16443 просмотра
-
- Снимок экрана 2014-02-25 в 19.21.08.png (24.6 КБ) 16443 просмотра
-
- Сообщения: 79
- Зарегистрирован: Ср дек 26, 2012 8:20 pm
- Благодарил (а): 6 раз
- Поблагодарили: 0
Re: Мониторинг состояния системы
и что это за параметр в таймере 30*60 например как перевести его в реальное время чтобы понимать период обновления?
- sergejey
- Site Admin
- Сообщения: 4284
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 75 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Мониторинг состояния системы
30*60 это 30 раз по 60 секунд, т.е. 30 минутSatgate_M писал(а):и что это за параметр в таймере 30*60 например как перевести его в реальное время чтобы понимать период обновления?
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги