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

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

Модератор: immortal

lost_post
Сообщения: 21
Зарегистрирован: Вс авг 04, 2019 5:52 pm
Благодарил (а): 2 раза
Поблагодарили: 0

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

Сообщение lost_post » Вс янв 19, 2020 1:36 pm

Подскажите плиз, как отправить команду с атрибутами?
Пытаюсь привязать Xiaomi Roborock с прошивкой Valetudo к MD. Статусы получаю, команды отравляю, а как отправить команду с параметрами? Надо вместе с командой отправить "zone_ids': ['guest room']" как пример.
Вот тут https://github.com/Hypfer/Valetudo/wiki ... ntegration описывается настройка с Home Assistant, но там примеры скриптов.

UPD разобрался: топик custom_command команда {"command": "zoned_cleanup","zone_ids": ["Кухня","Туалет"]}
homester
Сообщения: 194
Зарегистрирован: Вт дек 24, 2019 2:09 pm
Благодарил (а): 112 раз
Поблагодарили: 34 раза

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

Сообщение homester » Пн янв 27, 2020 4:53 am

Добрый день. Два дня ищу информацию про <Путь (write): (не обязательно)> Что это и как работает. Пните, пожалуйста, в нужном направлении.
Raspberry Pi3 B+, v4.44, внешняя з/к
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

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

Сообщение nick7zmail » Пн янв 27, 2020 12:41 pm

homester писал(а):
Пн янв 27, 2020 4:53 am
Добрый день. Два дня ищу информацию про <Путь (write): (не обязательно)> Что это и как работает. Пните, пожалуйста, в нужном направлении.
Путь write - топик, куда будет записываться значение при изменении. Если пустой - пишется в основной топик.
Пример:
/mega/state/rele1 - топик статуса
/mega/control/rele1 - топик управления

Открываете /mega/state/rele1, вписываете в Путь (write) /mega/control/rele1, привязываете к топику объект.свойство (или простое устройство) - при изменении из другого источника (включении вручную к примеру) статус прилетает в /mega/state/rele1, при изменении из МД - улетает в /mega/control/rele1. Всё работает как надо, никакиех конфликтов и кросслинков.

В принципе тоже самое можно сделать и привязав оба топика к 1 объекту.свойству, и поставив атрибут "только чтение" на control. По этому то поле не обязательное. Но всё таки удобнее, когда 1 привязка в 1 месте.
За это сообщение автора nick7zmail поблагодарили (всего 2):
homester (Пн янв 27, 2020 12:46 pm) • SLT (Пт фев 14, 2020 1:30 am)
Рейтинг: 2.33%
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
homester
Сообщения: 194
Зарегистрирован: Вт дек 24, 2019 2:09 pm
Благодарил (а): 112 раз
Поблагодарили: 34 раза

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

Сообщение homester » Пн янв 27, 2020 12:47 pm

Спасибо, сейчас попробуем.

p.s.
Интересное решение, решились некоторые проблемы.
Raspberry Pi3 B+, v4.44, внешняя з/к
astotskiy
Сообщения: 45
Зарегистрирован: Вт июл 15, 2014 4:28 pm
Благодарил (а): 79 раз
Поблагодарили: 5 раз

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

Сообщение astotskiy » Вт янв 28, 2020 12:11 pm

pdfsen писал(а):
Ср фев 20, 2019 8:50 am
1) Отправлять не пробовал, тк мне надо только принимать. Я принимаю Температуру и Влажность с удаленных датчиков.
2) Все топики на mqtt.flyhub.org начинаются без первого слеша. Мало того, я проверял это в MQTTLens, туда всё нормально приходит на топик без первого слеша pdfsen@gmail.com/#
3) если поставить просто #, то MQTTLens показывает все топики всех клиентов mqtt.flyhub.org , а их там миллионы. Мне они не нужны. И в МДМ тем более они мне не нужны.

П.С. mqtt.flyhub.org это сервер, который создан специально для прошивки ESP8266 на платформе прошивки https://wifi-iot.com/.
На этом сервере могут быть только клиенты https://wifi-iot.com/.
Топики уже зашиты в прошивке, которую ты генеришь на сайте https://wifi-iot.com/.
Идентификатором топика является твой регистрационный мейл.
https://wifi-iot.com/p/wiki/23/
(переключите сайт на русский язык).
pdfsen получилось получать топики в MJD? в MQTTLens получаю а в MJD нет нечего.
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

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

Сообщение nick7zmail » Вт янв 28, 2020 1:16 pm

astotskiy писал(а):
Вт янв 28, 2020 12:11 pm
pdfsen получилось получать топики в MJD? в MQTTLens получаю а в MJD нет нечего.
Попробуйте вот это решение viewtopic.php?p=112717#p112717.
Если поможет (у моих клиентов в 90% случаев помогало) - значит у вас неправильно настроен веб сервер.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
astotskiy
Сообщения: 45
Зарегистрирован: Вт июл 15, 2014 4:28 pm
Благодарил (а): 79 раз
Поблагодарили: 5 раз

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

Сообщение astotskiy » Вт янв 28, 2020 2:32 pm

