fandaymon писал(а): Ср июн 26, 2019 4:38 pm
...
Возможно в этом дело - скорее всего функция callAPI недавно появилась и что-то там отрабатывает не так... Можно попробовать закоментить
...
Да, проблема именно в этой функции. Тоже закоментировал и все заработало.
Нужно чтобы Сергей поправил, иначе многие наткнутся на этот баг при обновлении!!!
Кстати, заметил, что также перестали отрабатывать методы объектов, к которым привязано устройство MQTT. То есть значения из топика в свойство объекта записывает, но метод объекта не вызывает. У меня в методах было округление показания температуры и влажности.
Причем если дернуть метод через ссылку test (например, http://192.168.1.160:80/objects/?object ... humChanged&) на странице настройки метода, то он отработает нормально.
Кто-нибудь с таким сталкивался? Из-за чего это может быть?
if (function_exists('callAPI')) {
callAPI('/api/module/mqtt','GET',array('topic'=>$topic,'msg'=>$msg));
} else {
global $mqtt;
$mqtt->processMessage($topic, $msg);
}
Возможно в этом дело - скорее всего функция callAPI недавно появилась и что-то там отрабатывает не так... Можно попробовать закоментить вызов этой функции и перезапустить цикл MQTT
directman66 писал(а): Пт июн 28, 2019 8:09 am
Зачем? Эта функция передает входящие параметры телу модуля. Закоментив ее не будут приходить входящие сообщения.
Затем что старый способ передавать сообщения модулю это $mqtt->processMessage($topic, $msg);
directman66 писал(а): Пт июн 28, 2019 8:09 am
Зачем? Эта функция передает входящие параметры телу модуля. Закоментив ее не будут приходить входящие сообщения.
Затем что старый способ передавать сообщения модулю это $mqtt->processMessage($topic, $msg);
directman66 писал(а): Пт июн 28, 2019 8:09 am
Зачем? Эта функция передает входящие параметры телу модуля. Закоментив ее не будут приходить входящие сообщения.
Затем что старый способ передавать сообщения модулю это $mqtt->processMessage($topic, $msg);
Это способ теперь заменен на api
Я догадался Но если новый не работает, то никогда не помешает попробовать вернуться к старому - мало ли, модуль, например, обновлен, а остальная система нет...
nick7zmail писал(а): Пт июн 28, 2019 8:38 am
Не надо комментить. Попробуйте поправить
/api/module/mqtt на /api.php/module/mqtt
у меня сработало в похожем случае.
Проверил. Раскомментировал и заменил /api/module/mqtt на /api.php/module/mqtt - не помогло. После перезагрузки модуля, данные снова перестали попадать в MQTT.
Пока вернул вариант с закомментированными строками.
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) (это при условии, что новый метод закомментирован и оставлен только старый).
Makcum писал(а): Пт июн 28, 2019 11:36 pm Stor, а у Вас работают привязанные методы к объекту? У меня например свойства объекта заполняются данными из MQTT, но методы не отрабатывают (Объект Switch, событие switch) (это при условии, что новый метод закомментирован и оставлен только старый).
Нет, не работают. Об этом я написал ещё вчера (27 июня). У меня не отрабатывают методы округления данных температуры и влажности. Причем не отрабатывают методы ни родителя, ни его объектов. Срабатывает только прямой вызов метода через http ,вызов.