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

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

Модератор: immortal

vy4eslavik
Сообщения: 3
Зарегистрирован: Пт окт 19, 2018 3:53 pm
Откуда: Симферополь
Благодарил (а): 3 раза
Поблагодарили: 0

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

Сообщение vy4eslavik » Ср апр 10, 2019 10:33 am

Господа, нуждаюсь в помощи. Модуль MQTT очень странно себя ведёт. Данные в топиках могут обновляться очень не сразу, либо не обновляться вообще. А может быть и всё нормально. Не могу отловить, подскажите куда копать. Это если кратко.

А теперь подробно. Вводные данные:
Majordomo на ubuntu 16 (mysql8, nginx, php 7.2). Там же установлен mosquitto.
В mjdm mqtt настроен так:
host: localhost
port: 1883
Subscription: /#
authorization required: checked
Username: *****
Password: *****

Шаги воспроизведения:
- Используя консоль с любого компа публикую сообщение в топик /test

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

mosquitto_pub -h 192.168.0.101 -t /test -u "*****" -P "*****" -m "0"
- Наблюдаю во всех клиентах (MQTT Dash на смартфоне, в консоле на компах). Везде моментально топик обновляется значением "0"
- В mjdm значение топика может обновиться сразу, может обновиться через несколько минут, может не измениться вовсе (либо через очень долго)
- Бывает, что топик обновляется, но не теми значениями. Вот это вообще вынос мозга. То есть дата обновления свежая, а данные не те, что я вижу во всех других клиентах.

Как пробовал исправить:
1. Обновлял модуль mqtt
2. Пробовал скрипт cycle_mqtt отсюда.
3. Удалял бд mosquitto, подозревая, что где-то retain затисался.
4. Перезагружал сервак естественно)

Дополнительно:
Публикуются сообщения из mjdm отлично.
Не знаю, на сколько это уместно, но при попытке остановить любой сервис получаю ошибку:

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

./scripts/cycle_mqtt.php
1111111111THREAD CLOSED: [exec php -q ./scripts/cycle_mqtt.php --params "a:0:{}" > /dev/null 2>&1]

Backtrace:
#0 /home/vy4eslavik/majordomo/cycle.php(453): registerError('cycle_stop', './scripts/cycle...')
#1 {main}
Других ошибок в логах не замечено. Но может не везде смотрел.

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

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

Сообщение nick7zmail » Ср апр 10, 2019 10:54 am

У цикла mqtt свой лог есть. Там посмотрите... (все логи в x-ray-debug в выпадающем списке сверху).
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
vy4eslavik
Сообщения: 3
Зарегистрирован: Пт окт 19, 2018 3:53 pm
Откуда: Симферополь
Благодарил (а): 3 раза
Поблагодарили: 0

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

Сообщение vy4eslavik » Ср апр 10, 2019 2:20 pm

nick7zmail писал(а):
Ср апр 10, 2019 10:54 am
У цикла mqtt свой лог есть. Там посмотрите... (все логи в x-ray-debug в выпадающем списке сверху).
У меня такого лога почему-то нету. Ни в X-Ray ни в `/cms/debmes` . Отдельного лога для mqtt не вижу.

