А теперь подробно. Вводные данные:
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"
- В 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}
Буду благодарен за любую помощь. Даже не знаю в какую сторону рыпаться.