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

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

Модератор: immortal

Аватара пользователя
nightwind
Сообщения: 333
Зарегистрирован: Вс июн 26, 2016 4:42 pm
Откуда: Барановичи
Благодарил (а): 28 раз
Поблагодарили: 52 раза
Контактная информация:

Re: Предложения по доработке модуля MQTT

Сообщение nightwind » Пт окт 12, 2018 9:18 am

nightwind писал(а):
Вс окт 07, 2018 3:39 pm
парни, в модуле есть такой replaсelist. так вот сяоми датчик движения шлет такую шнягу - [true,false,false,false,false,false,false,false] - это типа статус =1. как при помощи этого реплэйслиста его конвертировать? как в описалове - не работает. 1=[true,false,false,false,false,false,false,false] ничего не меняет, [true,false,false,false,false,false,false,false]=1 тоже.
никто не знает? так я и не разобрался с этой конвертацией
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Предложения по доработке модуля MQTT

Сообщение nick7zmail » Пт окт 12, 2018 9:25 am

Вопрос, если честно, нифига не понятен.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
nightwind
Сообщения: 333
Зарегистрирован: Вс июн 26, 2016 4:42 pm
Откуда: Барановичи
Благодарил (а): 28 раз
Поблагодарили: 52 раза
Контактная информация:

Re: Предложения по доработке модуля MQTT

Сообщение nightwind » Пт окт 12, 2018 11:53 am

nick7zmail писал(а):
Пт окт 12, 2018 9:25 am
Вопрос, если честно, нифига не понятен.
в модуле mqtt, там где привязывается свойство, есть

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

Список авто-замены
Вы можете использовать список авто-замены для автоматического преобразования приходящих/отправляемых значений. Например, вы можете задать следующий список: OFF=0, ON=1 в таком случае, если придёт значение "OFF", то в систему оно попадёт как "0" и, аналогично, если система захочет установить значение "1", то устройству будет отправлено значение "ON"
так вот мне надо заменять вот это

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

 [true,false,false,false,false,false,false,false]
на 1. [true,false,false,false,false,false,false,false] = 1 не работает.
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Предложения по доработке модуля MQTT

Сообщение nick7zmail » Пт окт 12, 2018 12:10 pm

Аа...ничоси...даже не знал о таком функционале. Не пользовался тем более - тонкостей не подскажу таких.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
Dmitry
Сообщения: 15
Зарегистрирован: Вс окт 30, 2016 2:05 pm
Откуда: Севастополь
Благодарил (а): 4 раза
Поблагодарили: 0

Re: Предложения по доработке модуля MQTT

Сообщение Dmitry » Вт окт 23, 2018 10:48 pm

Подскажите пожалуйста, при сохранении настроек MQTT после назначения свойства связанному объекту
выходит ошибка:
Fatal error: Call to undefined function gr() in C:\_majordomo\htdocs\modules\mqtt\mqtt_edit.inc.php on line 46
Как ее можно побороть?
Вложения
Untitled-1.jpg
Untitled-1.jpg (82.1 КБ) 3427 просмотров
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

Re: Предложения по доработке модуля MQTT

Сообщение skysilver » Вт окт 23, 2018 10:54 pm

Dmitry писал(а):
Вт окт 23, 2018 10:48 pm
Как ее можно побороть?
Обновить МДМ. У тебя очень древняя версия.
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Аватара пользователя
Dmitry
Сообщения: 15
Зарегистрирован: Вс окт 30, 2016 2:05 pm
Откуда: Севастополь
Благодарил (а): 4 раза
Поблагодарили: 0

Re: Предложения по доработке модуля MQTT

Сообщение Dmitry » Вт окт 23, 2018 11:16 pm

Да, странно! Вроде система постоянно обновлялась. Скачал последнюю версию, установил поверх имеющейся и все заработало. Спасибо!
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

Re: Предложения по доработке модуля MQTT

Сообщение skysilver » Вт окт 23, 2018 11:21 pm

Dmitry писал(а):
Вт окт 23, 2018 11:16 pm
Да, странно! Вроде система постоянно обновлялась. Скачал последнюю версию, установил поверх имеющейся и все заработало. Спасибо!
У тебя поди еще и PHP 5ой версии? ) Которая на винде с определенного момента не может качать с гитхаба обновления.
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Аватара пользователя
Dmitry
Сообщения: 15
Зарегистрирован: Вс окт 30, 2016 2:05 pm
Откуда: Севастополь
Благодарил (а): 4 раза
Поблагодарили: 0

Re: Предложения по доработке модуля MQTT

Сообщение Dmitry » Вт окт 23, 2018 11:28 pm

Все возможно :(
Аватара пользователя
hc2hunter
Сообщения: 507
Зарегистрирован: Сб дек 02, 2017 10:45 am
Откуда: RUS
Благодарил (а): 228 раз
Поблагодарили: 348 раз

Re: Предложения по доработке модуля MQTT

Сообщение hc2hunter » Чт окт 25, 2018 9:42 pm

Слушайте, у кого такое было? Замучился искать причину...
Уже и систему обновил, и модуль MQTT обновлялся дважды, пока борюсь с этой проблемой...

В общем, в устройствах есть такой метод setUpdatedText, который пишет когда устройство последний раз откликалось. Например "30 сек. назад" или "5 мин. назад" и т.п. Если устройство не откликалось очень-очень давно, он начинает писать дату и время последнего отклика.
В принципе все удобно.
Метод этот вздергивается при изменении свойства updated (висит сторож на метод setUpdatedText).
Разумеется, логично привязать свойство updated на что-то похожее при общении с устройством по MQTT. Приехали данные - кинули таймштамп в updated, дальше всё это само поехало и в итоге через таймеры ослеживает активность устройства.
Все красиво. Но...
...почему-то даже если устройство молчит и никакие данные по MQTT не кидает (это легко отследить подписавшись на нужный топик в брокере), то сам модуль MQTT вздергивает старые данные, как бы обновляя их. В брокер он их не отсылает, просто обновляет им таймштамп. Как следствие вздергиваются перевязанные свойства устройств и разумеется срабатывают методы.
То есть девайс, допустим, давно мёртв, но модуль MQTT все-равно "освежает" его последние данные, и MjDM думает что устройство живо. И это неудобно.

Вот. Надеюсь, понятно объяснил.
Упарился искать причину такого поведения MQTT-модуля... :? Вдруг кто сталкивался...
Ответить