Проверка состояния свойства
Модератор: immortal
Проверка состояния свойства
Есть десяток модулей ESP
Под данные модули создан класс ESP с определенными свойствами и объектами
ESP модули раз в 30 секунд шлют по MQTT пакет в свойство status = 1, при получении нового значения в свойство status оно запускает обработку метода, который меняет свойство last_update
тем самым я вижу статус онлайна каждого ESP модуля и дату его последнего отзыва
вопрос: как можно реализовать проверку к примеру раз в 30 секунд свойства этих объектов ?
то есть, мне нужно что бы система сама мониторила свойство last_update (с переодичностью 30 секунд) всех объектов класса ESP на момент устаревания данных и производила перевод статуса свойства online в offline по средствам кода PHP
сам код по проверке и изменению статуса написать могу, но не могу понять куда его впихнуть и как вызывать каждые 30 минут
а так же не могу разобраться как в коде проверить определенное свойство всех объектов класса
Под данные модули создан класс ESP с определенными свойствами и объектами
ESP модули раз в 30 секунд шлют по MQTT пакет в свойство status = 1, при получении нового значения в свойство status оно запускает обработку метода, который меняет свойство last_update
тем самым я вижу статус онлайна каждого ESP модуля и дату его последнего отзыва
вопрос: как можно реализовать проверку к примеру раз в 30 секунд свойства этих объектов ?
то есть, мне нужно что бы система сама мониторила свойство last_update (с переодичностью 30 секунд) всех объектов класса ESP на момент устаревания данных и производила перевод статуса свойства online в offline по средствам кода PHP
сам код по проверке и изменению статуса написать могу, но не могу понять куда его впихнуть и как вызывать каждые 30 минут
а так же не могу разобраться как в коде проверить определенное свойство всех объектов класса
-
ErmolenkoM
- Сообщения: 560
- Зарегистрирован: Ср сен 04, 2013 10:31 am
- Откуда: Самара
- Контактная информация:
Re: Проверка состояния свойства
1. onNewMinute
2. http://majordomo.smartliving.ru/Main/Pr ... gFunctions
Пример перебора объектов в цикле и установки значения свойств:
Код: Выделить всё
$h=(int)date('G',time());
$m=date('i',time());
if (($h>=8)) {
if ($m=="00") {
say(timeNow());
}
}
Пример перебора объектов в цикле и установки значения свойств:
Код: Выделить всё
$objects=getObjectsByClass("class_name");
foreach($objects as $obj) {
setGlobal($obj['TITLE'].".property_name",1);
}
Re: Проверка состояния свойства
с перебором объектов разобрался - спасибо
а насчет onNewMinute не совсем понял, он же запускается раз в минуту, а мне нужно проверять чаще
а насчет onNewMinute не совсем понял, он же запускается раз в минуту, а мне нужно проверять чаще
Re: Проверка состояния свойства
Модуль cron вам поможетGreatBAO писал(а):с перебором объектов разобрался - спасибо
а насчет onNewMinute не совсем понял, он же запускается раз в минуту, а мне нужно проверять чаще
Отправлено с моего Redmi Note 3 через Tapatalk
Разработка голосового асистента для Мажордомо по любому ключевому слову.
Обсужение
gitHub 2й версии терминала
GitHub модуля для МД
gitHub сырого модуля 2й версии
Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
gitHub сырого модуля 2й версии
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
Re: Проверка состояния свойства
Это вряд ли, там насколько помнится тоже чаще раза в минуту задачу не вызвать.lanket писал(а):Модуль cron вам поможет
Re: Проверка состояния свойства
Тогда если линух то родной cron с запуском php который в свою очередь будет делать то что вам нужноSolarW писал(а):Это вряд ли, там насколько помнится тоже чаще раза в минуту задачу не вызвать.lanket писал(а):Модуль cron вам поможет
Отправлено с моего Redmi Note 3 через Tapatalk
Разработка голосового асистента для Мажордомо по любому ключевому слову.
Обсужение
gitHub 2й версии терминала
GitHub модуля для МД
gitHub сырого модуля 2й версии
Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
gitHub сырого модуля 2й версии
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
Re: Проверка состояния свойства
ну крон кроном, думал что как то возможно это реализовать средствами MJD
ладно, запалим пока отдельным скриптом
ладно, запалим пока отдельным скриптом
- sergejey
- Site Admin
- Сообщения: 4286
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Контактная информация:
Re: Проверка состояния свойства
Для меня стандартный способ в данном случае, это с каждым обновлением ставить свойство alive в 1 и сразу ставить таймер (в вашем случае на те же 30 секнду) на установку этого свойства в ноль. Если всё хорошо, то этот таймер никогда не сработает. Если сработает, значит с момента обновления прошло более 30 секунд.
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Re: Проверка состояния свойства
во, а про таймеры я даже и не подумалsergejey писал(а):Для меня стандартный способ в данном случае, это с каждым обновлением ставить свойство alive в 1 и сразу ставить таймер (в вашем случае на те же 30 секнду) на установку этого свойства в ноль. Если всё хорошо, то этот таймер никогда не сработает. Если сработает, значит с момента обновления прошло более 30 секунд.
Сергей спасибо, сам бы не додумался