[Модуль] MQTT (mqtt)
Модератор: immortal
- AE_
- Сообщения: 8
- Зарегистрирован: Чт окт 01, 2020 11:35 am
- Откуда: Msk
- Благодарил (а): 1 раз
- Поблагодарили: 4 раза
- Контактная информация:
Re: [Модуль] MQTT (mqtt)
Даже не знаю. Либо вопрос (потому что дурак и не нашел как), либо мысль "на подумать" или попинать ногами.
Методу-обработчику топика в качестве параметров доступны старое и новое значения топика. Но недоступен, собственно сам топик.
В результате я не нашел простого способа написать "универсальный" обработчик для нескольких однотипных модулей в составе комплексного MQTT устройства. Понятно, что workaround'ы придумать всегда можно. Скажем, отдельный метод на каждый топик в группе (+рефакторинг), или даже свой объект на каждый подмодуль - но почему бы не дать цвести всем цветам?
Тем более что добавить $params['TOPIC'] из коробки кажется не такой уж сложной задачей
Методу-обработчику топика в качестве параметров доступны старое и новое значения топика. Но недоступен, собственно сам топик.
В результате я не нашел простого способа написать "универсальный" обработчик для нескольких однотипных модулей в составе комплексного MQTT устройства. Понятно, что workaround'ы придумать всегда можно. Скажем, отдельный метод на каждый топик в группе (+рефакторинг), или даже свой объект на каждый подмодуль - но почему бы не дать цвести всем цветам?
Тем более что добавить $params['TOPIC'] из коробки кажется не такой уж сложной задачей
- xor
- Сообщения: 2039
- Зарегистрирован: Сб ноя 22, 2014 8:45 pm
- Благодарил (а): 286 раз
- Поблагодарили: 629 раз
Re: [Модуль] MQTT (mqtt)
добавить передачу топика методу ещё одним параметром?AE_ писал(а): ↑Пн окт 05, 2020 11:58 pmДаже не знаю. Либо вопрос (потому что дурак и не нашел как), либо мысль "на подумать" или попинать ногами.
Методу-обработчику топика в качестве параметров доступны старое и новое значения топика. Но недоступен, собственно сам топик.
В результате я не нашел простого способа написать "универсальный" обработчик для нескольких однотипных модулей в составе комплексного MQTT устройства. Понятно, что workaround'ы придумать всегда можно. Скажем, отдельный метод на каждый топик в группе (+рефакторинг), или даже свой объект на каждый подмодуль - но почему бы не дать цвести всем цветам?
Тем более что добавить $params['TOPIC'] из коробки кажется не такой уж сложной задачей
И автор тут редко бывает( Лучше в коннекте в разделе Идеи это предлагать или в основном чате телеги
win10 connect https://connect.smartliving.ru/profile/303
- Divan
- Сообщения: 859
- Зарегистрирован: Пн июл 08, 2019 5:04 pm
- Благодарил (а): 117 раз
- Поблагодарили: 280 раз
Re: [Модуль] MQTT (mqtt)
Убираем символ #.
Что делать, если в топиках перед цветовым значением стоит знак # и как его убрать, чтобы было цветовое значение в формате HEX без #?
Так выглядит топик цветового значения в формате HEX, где перед значением стоит символ #
В самом свойстве, где нужно убрать символ #, включаем проверку значений и выбираем расширенный (кодом)
и вставляем такой код
В результате будет цветовое значение без символа #
Что делать, если в топиках перед цветовым значением стоит знак # и как его убрать, чтобы было цветовое значение в формате HEX без #?
Так выглядит топик цветового значения в формате HEX, где перед значением стоит символ #
СпойлерПоказать
В самом свойстве, где нужно убрать символ #, включаем проверку значений и выбираем расширенный (кодом)
СпойлерПоказать
Код: Выделить всё
$value = str_replace('#','',$value);
СпойлерПоказать
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
- KVN
- Сообщения: 89
- Зарегистрирован: Ср ноя 14, 2018 12:27 pm
- Откуда: UA
- Благодарил (а): 25 раз
- Поблагодарили: 3 раза
Re: [Модуль] MQTT (mqtt)
Привет.
Подскажите как удалить ненужные устройства из MQTT списка?
Удаляю через "удалить не подключенные устройства" и через phpmyadmin, а через некоторое время они опять появляются в списке.
Подскажите как удалить ненужные устройства из MQTT списка?
Удаляю через "удалить не подключенные устройства" и через phpmyadmin, а через некоторое время они опять появляются в списке.
- AE_
- Сообщения: 8
- Зарегистрирован: Чт окт 01, 2020 11:35 am
- Откуда: Msk
- Благодарил (а): 1 раз
- Поблагодарили: 4 раза
- Контактная информация:
Re: [Модуль] MQTT (mqtt)
Топики, удаленные в MajorDomo, могут появляться только из-за того, что соответствующие сообщения были снова посланы брокером MQTT. Возможны 2 причины:
- Устройство все еще включено и шлет сообщения. Выключить устройство
- При отправке топиков был выставлен флажок retained, в результате чего они "залипли" на MQTT брокере и он перепосылает их при каждом новом подключении кликента, того же MD. Убивать такие топики нужно непосредственно на брокере. Если брокер настроен так чтобы не сохранять состояние в бд - достаточно его перезапустить. Иначе нужно либо полностью чистить базу данных (файл mosquitto.db), либо удалять retained топики в MQTT клиенте, который это умеет делать. Например MQTT Explorer, или
mosquitto_pub -h <host> -t <topic> -n -r -d
- Kvantos
- Сообщения: 295
- Зарегистрирован: Вт окт 31, 2017 1:05 pm
- Благодарил (а): 26 раз
- Поблагодарили: 49 раз
Re: [Модуль] MQTT (mqtt)
Модуль mqtt MDM тоже умеет удалять retained топики, достаточно в настройках соотв. топика:
1.Retain "Да"
2.Установить чекбокс "установить:" и в поле "значение" - пусто
3.Нажать "Сохранить"
Просто смена Retain "Да"->"Нет" не поможет
1.Retain "Да"
2.Установить чекбокс "установить:" и в поле "значение" - пусто
3.Нажать "Сохранить"
Просто смена Retain "Да"->"Нет" не поможет
MDM живет на 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 GNU/Linux
- KVN
- Сообщения: 89
- Зарегистрирован: Ср ноя 14, 2018 12:27 pm
- Откуда: UA
- Благодарил (а): 25 раз
- Поблагодарили: 3 раза
Re: [Модуль] MQTT (mqtt)
Устройства точно нет, оно уже перепрошито 2 раза на другие прошивки (espurna - родной соноф - tasmota(сейчас))Устройство все еще включено и шлет сообщения. Выключить устройство
Вообще никогда не пользовался этим и даже не знал для чего оноПри отправке топиков был выставлен флажок retained
Устройства появляются примерно через 6 часов после удаления
- andrey040670
- Сообщения: 459
- Зарегистрирован: Пн июл 31, 2017 10:00 pm
- Благодарил (а): 161 раз
- Поблагодарили: 85 раз
Re: [Модуль] MQTT (mqtt)
Однако сделайте так как уже написали выше и всё благополучно удалится.
MJD alfa: Khadas VIM1 Ubuntu 18.04.2 LTS bionic Linux 4.9.40 #2 SMP PREEMPT Tue Oct 30 15:47:54 CST 2018 aarch64 GNU/Linux
MJD alfa: Rpi 3B Debian 11 (bullseye) Linux raspberrypi 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023 aarch64 GNU/Linux
MJD alfa: Rpi 3B Debian 11 (bullseye) Linux raspberrypi 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023 aarch64 GNU/Linux
-
- Сообщения: 39
- Зарегистрирован: Сб мар 17, 2018 6:37 am
- Благодарил (а): 10 раз
- Поблагодарили: 2 раза
Re: [Модуль] MQTT (mqtt)
в прошлый раз помог откат файла 3rdparty/phpmqtt/phpMQTT.phpzoz писал(а): ↑Пт окт 02, 2020 10:12 pmтакая же история, cycle_mqtt не запускается.CAHbKA писал(а): ↑Ср сен 02, 2020 8:39 amа у меня с обновлением ядра mjd вообще mqtt модуль отказался работать.
https://connect.smartliving.ru/ideas/839.html
москито работает.
куда копать?
сегодня очередное обновление, опять отпал mqtt. попробую откатить.
- Рейтинг: 1.16%
Pi3 + MJD