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

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

Модератор: immortal

olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

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

Сообщение olehs » Вт сен 11, 2018 12:16 pm

Kvantos писал(а):
Вт сен 11, 2018 11:44 am
Обнаружил ошибку:
Невозможно сбросить retain для топика, скрин здесь: https://ibb.co/drvR5U
Ого, 2 года ее никто не замечал ))
Сделал PR https://github.com/sergejey/majordomo-mqtt/pull/10
За это сообщение автора olehs поблагодарил:
cepxuo (Вт сен 11, 2018 8:10 pm)
Рейтинг: 1.16%
Аватара пользователя
Kvantos
Сообщения: 295
Зарегистрирован: Вт окт 31, 2017 1:05 pm
Благодарил (а): 26 раз
Поблагодарили: 49 раз

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

Сообщение Kvantos » Чт сен 13, 2018 1:18 am

olehs писал(а):
Вт сен 11, 2018 12:16 pm
Ого, 2 года ее никто не замечал ))
Сделал PR https://github.com/sergejey/majordomo-mqtt/pull/10
После обновления радиокнопка переключается, НО флаг Retain на сервере не сбрасывается.

По спекам mqtt флаг Retain сбрасывается на сервере если в этот топик передать пустой пейлоад с УСТАНОВЛЕННЫМ флагом Retain, но модуль не позволяет этого сделать (и как следствие после удаления этого топика вручную, сервер опять его передает на модуль).

Т.е. для решения проблемы при установленном чекбоксе "Retain: Нет" и заполненном (или пустом) поле пейлоада после нажатия кнопки "Сохранить" логика сброса флага Retain должна быть такая:
1. Запомнить текущий пейлоад
2. Передать пустой пейлоад с УСТАНОВЛЕННЫМ флагом Retain
3. Передать запомненный ранее пейлоад БЕЗ флага Retain
Последний раз редактировалось Kvantos Чт сен 13, 2018 1:27 am, всего редактировалось 3 раза.
За это сообщение автора Kvantos поблагодарил:
vy4eslavik (Чт янв 24, 2019 10:16 pm)
Рейтинг: 1.16%
MDM живет на 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 GNU/Linux
Аватара пользователя
Kvantos
Сообщения: 295
Зарегистрирован: Вт окт 31, 2017 1:05 pm
Благодарил (а): 26 раз
Поблагодарили: 49 раз

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

Сообщение Kvantos » Чт сен 13, 2018 1:25 am

И еще обнаружилась ошибочка отображения топиков деревом: если в ветке только один топик, то он отображается не правильно, скрин здесь https://ibb.co/hDPCzp
MDM живет на 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 GNU/Linux
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

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

Сообщение olehs » Чт сен 13, 2018 10:16 am

Kvantos писал(а):
Чт сен 13, 2018 1:25 am
И еще обнаружилась ошибочка отображения топиков деревом: если в ветке только один топик, то он отображается не правильно, скрин здесь https://ibb.co/hDPCzp
так и задумано
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

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

Сообщение olehs » Чт сен 13, 2018 12:48 pm

Kvantos писал(а):
Чт сен 13, 2018 1:18 am
olehs писал(а):
Вт сен 11, 2018 12:16 pm
Ого, 2 года ее никто не замечал ))
Сделал PR https://github.com/sergejey/majordomo-mqtt/pull/10
После обновления радиокнопка переключается, НО флаг Retain на сервере не сбрасывается.

По спекам mqtt флаг Retain сбрасывается на сервере если в этот топик передать пустой пейлоад с УСТАНОВЛЕННЫМ флагом Retain, но модуль не позволяет этого сделать (и как следствие после удаления этого топика вручную, сервер опять его передает на модуль).

Т.е. для решения проблемы при установленном чекбоксе "Retain: Нет" и заполненном (или пустом) поле пейлоада после нажатия кнопки "Сохранить" логика сброса флага Retain должна быть такая:
1. Запомнить текущий пейлоад
2. Передать пустой пейлоад с УСТАНОВЛЕННЫМ флагом Retain
3. Передать запомненный ранее пейлоад БЕЗ флага Retain
добавил возможность установить пустое значение из модуля
Аватара пользователя
Kvantos
Сообщения: 295
Зарегистрирован: Вт окт 31, 2017 1:05 pm
Благодарил (а): 26 раз
Поблагодарили: 49 раз

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

Сообщение Kvantos » Пт сен 14, 2018 8:25 pm

olehs писал(а):
Чт сен 13, 2018 12:48 pm
добавил возможность установить пустое значение из модуля
теперь "на лицо" не соответствие отображения информации модулем реальному состоянию флага retain на mqtt сервере, например:
1. создаем топик /test
2. устанавливаем значение, например "2" (сохранить)
3. устанавливаем флаг retain (сохранить)
4. снимаем флаг retain (сохранить)
теперь при просмотре этого топика модулем флаг retain=нет, но фактически на сервере retain остался (это можно проверить просто удалив топик, через небольшой промежуток времени он опять появится)
MDM живет на 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 GNU/Linux
Аватара пользователя
Kvantos
Сообщения: 295
Зарегистрирован: Вт окт 31, 2017 1:05 pm
Благодарил (а): 26 раз
Поблагодарили: 49 раз

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

Сообщение Kvantos » Пт сен 14, 2018 8:53 pm

Запрос на удаление топика без предупреждающего текста https://ibb.co/es0ZZp
но это наверное оффтоп, и претензии не к модулю, т.к. при удалении свойств объектов та же самая ситуация....
MDM живет на 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 GNU/Linux
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

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

Сообщение olehs » Пт сен 14, 2018 11:13 pm

Это проблема не модуля. Любой клиент может установить флаг для данного топика и модуль не обязан его отслеживать.
Снятие флага в модуле лишь гарантирует, что сообщения, отправленные именно этим модулем, не будут сохранятся на сервере.
eeak1
Сообщения: 51
Зарегистрирован: Чт май 12, 2016 9:13 am
Благодарил (а): 22 раза
Поблагодарили: 11 раз
Контактная информация:

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

Сообщение eeak1 » Пн сен 24, 2018 1:22 pm

Версия 1.5.2, собранная из исходников, работает нормально.
Алиса живёт на нубуке с закрытой крышкой в Docker контейнере, соседствует с контейнерами nextcloud, plex, mosquitto, и т.д.
ранее в Docker контейнере на Raspberry Pi 4
ранее натив на Raspberry Pi 3
https://www.eeak.biz
TurburatoR
Сообщения: 47
Зарегистрирован: Вс ноя 06, 2016 6:49 pm
Благодарил (а): 59 раз
Поблагодарили: 3 раза

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

Сообщение TurburatoR » Пн сен 24, 2018 4:20 pm

eeak1 писал(а):
Пн сен 24, 2018 1:22 pm
Версия 1.5.2, собранная из исходников, работает нормально.
Подтверждаю. За сутки "ни единого разрыва"
Ответить