[Модуль] Broadlink (dev_broadlink)

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

Модератор: immortal

doc_bravn
Сообщения: 126
Зарегистрирован: Чт янв 30, 2014 1:14 pm
Откуда: Москва
Благодарил (а): 4 раза
Поблагодарили: 1 раз

Re: [Модуль] Broadlink (dev_broadlink)

Сообщение doc_bravn » Чт май 21, 2020 8:15 pm

nick7zmail писал(а):
Чт май 21, 2020 8:05 pm
Может вы status в модуле привязали? И через brLinkCommand второй раз пытаетесь команду запустить?
Да нет. Я уже проверял это в модуле. Нет привязки.
akarpych
Сообщения: 35
Зарегистрирован: Пн окт 23, 2017 1:57 pm
Благодарил (а): 3 раза
Поблагодарили: 1 раз

Re: [Модуль] Broadlink (dev_broadlink)

Сообщение akarpych » Чт июн 11, 2020 10:41 am

всем привет!Подскажите что надо разблокировать в брэндмауэре на убунту чтобы модуль работал? Какой порт задействуется?
Stor
Сообщения: 133
Зарегистрирован: Ср окт 31, 2018 11:45 pm
Благодарил (а): 8 раз
Поблагодарили: 4 раза

Re: Модуль Broadlink

Сообщение Stor » Сб июн 13, 2020 9:12 pm

nick7zmail писал(а):
Чт июл 13, 2017 11:45 am
igorewa писал(а):Помогите с этим Если дебажите уже известное устройство нужно заменить вызываемую функцию в broadlink_debug_scr.php
$payload = $rm->some_req(); на нужную функцию от устройства...а вывод этой функции заменить с return $data на return $payload, если хотите увидеть полный пэйлод...

Я пытаюсь пробить карниз, в модуле он определен и добавлен , что нужно добавить в broadlink_debug_scr.php ?
Тут нужна "предподготовка", как раз о которой писали на страницах до этого....
Первым делом надо перехватить пакет, который идет с девайса приложению...либо через packet capture (я давал вроде ссылку, как это делается), либо wireshark-ом...любым способом кароч))

Пакет зашифрованный...второй шаг - расшифровать его...с приложения надо вытащить базу данных (это можно сделать только с рут-доступом) из неё вытащить ключи и ID, и расшифровать этот пакет, как сделать - тоже писали - как называется, где лежит, и как вытащить....и скриптик для расшифровки выкладывали...

Третий шаг - в расшифрованном пакете - найти байт определяющий команду (скорее всего первый...учтите - сама команда начинается после определённой последовательности символов), и их записать в команду some_req() в broadlink.class.php...и потом, уже переходим к моему скрипту (который debug_scr)...запускаем - должен по-идее выпасть полный пэйлод...после этого можно из e-control потыкать разные настройки и т.п. , обновлять страничку, и наблюдать за байтами)))записывать что за какой отвечает...

Теперь к действиям - опять перехватываем управляющий пакет (который уходит от приложения устройству), расшифровываем, запоминаем управляющий байт, все остальные байты, скорее всего, будут как в предыдущем пэйлоде.
В команде some_action(); Записываем 1й байт (там есть пример в broadlink.class.php в конце), записываем управляющий байт, в дебажном скрипте меняем some_req на some_action, и пробуем запустить....по идее команда выполнится должна)) меняем управляющий байт (надо несколько вариантов посмотреть...с закрытыми, открытыми, наполовину открытыми) - опять запускаем, смотрим выполнилось или нет....

Далее все исследования оформляем, записываем, и скидываем сюда)) тогда я допишу класс, и, чисто теоретически - должно всё заработать уже штатно =D.
nalog писал(а):Господа не подскажете как вы используете полученные в RM Bridge коды. У меня есть RF выключатели, к сцене приделал кнопку с методами

header( "http://адрес RM Bridge:7474/code/lights-zal" );

но когда запрос идет на приложение получаю ошибку CORS Access-Control-Allow-Origin я так понял это косяк самого приложения, там не возможно добавить настройку.. Если иду напрямую то все норм. Каким еще способом можно прикрутить выключалку?
В методе используйте getURL('адрес');
Добрый день.

Приобрел RM4 pro, и, как и многие, столкнулся с тем что он не работает - не переходит в режим обучения и не горит желтый светодиод.
Могли бы вы составить пошаговую инструкцию по перехвату и расшифровке пакетов (и что нужно получить для вас на выходе) - просто лазить и собирать по крупицам со всех 350 страниц крайне затруднительно и долго. Со своей стороны готов попробовать, следуя инструкции, получить данные, которые помогут заставить корректно работать RM4 pro в Мажоре.
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Модуль Broadlink

Сообщение nick7zmail » Вс июн 14, 2020 12:59 am

