Страница 9 из 97

Re: Предложения по доработке модуля MQTT

Добавлено: Сб май 27, 2017 3:44 pm
Gelezako
dioxin писал(а):Ну так я же давал решение.
Просто в методе который вызывается при обновлении данных дополнительно вставить проверку последнего обновления данных с датчика и дополнительно вызывать этот метод раз в пару минут.
Поняли суть?
Ну или ковырять модуль mqtt. Там нужно найти фунцию отправки данных в базу и сделать дополнительный вывод в объект UPDATED.
метод не вызовется, потому что данные перестанут приходить, понимаете? ))

Re: Предложения по доработке модуля MQTT

Добавлено: Сб май 27, 2017 3:55 pm
dioxin
Вот нашел в /modules/mqtt.class.php

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

  $rec['VALUE']=$value.'';
  $rec['UPDATED']=date('Y-m-d H:i:s');
  SQLUpdate('mqtt', $rec); 
Тут и надо шаманить.

Re: Предложения по доработке модуля MQTT

Добавлено: Сб май 27, 2017 3:56 pm
dioxin
Gelezako писал(а):
dioxin писал(а):Ну так я же давал решение.
Просто в методе который вызывается при обновлении данных дополнительно вставить проверку последнего обновления данных с датчика и дополнительно вызывать этот метод раз в пару минут.
Поняли суть?
Ну или ковырять модуль mqtt. Там нужно найти фунцию отправки данных в базу и сделать дополнительный вывод в объект UPDATED.
метод не вызовется, потому что данные перестанут приходить, понимаете? ))
Да я же говорю, дополнительно принудительно вызывать его раз в пару минут, понимаете?

Re: Предложения по доработке модуля MQTT

Добавлено: Сб май 27, 2017 4:07 pm
dioxin
Разъясняю.
Делаем метод который запускается при обновлении(приходе) данных как я описывал выше. В методе записываем время получения данных в свойство, например *.last_update_mqtt
Делаем сценарий который будет сравнивать свойство *.last_update_mqtt с текущим временем и если оно сильно отличается(например на 3 минуты) значит новые данные не приходили в течении 3х минут. Запускам этот сценарий раз в пару* минут,ну или с каким интервалом у вас приходят данные с mqtt+1 минута.

* периодичность запуска сценария подберете сами

И еще.. Используйте модуль cron для временных задач.

Re: Предложения по доработке модуля MQTT

Добавлено: Сб май 27, 2017 4:23 pm
Gelezako
dioxin писал(а):Разъясняю.
Делаем метод который запускается при обновлении(приходе) данных как я описывал выше. В методе записываем время получения данных в свойство, например *.last_update_mqtt
Делаем сценарий который будет сравнивать свойство *.last_update_mqtt с текущим временем и если оно сильно отличается(например на 3 минуты) значит новые данные не приходили в течении 3х минут. Запускам этот сценарий раз в пару* минут,ну или с каким интервалом у вас приходят данные с mqtt+1 минута.

* периодичность запуска сценария подберете сами
ага, теперь понял, признаю, я тупил жестоко :)

Re: Предложения по доработке модуля MQTT

Добавлено: Пн июн 05, 2017 2:31 pm
directman66
вдруг стал падать цикл mqtt плагина

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

16:25:34 0.07786200 Error registered (type: cycle_stop): ./scripts/cycle_mqtt.php
16:25:34 0.07755000 AUTO-RECOVERY: ./scripts/cycle_mqtt.php
16:25:33 0.01863300 Closing thread: exec php -q ./scripts/cycle_mqtt.php --params "a:0:{}">>/var/www/debmes/log_2017-06-05-cycle_mqtt.php.txt
ничего особо не менял. По какой причине может такое быть?

Зачем нужны эти кнопки, если при нажатии на них ничего не просходит?
SPOILERSPOILER_SHOW
Безымянныйsdsdsd.jpg
Безымянныйsdsdsd.jpg (37.22 КБ) 8324 просмотра

Re: Предложения по доработке модуля MQTT

Добавлено: Чт июн 08, 2017 6:50 am
directman66
Нашел причину падения циклов mqtt. Допустим один из топиков связан с объектом, у которого при изменении свойств могут производиться разные действия (создание других объектов, изменение их свойств и т.д.). Дак вот если у последнего связанного объекта вызывается метод OnChange, в котором прописан вызов сценария или метода следующего объекта (допустим callMethod('Motion04.motionDetected'); или Runscript('dfdf' ) с тем же кодом) происходит падение цикла mqtt. Если убрать последнюю связку и прописать код метода или сценария в методе Onchange второго в цепочке объекта, падения прекращаются. Т.е. делаю вывод о том, что цикл падает при вызове метода или сценария. Если этот метод или сценарий вызвать отдельно, то он выполняется без каких-либо ошибок.

Re: Предложения по доработке модуля MQTT

Добавлено: Чт июн 08, 2017 11:15 am
sergejey
Пометил себе в копилку ошибок.

Re: Предложения по доработке модуля MQTT

Добавлено: Сб июн 24, 2017 1:04 pm
Gelezako
Подскажите как програмно на пхп рестартонуть брокер? У меня после длительного использования или переподключения новых или старых девайсов перестаёт принимать\слать данные. Лечится рестартом. Хочу сделать авторестартер брокера если данные перестали приходить какое-то время.

Re: Предложения по доработке модуля MQTT

Добавлено: Сб июн 24, 2017 1:49 pm
dioxin
Попробуй вот так:

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

$ch = curl_init('http://ip_server/panel/xray.html?view_mode=services&service=cycle_mqtt&cmd=restart');
curl_exec($ch);
curl_close($ch);
Или через shell_exec.