Да нашел такой флаг, он выключен. его надо попробовать включить?
[Модуль] MQTT (mqtt)
Модератор: immortal
-
- Сообщения: 60
- Зарегистрирован: Чт мар 19, 2015 10:27 pm
- Благодарил (а): 8 раз
- Поблагодарили: 22 раза
Re: [Модуль] MQTT (mqtt)
Ребята, для тех у кого есть подвисания в работе MQTT, просто хочу обратить ваше внимание.
У меня, как я писал выше, наблюдались зависания цикла MQTT аж на 30 секунд и понятное дело, что я такой один, иначе у всех наблюдалась бы подобная картина. Но из-за чего это происходило я долго не мог понять, пока немного не модифицировал файл скрипта и не нашел на чем происходит зависание. Дело в том, что при получении одного из значений - я отправлял его на другой умный дом, но связь с ним не так давно пропала и в итоге запрос не выполнялся. В идеале, цикл MQTT должен только поменять свойство, но под ним как бы стартовал еще и скрипт, который был привязан к изменению свойства. Думаю, с точки зрения системы, правильно было бы вызывать его в отдельном потоке, но сейчас не об этом.
Я приложил стандартную версию скрипта, в который добавил парочку таймеров для отлова долгих обработок сообщений. Все пишется в лог /cms/debmes/date_mqtt.log
P.S. после замены файла цикл в системе нужно перезапустить. Вернуть исходный цикл можно обновив модуль через маркет.
У меня, как я писал выше, наблюдались зависания цикла MQTT аж на 30 секунд и понятное дело, что я такой один, иначе у всех наблюдалась бы подобная картина. Но из-за чего это происходило я долго не мог понять, пока немного не модифицировал файл скрипта и не нашел на чем происходит зависание. Дело в том, что при получении одного из значений - я отправлял его на другой умный дом, но связь с ним не так давно пропала и в итоге запрос не выполнялся. В идеале, цикл MQTT должен только поменять свойство, но под ним как бы стартовал еще и скрипт, который был привязан к изменению свойства. Думаю, с точки зрения системы, правильно было бы вызывать его в отдельном потоке, но сейчас не об этом.
Я приложил стандартную версию скрипта, в который добавил парочку таймеров для отлова долгих обработок сообщений. Все пишется в лог /cms/debmes/date_mqtt.log
P.S. после замены файла цикл в системе нужно перезапустить. Вернуть исходный цикл можно обновив модуль через маркет.
- Вложения
-
- cycle_mqtt.zip
- (1.58 КБ) 172 скачивания
- Рейтинг: 1.16%
-
- Сообщения: 60
- Зарегистрирован: Чт мар 19, 2015 10:27 pm
- Благодарил (а): 8 раз
- Поблагодарили: 22 раза
Re: [Модуль] MQTT (mqtt)
Это вам решать, смысл в том, что данные записанные с этим флагом сохраняются в брокере и отправляются всем при подключении. В некоторых случаях вполне себе удобно, например, для управления модулями с реле, потому что при перезагрузке модуль подключается к MQTT и получает от него топик с текущим актуальным значением, то есть это может помочь избежать рассинхронов при перезапуске исполнительных устройств, но когда я пользовался этим последний раз у меня возникали некоторые проблемы, не знаю пофиксили ли это к настоящему моменту.
- Рейтинг: 1.16%
-
- Сообщения: 32
- Зарегистрирован: Вт июн 27, 2017 7:01 pm
- Благодарил (а): 6 раз
- Поблагодарили: 4 раза
Re: [Модуль] MQTT (mqtt)
У Вас связь с другим mjd настроена через брокер ? Через bridg ?Fav0rit писал(а): ↑Ср апр 03, 2019 12:12 amРебята, для тех у кого есть подвисания в работе MQTT, просто хочу обратить ваше внимание.
У меня, как я писал выше, наблюдались зависания цикла MQTT аж на 30 секунд и понятное дело, что я такой один, иначе у всех наблюдалась бы подобная картина. Но из-за чего это происходило я долго не мог понять, пока немного не модифицировал файл скрипта и не нашел на чем происходит зависание. Дело в том, что при получении одного из значений - я отправлял его на другой умный дом, но связь с ним не так давно пропала и в итоге запрос не выполнялся. В идеале, цикл MQTT должен только поменять свойство, но под ним как бы стартовал еще и скрипт, который был привязан к изменению свойства. Думаю, с точки зрения системы, правильно было бы вызывать его в отдельном потоке, но сейчас не об этом.
Я приложил стандартную версию скрипта, в который добавил парочку таймеров для отлова долгих обработок сообщений. Все пишется в лог /cms/debmes/date_mqtt.log
P.S. после замены файла цикл в системе нужно перезапустить. Вернуть исходный цикл можно обновив модуль через маркет.
-
- Сообщения: 60
- Зарегистрирован: Чт мар 19, 2015 10:27 pm
- Благодарил (а): 8 раз
- Поблагодарили: 22 раза
Re: [Модуль] MQTT (mqtt)
Просто GET запросом отправлял внешнюю температуру, вот и все, а как связь пропала - так выполнение запроса вываливалось по таймауту, что тормозило работу всего модуля MQTT.
-
- Сообщения: 147
- Зарегистрирован: Ср сен 27, 2017 9:13 pm
- Откуда: MSK
- Благодарил (а): 235 раз
- Поблагодарили: 38 раз
Re: [Модуль] MQTT (mqtt)
От себя тоже добавлю ... помогло найти и решить все проблемы/вопросы за две-три минуты - MQTT Explorer (универсальный клиент MQTT, предоставляющий структурированный обзор тем/топиков/сообщений/...).
В том числе:
- подчистить/удалить "хвосты" от не нужных топиков/сообщений (например после различных экспериментов);
- посмотреть содержимое "MQTT пакета";
- мульти-платформенная программа - Win/Linux/MacOS;
- для Win есть portable версия.
https://mqtt-explorer.com/
она-же на ГитХабе.
https://github.com/thomasnordquist/MQTT-Explorer
Много перепробовав разного софта для "борьбы" с MQTT - рекомендую попробовать (не реклама)...
- Рейтинг: 3.49%
Всем удачи.
Спрашивайте - не стесняйтесь.
Спрашивайте - не стесняйтесь.
-
- Сообщения: 529
- Зарегистрирован: Сб мар 12, 2016 6:33 pm
- Откуда: Ухта, Россия
- Благодарил (а): 3 раза
- Поблагодарили: 154 раза
Re: [Модуль] MQTT (mqtt)
Попробовал. Ничего интересного, по функционалу проигрывает MQTT.fx Едиенственная особенность, топики в виде дерева.
Re: [Модуль] MQTT (mqtt)
Приветствую всех, не могу подружить mqtt брокера с МДМ ,кучка устройств прекрасно его видит , МДМ и брокер висят на одном хосте подскажите что посмотреть
- nick7zmail
- Сообщения: 7573
- Зарегистрирован: Пн окт 28, 2013 8:14 am
- Откуда: Екатеринбург
- Благодарил (а): 121 раз
- Поблагодарили: 2010 раз
Re: [Модуль] MQTT (mqtt)
А МД что не видит брокера? По идее из коробки вроде настроен.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
- Ron
- Сообщения: 480
- Зарегистрирован: Пт окт 27, 2017 6:44 pm
- Благодарил (а): 144 раза
- Поблагодарили: 70 раз
Re: [Модуль] MQTT (mqtt)
Пока не причешешь корневую систему, что не грузит канал связи, процессы по иным службам отличным от москито
, то будет глючить retain.Вот такая логика.