Я ещё такую штуку заметил. Похоже, что до mqtt Majordomo данные доходят почему-то очень долго, и пока доходят устаревают. От того и другие данные видимо.
Поясню.
- Есть у меня к примеру esp (или что угодно другое) которая пушит сообщения в определённые топики. Она работает, все клиенты видят актуальную инфу, mjdm что-то своё.
- Я отключаю esp, все клиенты перестают получать данные. А mjdm продолжает обновлять данные топика. И даже если я удалю этот топик, он вновь создастся (ибо mqtt подписан на /#) и будет получать какие-то устаревшие данные.
- Так будет происходить какое-то время. Потом обновляться данные перестанут.

То есть получается, что mjdm каким-то образом получает устаревшие данные с ооочень большой задержкой. Прям в несколько минут, примерно. Хотя при этом отправляет отлично и быстро.
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

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

Сообщение nick7zmail » Ср апр 10, 2019 2:56 pm

А цикл то вообще пашет? И нормально, не падает? Странно что лога нет.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
vy4eslavik
Сообщения: 3
Зарегистрирован: Пт окт 19, 2018 3:53 pm
Откуда: Симферополь
Благодарил (а): 3 раза
Поблагодарили: 0

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

Сообщение vy4eslavik » Ср апр 10, 2019 9:47 pm

nick7zmail писал(а):
Ср апр 10, 2019 2:56 pm
А цикл то вообще пашет? И нормально, не падает? Странно что лога нет.
Да, цикл работает, данные в топиках появляются, но не актуальные. Более того, я не могу цикл остановить, как писал здесь. Собственно я любой цикл не могу остановить по схожей ошибке:

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

./scripts/cycle_mqtt.php
1111111111THREAD CLOSED: [exec php -q ./scripts/cycle_mqtt.php --params "a:0:{}" > /dev/null 2>&1]

Backtrace:
#0 /home/vy4eslavik/majordomo/cycle.php(453): registerError('cycle_stop', './scripts/cycle...')
#1 {main}
andrusha7778
Сообщения: 85
Зарегистрирован: Сб авг 12, 2017 11:03 am
Благодарил (а): 15 раз
Поблагодарили: 3 раза

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

Сообщение andrusha7778 » Пт апр 26, 2019 8:06 pm

Господа, кто-нибудь уже решил проблему, описанную ранее (в логе брокера постоянные отвалы MJ клиента по таймауту ?
У меня тоже постоянные отвалы в логе каждые 15 секунд.
olegvolk75
Сообщения: 141
Зарегистрирован: Сб мар 11, 2017 7:03 pm
Благодарил (а): 50 раз
Поблагодарили: 15 раз

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

Сообщение olegvolk75 » Сб май 04, 2019 11:34 am

Люди добрые, помогите советом: на запускается цикл MQTT (пробовал перезапускать в X-RAY, кнопкой в модуле, вручную в консоле просто не запускается безо всяких сообщений). Модуль обновлял, МДМ обновлял, систему обновлял. Сервер перезагружал. Ничего не помогает. Место на диске есть.
Система ARMBIAN 5.73 stable Debian GNU/Linux 9 (stretch) 4.19.25-sunxi на Orange Pi PC Plus.
Весь мозг уже сломал.
Orange Pi PCPlus, Debian Stretch with Armbian Linux 4.19.62-sunxi
AndreyD
Сообщения: 25
Зарегистрирован: Ср фев 20, 2019 7:16 am
Благодарил (а): 6 раз
Поблагодарили: 1 раз

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

Сообщение AndreyD » Пн май 06, 2019 9:53 pm

olegvolk75 писал(а):
Сб май 04, 2019 11:34 am
Модуль обновлял, МДМ обновлял, систему обновлял. Сервер перезагружал. Ничего не помогает. Место на диске есть.
Сам mosquitto установлен и рабочий?
Cubieboard7 + WD Black WD5000LPLX, Debian GNU/Linux 9 (stretch)
olegvolk75
Сообщения: 141
Зарегистрирован: Сб мар 11, 2017 7:03 pm
Благодарил (а): 50 раз
Поблагодарили: 15 раз

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

Сообщение olegvolk75 » Пн май 06, 2019 10:02 pm

Да, установлен и запущен как служба. Все работало уже несколько месяцев.
Orange Pi PCPlus, Debian Stretch with Armbian Linux 4.19.62-sunxi
AndreyD
Сообщения: 25
Зарегистрирован: Ср фев 20, 2019 7:16 am
Благодарил (а): 6 раз
Поблагодарили: 1 раз

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

Сообщение AndreyD » Пн май 06, 2019 10:17 pm

olegvolk75 писал(а):
Пн май 06, 2019 10:02 pm
Да, установлен и запущен как служба. Все работало уже несколько месяцев.
может в логах mosquitto будет что интересное при попытке запуска цикла.

Вот с такими параметрами можно попробовать mosquitto перезапустить, "полазить в МД", а потом лог посмотреть.
СпойлерПоказать
log_type debug
log_type error
log_type warning
log_type notice
log_type information
Это мой конфиг полностью при полном логировании
СпойлерПоказать
# Place your local configuration in /etc/mosquitto/conf.d/
#
# A full description of the configuration file is at
# /usr/share/doc/mosquitto/examples/mosquitto.conf.example

pid_file /var/run/mosquitto.pid

persistence true
persistence_location /var/lib/mosquitto/

log_dest file /var/log/mosquitto/mosquitto.log

log_type debug
log_type error
log_type warning
log_type notice
log_type information

include_dir /etc/mosquitto/conf.d
Cubieboard7 + WD Black WD5000LPLX, Debian GNU/Linux 9 (stretch)
Ответить