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

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

Модератор: immortal

Stor
Сообщения: 133
Зарегистрирован: Ср окт 31, 2018 11:45 pm
Благодарил (а): 8 раз
Поблагодарили: 4 раза

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

Сообщение Stor » Ср июн 26, 2019 9:15 pm

fandaymon писал(а):
Ср июн 26, 2019 4:38 pm
...
Возможно в этом дело - скорее всего функция callAPI недавно появилась и что-то там отрабатывает не так... Можно попробовать закоментить
...
Да, проблема именно в этой функции. Тоже закоментировал и все заработало.

Нужно чтобы Сергей поправил, иначе многие наткнутся на этот баг при обновлении!!!
За это сообщение автора Stor поблагодарил:
TrDA (Сб июл 20, 2019 10:08 pm)
Рейтинг: 1.16%
Stor
Сообщения: 133
Зарегистрирован: Ср окт 31, 2018 11:45 pm
Благодарил (а): 8 раз
Поблагодарили: 4 раза

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

Сообщение Stor » Чт июн 27, 2019 10:59 pm

Кстати, заметил, что также перестали отрабатывать методы объектов, к которым привязано устройство MQTT. То есть значения из топика в свойство объекта записывает, но метод объекта не вызывает. У меня в методах было округление показания температуры и влажности.
Причем если дернуть метод через ссылку test (например, http://192.168.1.160:80/objects/?object ... humChanged&) на странице настройки метода, то он отработает нормально.
Кто-нибудь с таким сталкивался? Из-за чего это может быть?
directman66
Сообщения: 2800
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 695 раз
Контактная информация:

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

Сообщение directman66 » Пт июн 28, 2019 8:09 am

fandaymon писал(а):
Ср июн 26, 2019 4:38 pm
Makcum писал(а):
Ср июн 26, 2019 4:33 pm
fandaymon, спасибо за попытку помочь.
Посмотрел по коду цикла - там есть такой if

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

    if (function_exists('callAPI')) {
        callAPI('/api/module/mqtt','GET',array('topic'=>$topic,'msg'=>$msg));
    } else {
        global $mqtt;
        $mqtt->processMessage($topic, $msg);
    }
Возможно в этом дело - скорее всего функция callAPI недавно появилась и что-то там отрабатывает не так... Можно попробовать закоментить вызов этой функции и перезапустить цикл MQTT

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

  //  if (function_exists('callAPI')) {
        //callAPI('/api/module/mqtt','GET',array('topic'=>$topic,'msg'=>$msg));
    //} else {
        global $mqtt;
        $mqtt->processMessage($topic, $msg);
    //}

Зачем? Эта функция передает входящие параметры телу модуля. Закоментив ее не будут приходить входящие сообщения.
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

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

Сообщение nick7zmail » Пт июн 28, 2019 8:38 am

Не надо комментить. Попробуйте поправить
/api/module/mqtt на /api.php/module/mqtt
у меня сработало в похожем случае.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
fandaymon
Сообщения: 1570
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 40 раз
Поблагодарили: 578 раз

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

Сообщение fandaymon » Пт июн 28, 2019 12:50 pm

directman66 писал(а):
Пт июн 28, 2019 8:09 am

Зачем? Эта функция передает входящие параметры телу модуля. Закоментив ее не будут приходить входящие сообщения.
Затем что старый способ передавать сообщения модулю это $mqtt->processMessage($topic, $msg);
directman66
Сообщения: 2800
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 695 раз
Контактная информация:

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

Сообщение directman66 » Пт июн 28, 2019 12:52 pm

fandaymon писал(а):
Пт июн 28, 2019 12:50 pm
directman66 писал(а):
Пт июн 28, 2019 8:09 am

Зачем? Эта функция передает входящие параметры телу модуля. Закоментив ее не будут приходить входящие сообщения.
Затем что старый способ передавать сообщения модулю это $mqtt->processMessage($topic, $msg);
Это способ теперь заменен на api
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
fandaymon
Сообщения: 1570
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 40 раз
Поблагодарили: 578 раз

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

Сообщение fandaymon » Пт июн 28, 2019 12:57 pm

directman66 писал(а):
Пт июн 28, 2019 12:52 pm
fandaymon писал(а):
Пт июн 28, 2019 12:50 pm
directman66 писал(а):
Пт июн 28, 2019 8:09 am

Зачем? Эта функция передает входящие параметры телу модуля. Закоментив ее не будут приходить входящие сообщения.
Затем что старый способ передавать сообщения модулю это $mqtt->processMessage($topic, $msg);
Это способ теперь заменен на api
Я догадался 8-) Но если новый не работает, то никогда не помешает попробовать вернуться к старому - мало ли, модуль, например, обновлен, а остальная система нет...
Stor
Сообщения: 133
Зарегистрирован: Ср окт 31, 2018 11:45 pm
Благодарил (а): 8 раз
Поблагодарили: 4 раза

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

Сообщение Stor » Пт июн 28, 2019 10:51 pm

nick7zmail писал(а):
Пт июн 28, 2019 8:38 am
Не надо комментить. Попробуйте поправить
/api/module/mqtt на /api.php/module/mqtt
у меня сработало в похожем случае.
Проверил. Раскомментировал и заменил /api/module/mqtt на /api.php/module/mqtt - не помогло. После перезагрузки модуля, данные снова перестали попадать в MQTT.

Пока вернул вариант с закомментированными строками.
Makcum
Сообщения: 10
Зарегистрирован: Чт июл 21, 2016 1:39 am
Благодарил (а): 2 раза
Поблагодарили: 0

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

Сообщение Makcum » Пт июн 28, 2019 11:36 pm

Stor писал(а):
Пт июн 28, 2019 10:51 pm
nick7zmail писал(а):
Пт июн 28, 2019 8:38 am
Не надо комментить. Попробуйте поправить
/api/module/mqtt на /api.php/module/mqtt
у меня сработало в похожем случае.
Проверил. Раскомментировал и заменил /api/module/mqtt на /api.php/module/mqtt - не помогло. После перезагрузки модуля, данные снова перестали попадать в MQTT.

Пока вернул вариант с закомментированными строками.
Аналогично.
Stor, а у Вас работают привязанные методы к объекту? У меня например свойства объекта заполняются данными из MQTT, но методы не отрабатывают (Объект Switch, событие switch) (это при условии, что новый метод закомментирован и оставлен только старый).
Stor
Сообщения: 133
Зарегистрирован: Ср окт 31, 2018 11:45 pm
Благодарил (а): 8 раз
Поблагодарили: 4 раза

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

Сообщение Stor » Пт июн 28, 2019 11:43 pm

Makcum писал(а):
Пт июн 28, 2019 11:36 pm

Stor, а у Вас работают привязанные методы к объекту? У меня например свойства объекта заполняются данными из MQTT, но методы не отрабатывают (Объект Switch, событие switch) (это при условии, что новый метод закомментирован и оставлен только старый).
Нет, не работают. Об этом я написал ещё вчера (27 июня). У меня не отрабатывают методы округления данных температуры и влажности. Причем не отрабатывают методы ни родителя, ни его объектов. Срабатывает только прямой вызов метода через http ,вызов.
Ответить