Stor писал(а):
nick7zmail писал(а):
Чт июл 13, 2017 11:45 am
igorewa писал(а):Помогите с этим Если дебажите уже известное устройство нужно заменить вызываемую функцию в broadlink_debug_scr.php
$payload = $rm->some_req(); на нужную функцию от устройства...а вывод этой функции заменить с return $data на return $payload, если хотите увидеть полный пэйлод...

Я пытаюсь пробить карниз, в модуле он определен и добавлен , что нужно добавить в broadlink_debug_scr.php ?
Тут нужна "предподготовка", как раз о которой писали на страницах до этого....
Первым делом надо перехватить пакет, который идет с девайса приложению...либо через packet capture (я давал вроде ссылку, как это делается), либо wireshark-ом...любым способом кароч))

Пакет зашифрованный...второй шаг - расшифровать его...с приложения надо вытащить базу данных (это можно сделать только с рут-доступом) из неё вытащить ключи и ID, и расшифровать этот пакет, как сделать - тоже писали - как называется, где лежит, и как вытащить....и скриптик для расшифровки выкладывали...

Третий шаг - в расшифрованном пакете - найти байт определяющий команду (скорее всего первый...учтите - сама команда начинается после определённой последовательности символов), и их записать в команду some_req() в broadlink.class.php...и потом, уже переходим к моему скрипту (который debug_scr)...запускаем - должен по-идее выпасть полный пэйлод...после этого можно из e-control потыкать разные настройки и т.п. , обновлять страничку, и наблюдать за байтами)))записывать что за какой отвечает...

Теперь к действиям - опять перехватываем управляющий пакет (который уходит от приложения устройству), расшифровываем, запоминаем управляющий байт, все остальные байты, скорее всего, будут как в предыдущем пэйлоде.
В команде some_action(); Записываем 1й байт (там есть пример в broadlink.class.php в конце), записываем управляющий байт, в дебажном скрипте меняем some_req на some_action, и пробуем запустить....по идее команда выполнится должна)) меняем управляющий байт (надо несколько вариантов посмотреть...с закрытыми, открытыми, наполовину открытыми) - опять запускаем, смотрим выполнилось или нет....

Далее все исследования оформляем, записываем, и скидываем сюда)) тогда я допишу класс, и, чисто теоретически - должно всё заработать уже штатно =D.
nalog писал(а):Господа не подскажете как вы используете полученные в RM Bridge коды. У меня есть RF выключатели, к сцене приделал кнопку с методами

header( "http://адрес RM Bridge:7474/code/lights-zal" );

но когда запрос идет на приложение получаю ошибку CORS Access-Control-Allow-Origin я так понял это косяк самого приложения, там не возможно добавить настройку.. Если иду напрямую то все норм. Каким еще способом можно прикрутить выключалку?
В методе используйте getURL('адрес');
Добрый день.

Приобрел RM4 pro, и, как и многие, столкнулся с тем что он не работает - не переходит в режим обучения и не горит желтый светодиод.
Могли бы вы составить пошаговую инструкцию по перехвату и расшифровке пакетов (и что нужно получить для вас на выходе) - просто лазить и собирать по крупицам со всех 350 страниц крайне затруднительно и долго. Со своей стороны готов попробовать, следуя инструкции, получить данные, которые помогут заставить корректно работать RM4 pro в Мажоре.
Начать примерно с этого viewtopic.php?f=14&t=3313&p=39317#p39317

Отправлено с моего Xperia XZ1 Compact через Tapatalk

Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Stor
Сообщения: 133
Зарегистрирован: Ср окт 31, 2018 11:45 pm
Благодарил (а): 8 раз
Поблагодарили: 4 раза

Re: Модуль Broadlink

Сообщение Stor » Вс июн 14, 2020 10:18 pm

nick7zmail писал(а):
Вс июн 14, 2020 12:59 am
Начать примерно с этого viewtopic.php?f=14&t=3313&p=39317#p39317
Никак не могу привязать устройство к e-Control, зато с легкостью привязалась к BroadLink - универсальный пульт.

Нормально если собрать данные со второго приложения вместо первого?
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Модуль Broadlink

Сообщение nick7zmail » Вс июн 14, 2020 10:51 pm

Stor писал(а):
nick7zmail писал(а):
Вс июн 14, 2020 12:59 am
Начать примерно с этого viewtopic.php?f=14&t=3313&p=39317#p39317
Никак не могу привязать устройство к e-Control, зато с легкостью привязалась к BroadLink - универсальный пульт.

Нормально если собрать данные со второго приложения вместо первого?
Понятия не имею, если честно....собрать пакеты - эти первый шаг. Второй - их расшифровать надо. И если в е-контроле я знаю где ключи лежат, то с этим приложением уже не смогу подсказать.

Отправлено с моего Xperia XZ1 Compact через Tapatalk

Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Stor
Сообщения: 133
Зарегистрирован: Ср окт 31, 2018 11:45 pm
Благодарил (а): 8 раз
Поблагодарили: 4 раза

Re: Модуль Broadlink