nick7zmail писал(а):
Вт янв 28, 2020 1:16 pm
astotskiy писал(а):
Вт янв 28, 2020 12:11 pm
pdfsen получилось получать топики в MJD? в MQTTLens получаю а в MJD нет нечего.
Попробуйте вот это решение viewtopic.php?p=112717#p112717.
Если поможет (у моих клиентов в 90% случаев помогало) - значит у вас неправильно настроен веб сервер.
nick7zmail спасибо за ответ, но к сожалению не помогло, у меня MJD стоит на винде, топики идут с облачного сервиса mqtt.flyhub.org. В MQTTLens получаю данные а в MJD с такимиже настройками ни чего не приходит. Куда копать ???
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

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

Сообщение nick7zmail » Ср янв 29, 2020 6:49 am

Запустите цикл из консоли. Если топиков не видно - в сторону всяких фаерволов и юрэндмауэров, которые могут блочить приложения или порты. Если видно - то в системе и конфигах капаться.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
V.A.S.t
Сообщения: 259
Зарегистрирован: Сб май 11, 2019 6:35 pm
Откуда: Иркутск
Благодарил (а): 16 раз
Поблагодарили: 59 раз

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

Сообщение V.A.S.t » Ср фев 05, 2020 3:01 pm

При переносе системы на другое железо с помощью бэкапа - восстановления при попытке что либо изменить в каком-либо топике вылаязят ошибки:
1048: Column 'LINKED_METHOD' cannot be null
UPDATE `mqtt` SET `ID`='4140', `TITLE`='home/data/stairs/mode', `LOCATION_ID`='6', `UPDATED`='2020-02-05 18:41:23', `VALUE`='1', `PATH`='home/data/stairs/mode', `LINKED_OBJECT`='Stairs', `LINKED_PROPERTY`='mode', `PATH_WRITE`='', `QOS`='0', `RETAIN`='1', `DISP_FLAG`='0', `REPLACE_LIST`='', `LINKED_METHOD`=NULL, `READONLY`='0' WHERE ID = '4140'
Чем уж ему не нравится NULL в методе, ведь метод я и не задаю... Но если выбрать объект с методом - ошибок нет. Но мне то нужна привязка только свойства.
Причем еще и в разных топиках - разные ошибки:
1366: Incorrect integer value: '' for column `db_terminal`.`mqtt`.`LOCATION_ID` at row 1
UPDATE `mqtt` SET `ID`='5046', `TITLE`='home/com/1st/home/security', `LOCATION_ID`='', `UPDATED`='2019-12-14 19:18:52', `VALUE`='0/1', `PATH`='home/com/1st/home/security', `LINKED_OBJECT`='Home', `LINKED_PROPERTY`='securityControl', `PATH_WRITE`='', `QOS`='0', `RETAIN`='0', `DISP_FLAG`='0', `REPLACE_LIST`='', `LINKED_METHOD`=NULL, `READONLY`='0' WHERE ID = '5046'
P.S. на оригинальной системе таких ошибок нет.
Аватара пользователя
xor
Сообщения: 2039
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 286 раз
Поблагодарили: 629 раз

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

Сообщение xor » Ср фев 05, 2020 8:59 pm

V.A.S.t писал(а):При переносе системы на другое железо с помощью бэкапа - восстановления при попытке что либо изменить в каком-либо топике вылаязят ошибки:
1048: Column 'LINKED_METHOD' cannot be null
UPDATE `mqtt` SET `ID`='4140', `TITLE`='home/data/stairs/mode', `LOCATION_ID`='6', `UPDATED`='2020-02-05 18:41:23', `VALUE`='1', `PATH`='home/data/stairs/mode', `LINKED_OBJECT`='Stairs', `LINKED_PROPERTY`='mode', `PATH_WRITE`='', `QOS`='0', `RETAIN`='1', `DISP_FLAG`='0', `REPLACE_LIST`='', `LINKED_METHOD`=NULL, `READONLY`='0' WHERE ID = '4140'
Чем уж ему не нравится NULL в методе, ведь метод я и не задаю... Но если выбрать объект с методом - ошибок нет. Но мне то нужна привязка только свойства.
Причем еще и в разных топиках - разные ошибки:
1366: Incorrect integer value: '' for column `db_terminal`.`mqtt`.`LOCATION_ID` at row 1
UPDATE `mqtt` SET `ID`='5046', `TITLE`='home/com/1st/home/security', `LOCATION_ID`='', `UPDATED`='2019-12-14 19:18:52', `VALUE`='0/1', `PATH`='home/com/1st/home/security', `LINKED_OBJECT`='Home', `LINKED_PROPERTY`='securityControl', `PATH_WRITE`='', `QOS`='0', `RETAIN`='0', `DISP_FLAG`='0', `REPLACE_LIST`='', `LINKED_METHOD`=NULL, `READONLY`='0' WHERE ID = '5046'
P.S. на оригинальной системе таких ошибок нет.
Советы постороннего: а привязать любой метод, сохранить, отвязать, сохранить?

Отправлено с моего Redmi 4X через Tapatalk

Ответить