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

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

Добавлено: Пт фев 21, 2020 4:43 pm
prmres
convix_maximus писал(а): Чт фев 20, 2020 10:59 pm Здравствуйте ребята. Помогите подключить CloudMqtt к мажору. Есть метеостанция, она отправляет в облоко данные, но мажором их не вытянуть. Порты менял, юзеров прописывал для получения топиков, лишь только танцев с бубном не было. Год назад пробовал мажор ради интереса, все получилось, настроилось. Теперь я созрел для организации умного дома, и вот те на, уперся в самое простое. Подскажите плиз.
замыкать умный дом на облачный сервис не самое хорошее решение
отключился по какой-либо причине интернет и что? умный дом накрылся?
поднимайте локально (в доме) свой MQTT-сервер, а если нужно иметь доступ из интернетов к топикам - тогда можно настроить мост на облачный сервис
Установка MQTT-сервера Mosquitto на Ubuntu
Мост к облачному брокеру cloudmqtt.com

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

Добавлено: Сб фев 22, 2020 8:04 am
V.A.S.t
Кто-нибудь разобрался с постоянными реконнектами? Заглянул в лог mosquitto и ужаснулся. Вроде данную тему обсуждали тут, но решения я так и не увидел...
UPD: немного поразбирался с MQTT и выяснил, что скрипт работает только на прием сообщений, а при публикации создается новое соединение и сразу закрывается. Отсюда и постоянные дисконнекты. То есть логика построения модуля такая. А вот как это исправить - непонятно...

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

Добавлено: Сб фев 22, 2020 10:57 am
convix_maximus
nick7zmail писал(а): Пт фев 21, 2020 6:59 am Попробуйте это решение viewtopic.php?p=112717#p112717
Если сканает - у вас не совсем правильно настроен веб сервер. Можно рыться в конфигах, можно пока так оставить, но до ближайшего обновления. Потом перезапишется, и придется повторить.
Обратил внимание что в X-ray/Services/cycle_mqtt не активен. В статусе Live нет ничего. Возможно из-за этого? Строки заменил, модуль перезапустил.

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

Добавлено: Вт фев 25, 2020 6:47 am
nick7zmail
V.A.S.t писал(а): Сб фев 22, 2020 8:04 am Кто-нибудь разобрался с постоянными реконнектами? Заглянул в лог mosquitto и ужаснулся. Вроде данную тему обсуждали тут, но решения я так и не увидел...
UPD: немного поразбирался с MQTT и выяснил, что скрипт работает только на прием сообщений, а при публикации создается новое соединение и сразу закрывается. Отсюда и постоянные дисконнекты. То есть логика построения модуля такая. А вот как это исправить - непонятно...
Я про это давно твержу)) На что мне говорят что это нормально.
Для идеологически правильной работы можно сделать очередь, и засылать из цикла...но это вызовет какие-никакие задержки. Либо писать не на PHP =D php не умеет кидать объекты между потоками.

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

Добавлено: Вт фев 25, 2020 6:52 am
directman66
Да я уже натестировался. Подключение для публикации происходит за доли секунд, нет никакого смысла менять текущую логику. А вот подписка, отправка параметров через api и обработка внутренней логики - около 2 секунд. Тут есть над чем поработать. Причем цикл все время подключен к серверу и не отключается.

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

Добавлено: Вт фев 25, 2020 12:08 pm
skysilver
nick7zmail писал(а): Вт фев 25, 2020 6:47 am Либо писать не на PHP =D php не умеет кидать объекты между потоками.
Умеет, но будет не кросс-платформенно - винда в пролёте.
nick7zmail писал(а): Вт фев 25, 2020 6:47 am Для идеологически правильной работы можно сделать очередь, и засылать из цикла...но это вызовет какие-никакие задержки.
Через сокеты в неблокирующем режиме можно сделать - тогда не будет задержек и очередь через поллинг базы не нужна будет. У меня в модуле LG webOS так сделано.

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

Добавлено: Пт мар 13, 2020 12:18 pm
convix_maximus
prmres писал(а): Пт фев 21, 2020 4:43 pm
convix_maximus писал(а): Чт фев 20, 2020 10:59 pm Здравствуйте ребята. Помогите подключить CloudMqtt к мажору. Есть метеостанция, она отправляет в облоко данные, но мажором их не вытянуть. Порты менял, юзеров прописывал для получения топиков, лишь только танцев с бубном не было. Год назад пробовал мажор ради интереса, все получилось, настроилось. Теперь я созрел для организации умного дома, и вот те на, уперся в самое простое. Подскажите плиз.

замыкать умный дом на облачный сервис не самое хорошее решение
отключился по какой-либо причине интернет и что? умный дом накрылся?
поднимайте локально (в доме) свой MQTT-сервер, а если нужно иметь доступ из интернетов к топикам - тогда можно настроить мост на облачный сервис
Установка MQTT-сервера Mosquitto на Ubuntu
Мост к облачному брокеру cloudmqtt.com
Что-то не всё команды работают (( Так понимаю нужно установить Ubuntu и после чего на него устанавливать доп. ПО? Помогите плиз советом.

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

Добавлено: Чт апр 09, 2020 6:43 am
yii
Идея, может будет реализована? :)

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

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

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

Добавлено: Чт апр 09, 2020 10:35 pm
xor
yii писал(а): Чт апр 09, 2020 6:43 am Идея, может будет реализована? :)

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

Может сделать что бы нажатии кнопки удалить, сначала бы в топик посылалась мессага с флагом ретейн и пустым пайлоадом, а уже потом удалять топик? Топикам без ретейна хуже не станет, а топики с ретейном будут удаляться одной кнопкой...
пишите свой скрипт, по всем топикам вызывая функцию
function mqttPublish($topic, $value, $qos = 0, $retain = 0):

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

include_once(DIR_MODULES . 'mqtt/mqtt.class.php');
$mqtt = new mqtt();
$rezult = $mqtt->mqttPublish($topic, 0,  0, 1);

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

Добавлено: Сб апр 11, 2020 9:03 pm
Stor
Всем привет.
Сейчас проверил логи апача, обнаружил много ошибок на подобии:

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

[Sat Apr 11 07:27:26.675471 2020] [:error] [pid 26617] [client 127.0.0.1:57156] PHP Warning:  Invalid argument supplied for foreach() in /var/www/modules/mqtt/mqtt.class.php on line 289
Это норм или нет?