[Модуль] MQTT (mqtt)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

Serega66
Сообщения: 114
Зарегистрирован: Ср фев 22, 2017 12:08 pm

Re: [Модуль] MQTT (mqtt)

Сообщение Serega66 »

nightwind писал(а): Вт апр 02, 2019 10:40 pm В модуле, там где ты привязыаешь объекты к топикам, есть флаг Retained. его лучше вообще не использовать, кроме специфических ситуаций.
Да нашел такой флаг, он выключен. его надо попробовать включить?
Fav0rit
Сообщения: 60
Зарегистрирован: Чт мар 19, 2015 10:27 pm

Re: [Модуль] MQTT (mqtt)

Сообщение Fav0rit »

Ребята, для тех у кого есть подвисания в работе MQTT, просто хочу обратить ваше внимание.
У меня, как я писал выше, наблюдались зависания цикла MQTT аж на 30 секунд и понятное дело, что я такой один, иначе у всех наблюдалась бы подобная картина. Но из-за чего это происходило я долго не мог понять, пока немного не модифицировал файл скрипта и не нашел на чем происходит зависание. Дело в том, что при получении одного из значений - я отправлял его на другой умный дом, но связь с ним не так давно пропала и в итоге запрос не выполнялся. В идеале, цикл MQTT должен только поменять свойство, но под ним как бы стартовал еще и скрипт, который был привязан к изменению свойства. Думаю, с точки зрения системы, правильно было бы вызывать его в отдельном потоке, но сейчас не об этом.
Я приложил стандартную версию скрипта, в который добавил парочку таймеров для отлова долгих обработок сообщений. Все пишется в лог /cms/debmes/date_mqtt.log
P.S. после замены файла цикл в системе нужно перезапустить. Вернуть исходный цикл можно обновив модуль через маркет.
Вложения
cycle_mqtt.zip
(1.58 КБ) 288 скачиваний
Fav0rit
Сообщения: 60
Зарегистрирован: Чт мар 19, 2015 10:27 pm

Re: [Модуль] MQTT (mqtt)

Сообщение Fav0rit »

Serega66 писал(а): Вт апр 02, 2019 10:59 pm
nightwind писал(а): Вт апр 02, 2019 10:40 pm В модуле, там где ты привязыаешь объекты к топикам, есть флаг Retained. его лучше вообще не использовать, кроме специфических ситуаций.
Да нашел такой флаг, он выключен. его надо попробовать включить?
Это вам решать, смысл в том, что данные записанные с этим флагом сохраняются в брокере и отправляются всем при подключении. В некоторых случаях вполне себе удобно, например, для управления модулями с реле, потому что при перезагрузке модуль подключается к MQTT и получает от него топик с текущим актуальным значением, то есть это может помочь избежать рассинхронов при перезапуске исполнительных устройств, но когда я пользовался этим последний раз у меня возникали некоторые проблемы, не знаю пофиксили ли это к настоящему моменту.
rzag
Сообщения: 32
Зарегистрирован: Вт июн 27, 2017 7:01 pm

Re: [Модуль] MQTT (mqtt)

Сообщение rzag »

Fav0rit писал(а): Ср апр 03, 2019 12:12 am Ребята, для тех у кого есть подвисания в работе MQTT, просто хочу обратить ваше внимание.
У меня, как я писал выше, наблюдались зависания цикла MQTT аж на 30 секунд и понятное дело, что я такой один, иначе у всех наблюдалась бы подобная картина. Но из-за чего это происходило я долго не мог понять, пока немного не модифицировал файл скрипта и не нашел на чем происходит зависание. Дело в том, что при получении одного из значений - я отправлял его на другой умный дом, но связь с ним не так давно пропала и в итоге запрос не выполнялся. В идеале, цикл MQTT должен только поменять свойство, но под ним как бы стартовал еще и скрипт, который был привязан к изменению свойства. Думаю, с точки зрения системы, правильно было бы вызывать его в отдельном потоке, но сейчас не об этом.
Я приложил стандартную версию скрипта, в который добавил парочку таймеров для отлова долгих обработок сообщений. Все пишется в лог /cms/debmes/date_mqtt.log
P.S. после замены файла цикл в системе нужно перезапустить. Вернуть исходный цикл можно обновив модуль через маркет.
У Вас связь с другим mjd настроена через брокер ? Через bridg ?
Fav0rit
Сообщения: 60
Зарегистрирован: Чт мар 19, 2015 10:27 pm

Re: [Модуль] MQTT (mqtt)

Сообщение Fav0rit »

rzag писал(а): Ср апр 03, 2019 11:05 am У Вас связь с другим mjd настроена через брокер ? Через bridg ?
Просто GET запросом отправлял внешнюю температуру, вот и все, а как связь пропала - так выполнение запроса вываливалось по таймауту, что тормозило работу всего модуля MQTT.
TrDA
Сообщения: 147
Зарегистрирован: Ср сен 27, 2017 9:13 pm
Откуда: MSK

Re: [Модуль] MQTT (mqtt)

Сообщение TrDA »

Fav0rit писал(а): Ср апр 03, 2019 12:12 am Ребята, для тех у кого есть подвисания в работе MQTT, просто хочу обратить ваше внимание.
...
От себя тоже добавлю ... помогло найти и решить все проблемы/вопросы за две-три минуты - MQTT Explorer (универсальный клиент MQTT, предоставляющий структурированный обзор тем/топиков/сообщений/...).

В том числе:
- подчистить/удалить "хвосты" от не нужных топиков/сообщений (например после различных экспериментов);
- посмотреть содержимое "MQTT пакета";
- мульти-платформенная программа - Win/Linux/MacOS;
- для Win есть portable версия.

https://mqtt-explorer.com/
она-же на ГитХабе.
https://github.com/thomasnordquist/MQTT-Explorer

Много перепробовав разного софта для "борьбы" с MQTT - рекомендую попробовать (не реклама)...
Всем удачи.
Спрашивайте - не стесняйтесь.
Aven
Сообщения: 529
Зарегистрирован: Сб мар 12, 2016 6:33 pm
Откуда: Ухта, Россия

Re: [Модуль] MQTT (mqtt)

Сообщение Aven »

Попробовал. Ничего интересного, по функционалу проигрывает MQTT.fx Едиенственная особенность, топики в виде дерева.
neirondev
Сообщения: 1
Зарегистрирован: Сб апр 06, 2019 3:55 pm

Re: [Модуль] MQTT (mqtt)

Сообщение neirondev »

Приветствую всех, не могу подружить mqtt брокера с МДМ ,кучка устройств прекрасно его видит , МДМ и брокер висят на одном хосте подскажите что посмотреть
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург

Re: [Модуль] MQTT (mqtt)

Сообщение nick7zmail »

А МД что не видит брокера? По идее из коробки вроде настроен.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
Ron
Сообщения: 480
Зарегистрирован: Пт окт 27, 2017 6:44 pm

Re: [Модуль] MQTT (mqtt)

Сообщение Ron »

Fav0rit писал(а): Вс мар 31, 2019 10:32 pm Вы говорите про безупречную работу MQTT, но постом раньше упоминаете некорректную работу retain, где логика? Про Retain, кстати, отдельная тема, клиент мажордома их тоже считывает не без косяков.
Пока не причешешь корневую систему, что не грузит канал связи, процессы по иным службам отличным от москито
, то будет глючить retain.Вот такая логика.
Ответить