Сообщение Stor » Вс июн 14, 2020 10:59 pm

nick7zmail писал(а):
Вс июн 14, 2020 10:51 pm
Stor писал(а):
nick7zmail писал(а):
Вс июн 14, 2020 12:59 am
Начать примерно с этого viewtopic.php?f=14&t=3313&p=39317#p39317
Никак не могу привязать устройство к e-Control, зато с легкостью привязалась к BroadLink - универсальный пульт.

Нормально если собрать данные со второго приложения вместо первого?
Понятия не имею, если честно....собрать пакеты - эти первый шаг. Второй - их расшифровать надо. И если в е-контроле я знаю где ключи лежат, то с этим приложением уже не смогу подсказать.

Отправлено с моего Xperia XZ1 Compact через Tapatalk
Я нашел пакеты 5a a5 aa 55 5a a5 aa 55. Но программа BroadlinkCommand, я так понял, под видну, а под линукс есть?
И подскажите где искать ключи в е-контроле - попробую найти по аналогии в BroadLink - универсальный пульт. И что потом с этими ключами делать?
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Модуль Broadlink

Сообщение nick7zmail » Пн июн 15, 2020 7:04 am

Stor писал(а):
Вс июн 14, 2020 10:59 pm
Я нашел пакеты 5a a5 aa 55 5a a5 aa 55. Но программа BroadlinkCommand, я так понял, под видну, а под линукс есть?
И подскажите где искать ключи в е-контроле - попробую найти по аналогии в BroadLink - универсальный пульт. И что потом с этими ключами делать?
В е-контроле ключи лежат где-то там /data/data/com.broadlink.rmt/databases/rmt.db (это база данных, открывается, вроде, при помощи SQLStudio или как то так прога называлась). Далее в модуле (/modules/dev_broadlink) есть файл broadlink_debug_scr.php. Его прямо открываете и вписываете ключики ($key, $iv) туда. Ваш пакет скармливаете этому файлику (примеры там так же есть) https://github.com/nick7zmail/MajorDoMo ... ug_scr.php и запускаете его из браузера что то формата ip_сервера/modules/dev_broadlink/broadlink_debug_scr.php?mode=decrypt...и тогда увидите расшифрованный файл...по-расшифровывайте несколько файлов. Если первые 2-4 байта совпадают - тогда всё делаете правильно. На самом деле я сам подзабыл как этим всем пользоваться)) но вроде как то так)))
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Stor
Сообщения: 133
Зарегистрирован: Ср окт 31, 2018 11:45 pm
Благодарил (а): 8 раз
Поблагодарили: 4 раза

Re: Модуль Broadlink

Сообщение Stor » Вт июн 16, 2020 11:09 am

nick7zmail писал(а):
Пн июн 15, 2020 7:04 am
Stor писал(а):
Вс июн 14, 2020 10:59 pm
Я нашел пакеты 5a a5 aa 55 5a a5 aa 55. Но программа BroadlinkCommand, я так понял, под видну, а под линукс есть?
И подскажите где искать ключи в е-контроле - попробую найти по аналогии в BroadLink - универсальный пульт. И что потом с этими ключами делать?
В е-контроле ключи лежат где-то там /data/data/com.broadlink.rmt/databases/rmt.db (это база данных, открывается, вроде, при помощи SQLStudio или как то так прога называлась). Далее в модуле (/modules/dev_broadlink) есть файл broadlink_debug_scr.php. Его прямо открываете и вписываете ключики ($key, $iv) туда. Ваш пакет скармливаете этому файлику (примеры там так же есть) https://github.com/nick7zmail/MajorDoMo ... ug_scr.php и запускаете его из браузера что то формата ip_сервера/modules/dev_broadlink/broadlink_debug_scr.php?mode=decrypt...и тогда увидите расшифрованный файл...по-расшифровывайте несколько файлов. Если первые 2-4 байта совпадают - тогда всё делаете правильно. На самом деле я сам подзабыл как этим всем пользоваться)) но вроде как то так)))
В BroadLink - универсальный пульт база с ключами лежит по тому же пути, но я так и не понял как достать публичный ключ из BLOB в базе. SQL studio в плей маркете умеет только подключаться к серверу SQL, но я не нашел как она может открыть базу локально.
СпойлерПоказать
Изображение
P.S. В вашей инструкции (viewtopic.php?f=14&t=3313&p=39317#p39317) я не нашел зачем нужно извлекать ключи. Там вроде говорится только о перехваченных пакетах.
I_I_Imonder
Сообщения: 256
Зарегистрирован: Сб янв 11, 2014 2:54 pm
Благодарил (а): 12 раз
Поблагодарили: 14 раз

Re: [Модуль] Broadlink (dev_broadlink)

Сообщение I_I_Imonder » Ср июн 17, 2020 8:21 pm

Ребята подскажите кто-нибудь добавил вот такой мотор в модуль? https://aliexpress.ru/item/400028536654 ... 1582086458
Ответить