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

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

Добавлено: Вс мар 31, 2019 8:24 am
Sapizdullin
Fav0rit писал(а): Вс мар 31, 2019 3:04 am По моим наблюдениям MQTT вообще работает абы как, причем очень давно, о чем я неоднократно писал и в эту тему. Во-первых постоянные реконнекты, но мне кажется, что при использовании PHP это победить сложно, плюс в последнее время появились какие-то затыки в работе цикла, даже по таймеру самого цикла видны. На практике если я щелкаю выключателем, который отправляет сообщения в MQTT, то некоторый промежуток времени все отображается отлично и без задержек, а потом бац и секунд 30 вообще никакой реакции, хотя сторонний клиент MQTT все отображает правильно.
Нормально работает на железе из подписи.. Никаких глюков. Какими железками управляете? Думаю проблема в них. У меня ESP штук 20 - все нормально.

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

Добавлено: Вс мар 31, 2019 9:03 am
Ron
Fav0rit писал(а): Вс мар 31, 2019 3:04 am По моим наблюдениям MQTT вообще работает абы как, причем очень давно, о чем я неоднократно писал и в эту тему. Во-первых постоянные реконнекты, но мне кажется, что при использовании PHP это победить сложно, плюс в последнее время появились какие-то затыки в работе цикла, даже по таймеру самого цикла видны. На практике если я щелкаю выключателем, который отправляет сообщения в MQTT, то некоторый промежуток времени все отображается отлично и без задержек, а потом бац и секунд 30 вообще никакой реакции, хотя сторонний клиент MQTT все отображает правильно.
Делай

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

sudo service mosquitto stop
sudo rm /var/lib/mosquitto/mosquitto.db
sudo service mosquitto start

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

Добавлено: Вс мар 31, 2019 11:07 am
Fav0rit
Sapizdullin писал(а): Вс мар 31, 2019 8:24 am
Fav0rit писал(а): Вс мар 31, 2019 3:04 am По моим наблюдениям MQTT вообще работает абы как, причем очень давно, о чем я неоднократно писал и в эту тему. Во-первых постоянные реконнекты, но мне кажется, что при использовании PHP это победить сложно, плюс в последнее время появились какие-то затыки в работе цикла, даже по таймеру самого цикла видны. На практике если я щелкаю выключателем, который отправляет сообщения в MQTT, то некоторый промежуток времени все отображается отлично и без задержек, а потом бац и секунд 30 вообще никакой реакции, хотя сторонний клиент MQTT все отображает правильно.
Нормально работает на железе из подписи.. Никаких глюков. Какими железками управляете? Думаю проблема в них. У меня ESP штук 20 - все нормально.
У меня тоже много ESP и они отлично держат связь, от них все приходит исправно, и сторонним клиентом все данные отлично видны, проблема не в них, проблема в том как клиент самого МД читает данные из брокера.

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

Добавлено: Вс мар 31, 2019 11:22 am
Fav0rit
Ron писал(а): Вс мар 31, 2019 9:03 am
Fav0rit писал(а): Вс мар 31, 2019 3:04 am По моим наблюдениям MQTT вообще работает абы как, причем очень давно, о чем я неоднократно писал и в эту тему. Во-первых постоянные реконнекты, но мне кажется, что при использовании PHP это победить сложно, плюс в последнее время появились какие-то затыки в работе цикла, даже по таймеру самого цикла видны. На практике если я щелкаю выключателем, который отправляет сообщения в MQTT, то некоторый промежуток времени все отображается отлично и без задержек, а потом бац и секунд 30 вообще никакой реакции, хотя сторонний клиент MQTT все отображает правильно.
Делай

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

sudo service mosquitto stop
sudo rm /var/lib/mosquitto/mosquitto.db
sudo service mosquitto start
Была мысль попробовать, сделал, но ничего не изменилось.

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

