Показание датчиков через mqqt в majordomo зависают

Добрый день. Majordomo установлен на WB 6.7.2, к нему подключены счетчики многоканальные и комбинированные датчики все производства WB. В MD установлен модуль интеграции MD и WB из репозитория. В web интерфейсе WB все прекрасно отображается и изменяется, в MD датчики или показывают информацию с опозданием или просто не изменяют ее часами. Подскажите в чем может быть дело ?

Добрый день.
Каким образом Majordomo настроен для работы с брокером WB? Общий/свой?

Настроек режима работы в модуле WirenBoard в Majordomo нет

Я имею в виду - по какой инструкции? Majordomo когда-то запускал, но не на WB.
Вот это:

Или модуль из маркета?
Судя по описанию - в веб-интерфейсе WB значения отображаются корректно и обновляются.

Советую посмотреть в логи mosquitto /var/log/mosquitto/mosquitto.log - на предмет ошибок.

Модуль из маркета
в WB все корректно

Это лог, там такого одинакового 500 кб

608089162: New connection from 127.0.0.1 on port 1883.
1608089162: New client connected from 127.0.0.1 as mosqsub|23406-wirenboar (c1, k60).
1608089165: New connection from 127.0.0.1 on port 1883.
1608089165: New client connected from 127.0.0.1 as mosqpub|23411-wirenboar (c1, k60).
1608089165: Client mosqpub|23411-wirenboar disconnected.
1608089165: Client mosqsub|23406-wirenboar disconnected.
1608089221: New connection from 127.0.0.1 on port 1883.
1608089221: New client connected from 127.0.0.1 as mosqsub|23516-wirenboar (c1, k60).
1608089225: New connection from 127.0.0.1 on port 1883.
1608089225: New client connected from 127.0.0.1 as mosqpub|23521-wirenboar (c1, k60).
1608089225: Client mosqpub|23521-wirenboar disconnected.
1608089225: Client mosqsub|23516-wirenboar disconnected.
1608089281: New connection from 127.0.0.1 on port 1883.
1608089281: New client connected from 127.0.0.1 as mosqsub|23588-wirenboar (c1, k60).
1608089284: New connection from 127.0.0.1 on port 1883.
1608089284: New client connected from 127.0.0.1 as mosqpub|23593-wirenboar (c1, k60).
1608089284: Client mosqsub|23588-wirenboar disconnected.
1608089284: Client mosqpub|23593-wirenboar disconnected.
1608089341: New connection from 127.0.0.1 on port 1883.
1608089341: New client connected from 127.0.0.1 as mosqsub|23659-wirenboar (c1, k60).
1608089344: New connection from 127.0.0.1 on port 1883.
1608089344: New client connected from 127.0.0.1 as mosqpub|23664-wirenboar (c1, k60).
1608089344: Client mosqsub|23659-wirenboar disconnected.
1608089344: Client mosqpub|23664-wirenboar disconnected.
1608089402: New connection from 127.0.0.1 on port 1883.
1608089402: New client connected from 127.0.0.1 as mosqsub|23745-wirenboar (c1, k60).
1608089402: New connection from 127.0.0.1 on port 1883.

Насколько я понимаю в majordomo должен постояяно работать cycle.php. Посмотрите пожалуйста, он запущен (есть ли в процессах по ps ax |grep php)
Каким способом он запускается? Правильно ли скопирован/настроен скрипт?

cycle.php - запущен, все остальные модули и скрипты исполняются.
В ошибках есть:
cycle_scheduler
Backtrace:
#0 /mnt/data/majordomo/cycle.php(369): registerError(‘cycle_hang’, ‘cycle_scheduler’)
#1 {main}

cycle_websockets
Backtrace:
#0 /mnt/data/majordomo/cycle.php(369): registerError(‘cycle_hang’, ‘cycle_websocket…’)
#1 {main}

И вот такая есть
./scripts/cycle_wirenboard.php
11111111THREAD CLOSED: [exec php -q ./scripts/cycle_wirenboard.php --params “a:0:{}” > /dev/null 2>&1]
1
Backtrace:
#0 /mnt/data/majordomo/cycle.php(451): registerError(‘cycle_stop’, ‘./scripts/cycle…’)
#1 {main}

Собственно веб-интерфейс и прочее работать будет, без фонового режима, который как раз и обеспечивает этот скрипт).
нашел упоминания такого:


У вас веб-интерфейсы WB и Majordomo на разных портах или разделены в nginx?

На разных портах, такая вже картина и на raspaberry по mqtt опрашивающие WB

Так, интересно. А чем опрашиваете с другого устройства, с распберри?

Тем же MajorDomo через MQTT и Wirenboard модулей

Для иетереса - можно поставить тот же SprutHub. Но для проверки - воспользоваться mosqitto_sub. Все же думаю что не запущен (падает) скрипт Majordomo, такая картина и будет.

Я тоже думаю что majordomo , потому что падение первое происходит спустя не большое время , а вначале работает хорошо

Темы с подобными симптомами на сайте Majordomo висят, решения пока нет.
Можно подставить костыль, проверяя наличие скрипта периодически, по крону, например и перезапуская.

Если он повис, то весит без признаков жизни, рестарт не помогает совсем. Исходя из накопленных сведений провис появляется если он получает резко большое количество значений, у нас на всех устройствах в цеху сборки все висеть начинает при включении света которое поэтапное, и на графике освещенности сотни две значений в минуту после этого mqqt со стороны MJ умирает.

Рестарт чего? Только скрипта?
Majordomo использут свою базу данных, mysql, как помню. Надо все компоненты проверить

Даже всего устройства. Проблему решил самостоятельно уменьшив частоту опроса. Как уже описывал MD при поступлении большого количества данных за ед времени не справляется и после начинают поступать данные с сильно большим опозданием. Если опрос устройств изначально в config WB интервал поставить более 1 секунды то все работает прекрасно.

1 лайк