Как вызывается метод statusUpdated у Devices?
Модератор: immortal
-
- Сообщения: 102
- Зарегистрирован: Вт июл 17, 2018 10:19 am
- Благодарил (а): 23 раза
- Поблагодарили: 4 раза
Как вызывается метод statusUpdated у Devices?
Сложилась такая ситуация.
Возникла необходимость временно физически отключить от системы один внешний контроллер с группой датчиков. Контроллер подключен к МД по MQTT. Серверу контроллер передаёт состояния своих датчиков и свой uptime. Значение uptime я записываю в свойство Status объекта SDiveces, описывающего контроллер. Так вот, если с датчиками всё нормально - их обновление прервалось в момент отключения, то со свойством status самого контроллера непонятно. Значение статуса там сохранилось последнее (uptime в момент отключения), всё норм. И больше это значение не обновляется. Но свойство updatedText при этом продолжает обновляться ежечасно, но не в ноль минут, а в 04 минуты каждого часа, именно в 04 минуты и было произведено отключение контроллера. То есть я вижу, что данные как бы обновляются каждый час, но сами данные (свойство status) не меняеются. В MQTT видно, что последнее обновление значения было в момент отключения, новых данных никоткуда не поступает. А свойство updatedText обновляется, и свойство alive стоит в еденице. Кто может дёргать метод statusUpdated, где это посмотреть? По поиску в системе никаких левых вызовов я не вижу.
Возникла необходимость временно физически отключить от системы один внешний контроллер с группой датчиков. Контроллер подключен к МД по MQTT. Серверу контроллер передаёт состояния своих датчиков и свой uptime. Значение uptime я записываю в свойство Status объекта SDiveces, описывающего контроллер. Так вот, если с датчиками всё нормально - их обновление прервалось в момент отключения, то со свойством status самого контроллера непонятно. Значение статуса там сохранилось последнее (uptime в момент отключения), всё норм. И больше это значение не обновляется. Но свойство updatedText при этом продолжает обновляться ежечасно, но не в ноль минут, а в 04 минуты каждого часа, именно в 04 минуты и было произведено отключение контроллера. То есть я вижу, что данные как бы обновляются каждый час, но сами данные (свойство status) не меняеются. В MQTT видно, что последнее обновление значения было в момент отключения, новых данных никоткуда не поступает. А свойство updatedText обновляется, и свойство alive стоит в еденице. Кто может дёргать метод statusUpdated, где это посмотреть? По поиску в системе никаких левых вызовов я не вижу.
-
- Сообщения: 1554
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
- Благодарил (а): 39 раз
- Поблагодарили: 574 раза
Re: Как вызывается метод statusUpdated у Devices?
Обновления статусов смотреть в таймерах (X-Ray Timers)
- Рейтинг: 1.16%
-
- Сообщения: 102
- Зарегистрирован: Вт июл 17, 2018 10:19 am
- Благодарил (а): 23 раза
- Поблагодарили: 4 раза
Re: Как вызывается метод statusUpdated у Devices?
Ну ок, вызов там есть, и запланирован на 13:04. А кто его запланировал, кто его вызывает?
-
- Сообщения: 1554
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
- Благодарил (а): 39 раз
- Поблагодарили: 574 раза
-
- Сообщения: 1554
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
- Благодарил (а): 39 раз
- Поблагодарили: 574 раза
Re: Как вызывается метод statusUpdated у Devices?
Класс SDiveces это они и есть. У этого класса свои свойства и свои методы, в том числе обновление статуса по таймеру
- Рейтинг: 1.16%
-
- Сообщения: 102
- Зарегистрирован: Вт июл 17, 2018 10:19 am
- Благодарил (а): 23 раза
- Поблагодарили: 4 раза
Re: Как вызывается метод statusUpdated у Devices?
То есть имеется ввиду, что класс SDevices заточен под какие-то стандартные физические девайсы, у которых статус автоматом запрашивается по таймеру и ответ записывается в status?
-
- Сообщения: 1554
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
- Благодарил (а): 39 раз
- Поблагодарили: 574 раза
Re: Как вызывается метод statusUpdated у Devices?
Класс SDevices заточен под ПУ Насколько я смотрел код - по таймеру определяется alive и проставляется текстовой статус - движение было 1 мин назад, 5 мин назад и т.д. Отсчёт перезапускается, когда от устройства приходит статус, например если сработал датчик движения. Опрос статуса по таймеру обычно заложен в специализированных модулях.
- Рейтинг: 1.16%
-
- Сообщения: 102
- Зарегистрирован: Вт июл 17, 2018 10:19 am
- Благодарил (а): 23 раза
- Поблагодарили: 4 раза
Re: Как вызывается метод statusUpdated у Devices?
Так я не понял всё равно. Почему у меня опрос по таймеру сам по себе работает, хотя я просто создал экземпляр стандартного класса SDevices? Это можно отключить? Или надо делать своё свойство и самому следить за его обновлением как мне надо?
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
- Благодарил (а): 223 раза
- Поблагодарили: 815 раз
Re: Как вызывается метод statusUpdated у Devices?
Если не нужны ПУ - отключи их в конфиге...
Спасибо нам ПОМОЖЕТ..!