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

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

Модератор: immortal

Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

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

Сообщение sergejey » Пн дек 19, 2016 6:09 pm

Я внёс изменение в модуль, чтобы не открывалось дополнительное соединение для публикации из системы в брокер. Проверьте пожалуйста.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

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

Сообщение sergejey » Пн дек 19, 2016 6:10 pm

max506 писал(а):Подскажите, с помощью какого метода можно отправить MQTT-сообщение брокеру из MajorDoMo?
Для отправки сообщения надо добавить путь публикации в настройках модуля MQTT, привязать к этому пути какое-нибудь свойство и установить значение этого свойства любым способом.
За это сообщение автора sergejey поблагодарил:
botanik26rus (Вт окт 09, 2018 9:29 pm)
Рейтинг: 1.16%

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
viktan92
Сообщения: 15
Зарегистрирован: Пн дек 19, 2016 12:59 pm
Благодарил (а): 0
Поблагодарили: 1 раз

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

Сообщение viktan92 » Ср дек 21, 2016 11:00 am

есть еще вопрос, использую связку raspberry pi b wb5

mqtt brocker на ra pi запущен..

сам ra pi контроллер видит и команды отправляет, состояние реле на контроллер в web меняется.. но физически реле не срабатывает.

уже отправлял напрямую команды с ra pi на контрроллер

mosquitto_pub -h "192.168.0.2" -t "/devices/uchm111rx_0x01/controls/Relay 2" -m "0"

состояние реле меняется. отправляю 1 тоже меняется, но реле не срабатывает.

В чем может быть причина?

P.S. вчера обновил wb-mqqt-serial файлы для обновления взял вот отсюда

pechatnovWiren Board Team26д

deb-пакет и исполняемый файл wb-mqtt-serial последняя версия на сегодняшнее число
Сделано несколько патчей, в т. ч. от Reroute

https://drive.google.com/drive/folders/ ... p=sharing6

до обновления не могу сказать работало это все или нет. Обновился потому что думал что исчезнет ошибка Error listing the configs: MQTT RPC request timed out, но ошибка осталась.

выполнял команды apt-get -f install, так как пакет deb wb-mqtt не хотел устанавливаться ругался на зависимости.

выяснелось что правильная команда которая запускает реле не только виртуально, но и физически вот такая

mosquitto_pub -h "192.168.0.2" -t "/devices/uchm111rx_0x01/controls/Relay 2/on" -m "0"

т.е. добавляется в топик вот такой префикс "/on"

и тогда все срабатывает правильно.

Не подскажите где в МД можно как то поменять отправляемые команды или создать новые, ну или кто может помочь в решение этого вопроса ну и еще пару вопросов по МД. может обсудить сотрудничество отдельно. но самое главное что вопрос по отправке команд с МД на WB5
TurburatoR
Сообщения: 47
Зарегистрирован: Вс ноя 06, 2016 6:49 pm
Благодарил (а): 59 раз
Поблагодарили: 3 раза

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

Сообщение TurburatoR » Ср дек 21, 2016 6:56 pm

sergejey писал(а):Я внёс изменение в модуль, чтобы не открывалось дополнительное соединение для публикации из системы в брокер. Проверьте пожалуйста.
После обновления появился лаг в управлении объектами. До нескольких секунд.
В сцене визуально выключатель меняется, скрипт отрабатывается, а вот публикация в mqtt отправляется с задержкой.

Задержку видно и визуально - свет включатся стал с задержкой, и mosquitto_sub'ом - сообщения тоже прилетают позже.

P.S. Проблема не в брокере - из homebridge всё исполняется мгновенно.
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

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

Сообщение sergejey » Чт дек 22, 2016 9:34 am

Да, неудачная оптимизация получилась. Вернул как было.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

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

Сообщение sergejey » Чт дек 22, 2016 12:41 pm

viktan92 писал(а):/devices/uchm111rx_0x01/controls/Relay 2/on
Т.е. в вашем случае получается, что для включения/выключения надо отправлять команды по разным путям. Я бы делал следующим образом:
1. Добавил новый класс наследуемый от Relays и назвал бы его к примеру WBRelays
2. Добавил к этому новому классу кроме свойства status ещё два дополнительных statusOn и statusOff
3. Переписал бы для класса WBRelays методы turnOff/turnOn/Refresh чтобы, к примеру, при включении менялось не только свойство status, но и устанавливалось statusOn в 1, а statusOff не изменялось (при выключении соответственно statusOff в единицу)
4. Через модуль MQTT кроме свойства статуса привязал бы ещё свойства statusOn и statusOff к соответствующим путям (для statusOn: /devices/uchm111rx_0x01/controls/Relay 2/on)

Собственно всё.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
viktan92
Сообщения: 15
Зарегистрирован: Пн дек 19, 2016 12:59 pm
Благодарил (а): 0
Поблагодарили: 1 раз

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

Сообщение viktan92 » Чт дек 22, 2016 2:34 pm

sergejey писал(а):
viktan92 писал(а):/devices/uchm111rx_0x01/controls/Relay 2/on
Т.е. в вашем случае получается, что для включения/выключения надо отправлять команды по разным путям. Я бы делал следующим образом:
1. Добавил новый класс наследуемый от Relays и назвал бы его к примеру WBRelays
2. Добавил к этому новому классу кроме свойства status ещё два дополнительных statusOn и statusOff
3. Переписал бы для класса WBRelays методы turnOff/turnOn/Refresh чтобы, к примеру, при включении менялось не только свойство status, но и устанавливалось statusOn в 1, а statusOff не изменялось (при выключении соответственно statusOff в единицу)
4. Через модуль MQTT кроме свойства статуса привязал бы ещё свойства statusOn и statusOff к соответствующим путям (для statusOn: /devices/uchm111rx_0x01/controls/Relay 2/on)

Собственно всё.
Все выглядит замечательно. Но префикс "/on" подставляется не зависимо от того включить надо или отключить)))

И да, ткните пожалуйста носом как именно это делать и как и что прописывать.

Спасибо огромное!!!!
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

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

Сообщение sergejey » Чт дек 22, 2016 2:35 pm

/devices/uchm111rx_0x01/controls/Relay 2/on надо вызвать и для включения и для выключения? так тогда вообще ничего городить не нужно. Привязывайте status к этому пути и управляйте.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
viktan92
Сообщения: 15
Зарегистрирован: Пн дек 19, 2016 12:59 pm
Благодарил (а): 0
Поблагодарили: 1 раз

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

Сообщение viktan92 » Чт дек 22, 2016 6:27 pm

sergejey писал(а):/devices/uchm111rx_0x01/controls/Relay 2/on надо вызвать и для включения и для выключения? так тогда вообще ничего городить не нужно. Привязывайте status к этому пути и управляйте.

да, а где я могу привязать статус к пути? через веб морду или через ссш?
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

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

Сообщение sergejey » Чт дек 22, 2016 11:04 pm

Через ssh ничего делать не нужно. Есть модуль MQTT, куда можно добавить топик и связать его со свойством объекта.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Ответить