[Модуль] MQTT (mqtt)
Модератор: immortal
- sergejey
- Site Admin
- Сообщения: 4286
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 76 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Предложения по доработке модуля MQTT
Я внёс изменение в модуль, чтобы не открывалось дополнительное соединение для публикации из системы в брокер. Проверьте пожалуйста.
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
- sergejey
- Site Admin
- Сообщения: 4286
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 76 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Предложения по доработке модуля MQTT
Для отправки сообщения надо добавить путь публикации в настройках модуля MQTT, привязать к этому пути какое-нибудь свойство и установить значение этого свойства любым способом.max506 писал(а):Подскажите, с помощью какого метода можно отправить MQTT-сообщение брокеру из MajorDoMo?
- За это сообщение автора sergejey поблагодарил:
- botanik26rus (Вт окт 09, 2018 9:29 pm)
- Рейтинг: 1.16%
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
-
- Сообщения: 15
- Зарегистрирован: Пн дек 19, 2016 12:59 pm
- Благодарил (а): 0
- Поблагодарили: 1 раз
Re: Предложения по доработке модуля MQTT
есть еще вопрос, использую связку 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
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
-
- Сообщения: 47
- Зарегистрирован: Вс ноя 06, 2016 6:49 pm
- Благодарил (а): 60 раз
- Поблагодарили: 3 раза
Re: Предложения по доработке модуля MQTT
После обновления появился лаг в управлении объектами. До нескольких секунд.sergejey писал(а):Я внёс изменение в модуль, чтобы не открывалось дополнительное соединение для публикации из системы в брокер. Проверьте пожалуйста.
В сцене визуально выключатель меняется, скрипт отрабатывается, а вот публикация в mqtt отправляется с задержкой.
Задержку видно и визуально - свет включатся стал с задержкой, и mosquitto_sub'ом - сообщения тоже прилетают позже.
P.S. Проблема не в брокере - из homebridge всё исполняется мгновенно.
- sergejey
- Site Admin
- Сообщения: 4286
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 76 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Предложения по доработке модуля MQTT
Да, неудачная оптимизация получилась. Вернул как было.
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
- sergejey
- Site Admin
- Сообщения: 4286
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 76 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Предложения по доработке модуля MQTT
Т.е. в вашем случае получается, что для включения/выключения надо отправлять команды по разным путям. Я бы делал следующим образом: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 -- информация, сотрудничество, услуги
-
- Сообщения: 15
- Зарегистрирован: Пн дек 19, 2016 12:59 pm
- Благодарил (а): 0
- Поблагодарили: 1 раз
Re: Предложения по доработке модуля MQTT
Все выглядит замечательно. Но префикс "/on" подставляется не зависимо от того включить надо или отключить)))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)
Собственно всё.
И да, ткните пожалуйста носом как именно это делать и как и что прописывать.
Спасибо огромное!!!!
- sergejey
- Site Admin
- Сообщения: 4286
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 76 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Предложения по доработке модуля MQTT
/devices/uchm111rx_0x01/controls/Relay 2/on надо вызвать и для включения и для выключения? так тогда вообще ничего городить не нужно. Привязывайте status к этому пути и управляйте.
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
-
- Сообщения: 15
- Зарегистрирован: Пн дек 19, 2016 12:59 pm
- Благодарил (а): 0
- Поблагодарили: 1 раз
Re: Предложения по доработке модуля MQTT
sergejey писал(а):/devices/uchm111rx_0x01/controls/Relay 2/on надо вызвать и для включения и для выключения? так тогда вообще ничего городить не нужно. Привязывайте status к этому пути и управляйте.
да, а где я могу привязать статус к пути? через веб морду или через ссш?
- sergejey
- Site Admin
- Сообщения: 4286
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 76 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Предложения по доработке модуля MQTT
Через ssh ничего делать не нужно. Есть модуль MQTT, куда можно добавить топик и связать его со свойством объекта.
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги