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

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

Модератор: immortal

Serega66
Сообщения: 111
Зарегистрирован: Ср фев 22, 2017 12:08 pm
Благодарил (а): 55 раз
Поблагодарили: 13 раз

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

Сообщение Serega66 » Вт апр 02, 2019 10:59 pm

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

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

Сообщение Fav0rit » Ср апр 03, 2019 12:12 am

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

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

Сообщение Fav0rit » Ср апр 03, 2019 12:24 am

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

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

Сообщение rzag » Ср апр 03, 2019 11:05 am

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
Благодарил (а): 8 раз
Поблагодарили: 22 раза

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

Сообщение Fav0rit » Ср апр 03, 2019 11:59 am

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

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

Сообщение TrDA » Ср апр 03, 2019 2:53 pm

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 - рекомендую попробовать (не реклама)...
За это сообщение автора TrDA поблагодарили (всего 3):
Fav0rit (Ср апр 03, 2019 8:37 pm) • Serega66 (Пт апр 05, 2019 8:01 am) • Ron (Вс апр 07, 2019 12:17 pm)
Рейтинг: 3.49%
Всем удачи.
Спрашивайте - не стесняйтесь.
Aven
Сообщения: 529
Зарегистрирован: Сб мар 12, 2016 6:33 pm
Откуда: Ухта, Россия
Благодарил (а): 3 раза
Поблагодарили: 154 раза

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

Сообщение Aven » Ср апр 03, 2019 8:47 pm

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

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

Сообщение neirondev » Сб апр 06, 2019 4:36 pm

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

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

Сообщение nick7zmail » Сб апр 06, 2019 5:40 pm

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

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

Сообщение Ron » Вс апр 07, 2019 12:07 pm

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