Разработка дополнительных модулей, подключение различных приложений.
Модератор: immortal
-
Stor
- Сообщения: 133
- Зарегистрирован: Ср окт 31, 2018 11:45 pm
-
Благодарил (а):
8 раз
-
Поблагодарили:
4 раза
Сообщение
Stor » Ср июн 26, 2019 9:15 pm
fandaymon писал(а): ↑Ср июн 26, 2019 4:38 pm
...
Возможно в этом дело - скорее всего функция callAPI недавно появилась и что-то там отрабатывает не так... Можно попробовать закоментить
...
Да, проблема именно в этой функции. Тоже закоментировал и все заработало.
Нужно чтобы Сергей поправил, иначе многие наткнутся на этот баг при обновлении!!!
- За это сообщение автора Stor поблагодарил:
- TrDA (Сб июл 20, 2019 10:08 pm)
-
Stor
- Сообщения: 133
- Зарегистрирован: Ср окт 31, 2018 11:45 pm
-
Благодарил (а):
8 раз
-
Поблагодарили:
4 раза
Сообщение
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 раз
-
Контактная информация:
Сообщение
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);
//}
Зачем? Эта функция передает входящие параметры телу модуля. Закоментив ее не будут приходить входящие сообщения.
-
nick7zmail
- Сообщения: 7573
- Зарегистрирован: Пн окт 28, 2013 8:14 am
- Откуда: Екатеринбург
-
Благодарил (а):
121 раз
-
Поблагодарили:
2010 раз
Сообщение
nick7zmail » Пт июн 28, 2019 8:38 am
Не надо комментить. Попробуйте поправить
/api/module/mqtt на /api.php/module/mqtt
у меня сработало в похожем случае.
-
fandaymon
- Сообщения: 1570
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
-
Благодарил (а):
40 раз
-
Поблагодарили:
578 раз
Сообщение
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 раз
-
Контактная информация:
Сообщение
directman66 » Пт июн 28, 2019 12:52 pm
fandaymon писал(а): ↑Пт июн 28, 2019 12:50 pm
directman66 писал(а): ↑Пт июн 28, 2019 8:09 am
Зачем? Эта функция передает входящие параметры телу модуля. Закоментив ее не будут приходить входящие сообщения.
Затем что старый способ передавать сообщения модулю это $mqtt->processMessage($topic, $msg);
Это способ теперь заменен на api
-
fandaymon
- Сообщения: 1570
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
-
Благодарил (а):
40 раз
-
Поблагодарили:
578 раз
Сообщение
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
Я догадался

Но если новый не работает, то никогда не помешает попробовать вернуться к старому - мало ли, модуль, например, обновлен, а остальная система нет...
-
Stor
- Сообщения: 133
- Зарегистрирован: Ср окт 31, 2018 11:45 pm
-
Благодарил (а):
8 раз
-
Поблагодарили:
4 раза
Сообщение
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
Сообщение
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 раза
Сообщение
Stor » Пт июн 28, 2019 11:43 pm
Makcum писал(а): ↑Пт июн 28, 2019 11:36 pm
Stor, а у Вас работают привязанные методы к объекту? У меня например свойства объекта заполняются данными из MQTT, но методы не отрабатывают (Объект Switch, событие switch) (это при условии, что новый метод закомментирован и оставлен только старый).
Нет, не работают. Об этом я написал ещё вчера (27 июня). У меня не отрабатывают методы округления данных температуры и влажности. Причем не отрабатывают методы ни родителя, ни его объектов. Срабатывает только прямой вызов метода через http ,вызов.