Добавлено: Вс мар 31, 2019 3:16 pm
Aven
Ron писал(а): Вс мар 31, 2019 9:03 am
Fav0rit писал(а): Вс мар 31, 2019 3:04 am По моим наблюдениям MQTT вообще работает абы как, причем очень давно, о чем я неоднократно писал и в эту тему. Во-первых постоянные реконнекты, но мне кажется, что при использовании PHP это победить сложно, плюс в последнее время появились какие-то затыки в работе цикла, даже по таймеру самого цикла видны. На практике если я щелкаю выключателем, который отправляет сообщения в MQTT, то некоторый промежуток времени все отображается отлично и без задержек, а потом бац и секунд 30 вообще никакой реакции, хотя сторонний клиент MQTT все отображает правильно.
Делай

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

sudo service mosquitto stop
sudo rm /var/lib/mosquitto/mosquitto.db
sudo service mosquitto start
Этим вы удалите только RETAIN топики, что мало что изменит.

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

Добавлено: Вс мар 31, 2019 4:30 pm
Ron
Aven писал(а): Вс мар 31, 2019 3:16 pm тим вы удалите только RETAIN топики, что мало что изменит.
Именно в них возникает проблема, когда кажется, что mqtt на мажорике не корректно работает.

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

Добавлено: Вс мар 31, 2019 4:32 pm
Ron
Fav0rit писал(а): Вс мар 31, 2019 11:22 am Была мысль попробовать, сделал, но ничего не изменилось.
Тогда конфиг железа, чем нагружена, (все процессы), журнал ошибок всего и т.д.
MQTT на мажоре норм работает и не глючит ни разу, если система не перегружена и нет ничего того, что грузит сеть.cpu и т.д.

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

Добавлено: Вс мар 31, 2019 7:42 pm
rzag
Для эксперемента установил на все чистое с нуля систему mjd
Установил модуль mqtt - в настройках прописал в пункте MajorDoMo Client: Major

В логе увидел следущее:

1554049740: New connection from 192.168.1.40 on port 1883.
1554049740: New client connected from 192.168.1.40 as MajorDoMo MQTT Client (c1$
1554049740: Client MajorDoMo MQTT Client disconnected.
1554049742: Client Major (#5ca0eabf484a8) has exceeded timeout, disconnecting.
1554049742: Socket error on client Major (#5ca0eabf484a8), disconnecting.
1554049742: New connection from 192.168.1.40 on port 1883.
1554049742: New client connected from 192.168.1.40 as Major (#5ca0eabf484a8) (c$
1554049745: New connection from 192.168.1.40 on port 1883.
1554049745: New client connected from 192.168.1.40 as MajorDoMo MQTT Client (c1$
1554049745: Client MajorDoMo MQTT Client disconnected.

Откуда взялося подключение MajorDoMo MQTT ?

Остановил полностью цикл cycle_MQTT.

Лог показывает вот это:

1554049806: Client MajorDoMo MQTT Client disconnected.
1554049811: New connection from 192.168.1.40 on port 1883.
1554049811: New client connected from 192.168.1.40 as MajorDoMo MQTT Client (c1$
1554049811: Client MajorDoMo MQTT Client disconnected.
1554049816: New connection from 192.168.1.40 on port 1883.
1554049816: New client connected from 192.168.1.40 as MajorDoMo MQTT Client (c1$
1554049816: Client MajorDoMo MQTT Client disconnected.
1554049821: New connection from 192.168.1.40 on port 1883.
1554049821: New client connected from 192.168.1.40 as MajorDoMo MQTT Client (c1$
1554049821: Client MajorDoMo MQTT Client disconnected.
1554049826: New connection from 192.168.1.40 on port 1883.

Вопрос к знатокам:
Откуда берутся попытки подключения клиента MajorDoMo MQTT ? И почему это происходит даже при остановленом цикле ?

Может в этом причина постоянных рекконектов ?
Повторюсь, все установленно с нуля на чистую систему без всех моих настроек.

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

Добавлено: Вс мар 31, 2019 8:05 pm
Aven
для Publish используется отдельное подключение, а не существующее которое прослушивает подписки

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

Добавлено: Вс мар 31, 2019 8:11 pm
rzag
Aven писал(а): Вс мар 31, 2019 8:05 pm для Publish используется отдельное подключение, а не существующее которое прослушивает подписки
Спасибо, но все равно не пойму, зачем создавать два подключения, отдельно для публикации и отдельно для подписки.
Они не создают конфликт для брокера ?
Как раньше писал - рвется соеденение, сразу после публикации - это особенности библиотеки phpmqtt ?