Страница 73 из 97

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

Добавлено: Пн окт 05, 2020 11:58 pm
AE_
Даже не знаю. Либо вопрос (потому что дурак и не нашел как), либо мысль "на подумать" или попинать ногами.

Методу-обработчику топика в качестве параметров доступны старое и новое значения топика. Но недоступен, собственно сам топик.
В результате я не нашел простого способа написать "универсальный" обработчик для нескольких однотипных модулей в составе комплексного MQTT устройства. Понятно, что workaround'ы придумать всегда можно. Скажем, отдельный метод на каждый топик в группе (+рефакторинг), или даже свой объект на каждый подмодуль - но почему бы не дать цвести всем цветам? :)

Тем более что добавить $params['TOPIC'] из коробки кажется не такой уж сложной задачей

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

Добавлено: Сб окт 10, 2020 1:43 am
xor
AE_ писал(а): Пн окт 05, 2020 11:58 pm Даже не знаю. Либо вопрос (потому что дурак и не нашел как), либо мысль "на подумать" или попинать ногами.

Методу-обработчику топика в качестве параметров доступны старое и новое значения топика. Но недоступен, собственно сам топик.
В результате я не нашел простого способа написать "универсальный" обработчик для нескольких однотипных модулей в составе комплексного MQTT устройства. Понятно, что workaround'ы придумать всегда можно. Скажем, отдельный метод на каждый топик в группе (+рефакторинг), или даже свой объект на каждый подмодуль - но почему бы не дать цвести всем цветам? :)

Тем более что добавить $params['TOPIC'] из коробки кажется не такой уж сложной задачей
добавить передачу топика методу ещё одним параметром?
И автор тут редко бывает( Лучше в коннекте в разделе Идеи это предлагать или в основном чате телеги

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

Добавлено: Вс окт 25, 2020 1:44 pm
Divan
Убираем символ #.

Что делать, если в топиках перед цветовым значением стоит знак # и как его убрать, чтобы было цветовое значение в формате HEX без #?

Так выглядит топик цветового значения в формате HEX, где перед значением стоит символ #
SPOILERSPOILER_SHOW
Получаем такое значение.jpg
Получаем такое значение.jpg (29.74 КБ) 4479 просмотров

В самом свойстве, где нужно убрать символ #, включаем проверку значений и выбираем расширенный (кодом)
SPOILERSPOILER_SHOW
Убираем символ # - 1.jpg
Убираем символ # - 1.jpg (82.33 КБ) 4479 просмотров
и вставляем такой код

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

$value = str_replace('#','',$value);
В результате будет цветовое значение без символа #
SPOILERSPOILER_SHOW
image_2020-10-25_133916.png
image_2020-10-25_133916.png (8.53 КБ) 4479 просмотров

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

Добавлено: Ср окт 28, 2020 9:38 am
KVN
Привет.
Подскажите как удалить ненужные устройства из MQTT списка?
Удаляю через "удалить не подключенные устройства" и через phpmyadmin, а через некоторое время они опять появляются в списке.

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

Добавлено: Ср окт 28, 2020 10:39 am
AE_
KVN писал(а): Ср окт 28, 2020 9:38 am Удаляю через "удалить не подключенные устройства" и через phpmyadmin, а через некоторое время они опять появляются в списке.
Топики, удаленные в MajorDomo, могут появляться только из-за того, что соответствующие сообщения были снова посланы брокером MQTT. Возможны 2 причины:
  • Устройство все еще включено и шлет сообщения. Выключить устройство :)
  • При отправке топиков был выставлен флажок retained, в результате чего они "залипли" на MQTT брокере и он перепосылает их при каждом новом подключении кликента, того же MD. Убивать такие топики нужно непосредственно на брокере. Если брокер настроен так чтобы не сохранять состояние в бд - достаточно его перезапустить. Иначе нужно либо полностью чистить базу данных (файл mosquitto.db), либо удалять retained топики в MQTT клиенте, который это умеет делать. Например MQTT Explorer, или
    mosquitto_pub -h <host> -t <topic> -n -r -d

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

Добавлено: Ср окт 28, 2020 12:59 pm
Kvantos
Модуль mqtt MDM тоже умеет удалять retained топики, достаточно в настройках соотв. топика:
1.Retain "Да"
2.Установить чекбокс "установить:" и в поле "значение" - пусто
3.Нажать "Сохранить"
Просто смена Retain "Да"->"Нет" не поможет

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

Добавлено: Ср окт 28, 2020 4:50 pm
KVN
Устройство все еще включено и шлет сообщения. Выключить устройство
Устройства точно нет, оно уже перепрошито 2 раза на другие прошивки (espurna - родной соноф - tasmota(сейчас))
При отправке топиков был выставлен флажок retained
Вообще никогда не пользовался этим и даже не знал для чего оно

Устройства появляются примерно через 6 часов после удаления :cry:

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

Добавлено: Ср окт 28, 2020 4:55 pm
andrey040670
KVN писал(а): Ср окт 28, 2020 4:50 pm Вообще никогда не пользовался этим и даже не знал для чего оно
Однако сделайте так как уже написали выше и всё благополучно удалится.

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

Добавлено: Ср окт 28, 2020 5:17 pm
Divan
KVN писал(а): Ср окт 28, 2020 9:38 am Привет.
Подскажите как удалить ненужные устройства из MQTT списка?
Удаляю через "удалить не подключенные устройства" и через phpmyadmin, а через некоторое время они опять появляются в списке.
Смотрим видео

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

Добавлено: Пт ноя 06, 2020 3:37 pm
CAHbKA
zoz писал(а): Пт окт 02, 2020 10:12 pm
CAHbKA писал(а): Ср сен 02, 2020 8:39 am а у меня с обновлением ядра mjd вообще mqtt модуль отказался работать.

https://connect.smartliving.ru/ideas/839.html
такая же история, cycle_mqtt не запускается.
москито работает.
куда копать?
в прошлый раз помог откат файла 3rdparty/phpmqtt/phpMQTT.php
сегодня очередное обновление, опять отпал mqtt. попробую откатить.