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

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

Модератор: immortal

dr.pavlov.alex
Сообщения: 103
Зарегистрирован: Вс апр 23, 2017 7:09 pm
Благодарил (а): 38 раз
Поблагодарили: 1 раз

Re: Модуль Broadlink

Сообщение dr.pavlov.alex » Вс июл 16, 2017 8:12 pm

Уважаемый nick7zmail, после обновления модуля Broadlink не сканируются устройства. Ручками добавляется. Добавил колонку, разбираюсь. Спасибо, что добавили ее в модуль!
Выдает ошибку при нажатии на любую из трех кнопок (Fatal error: Call to undefined method SP1::send_str() in C:\_majordomo\htdocs\modules\dev_broadlink\dev_httpbrige_devices_edit.inc.php on line 238).
Aopen de7000 на Ubuntu 16.04.4 LTS+Broadlink
dr.pavlov.alex
Сообщения: 103
Зарегистрирован: Вс апр 23, 2017 7:09 pm
Благодарил (а): 38 раз
Поблагодарили: 1 раз

Re: Модуль Broadlink

Сообщение dr.pavlov.alex » Вс июл 16, 2017 8:40 pm

Заработало сканирование. Если создать кнопку в меню управления: sg('MS1.ButtonPower', 1);, она не работает. Значение меняется в свойствах на единицу, но ничего не происходит. Если значение менять в ручную, то появляется вот такая ошибка: (Fatal error: Using $this when not in object context in C:\_majordomo\htdocs\modules\dev_broadlink\broadlink.class.php on line 127). Если жать на "молнию" в устройствах в разделе данные, то все работает. Кнопка Power выключает, если питание подключено то можно потом включить колонку. Пауза срабатывает, но после ее нажатия не работает плей. Кнопка Плей может работать как пауза/плей. Регулирование звука не получилось сделать?
Aopen de7000 на Ubuntu 16.04.4 LTS+Broadlink
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Модуль Broadlink

Сообщение nick7zmail » Вс июл 16, 2017 9:23 pm

Как раз сегодня работал над уровнем звука...получилось.

Кстати считал процент заряда батареи, чего даже в е-контроле нет))

Обновление чуть позже будет...на счет плэй/паузы пока сам не особо разобрался)) Возможно одна из них - мьют))) по крайней мере в приложении именно так отображается...пока исследую что может)) как закончу - все изменения презентую)) пока действительно кое что может не работать....

Отправлено с моего Xperia Z через Tapatalk
За это сообщение автора nick7zmail поблагодарил:
dr.pavlov.alex (Вс июл 16, 2017 9:33 pm)
Рейтинг: 1.16%
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
igorewa
Сообщения: 515
Зарегистрирован: Ср дек 21, 2016 11:54 pm
Откуда: Киев
Благодарил (а): 12 раз
Поблагодарили: 43 раза

Re: Модуль Broadlink

Сообщение igorewa » Вс июл 16, 2017 10:03 pm

По карнизу Доя, в е-контрол нажал на кнопку закрыть шторы, появилось 10 пакетов, которые я сохранил и прикрепил к этому сообщению
doya.zip
(2.21 КБ) 146 скачиваний
. Тк я не совсем понимаю что делать с этой информацией
Вложения
Снимок экрана 2017-07-16 в 21.59.26.png
Снимок экрана 2017-07-16 в 21.59.26.png (168.08 КБ) 5402 просмотра
ASUS H110T, I5 7500, DDR4-16Gb, SSD256 . WIN10 64 (LTSB)
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Модуль Broadlink

Сообщение nick7zmail » Вс июл 16, 2017 11:10 pm

Итак...это мы получили бинарный поток информации шифрованный бродлинковским протоколом.
Теперь его надо расшифровать. Самое запарное (наверное) заполучить ключ шифровки...где он находится - написано там viewtopic.php?p=55999#p55999

Да и собственно как расшифровать написано там. Скриптик указанный там я включил в модуль...по этому адресу http://192.168.1.179/modules/dev_broadl ... pt_scr.php

Тебе его нужно сперва открыть, вбить туда ключ, который лежит в базе - и содержание полученных файлов вставлять в переменную $wireshark в этом файле. Сразу говорю про свои ошибки, чтобы ты их не повторял))) там откроется окно с кнопкой отправить...я пытался расшифровывать через него. Как оказалось - там надо удалять все символы переноса и пробелы...иначе не сработает...проще реально в переменную вбить...

Ну и последний шаг - понять что скрывает протокол))) после дешифровки у тебя получится либо красивый пакет с кучей нулей, и какими-то управляющими байтами...либо непонятная херня, как у меня в случае с колонкой MS1...

Как оказалось - эта непонятная херня преобразовывается в ascii строку подобного вида

Код: Выделить всё

LEN:27
{"command":"key","value":2} 
В notepad++ по идее встроенный конвертер есть...но я юзал этот http://www.rapidtables.com/convert/numb ... .поудобнее немного))

Короче с тебя сейчас достать базу, и тоже либо выслать, либо самому попробовать декодировать...
Если телефон не рутованый, и ты не хочешь рутовать его - проблема =(..надо найти рутованный, и докапаться до файла...в случае, если телефон другой будет - пакеты надо заново с него уже словить....
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
igorewa
Сообщения: 515
Зарегистрирован: Ср дек 21, 2016 11:54 pm
Откуда: Киев
Благодарил (а): 12 раз
Поблагодарили: 43 раза

Re: Модуль Broadlink

Сообщение igorewa » Пн июл 17, 2017 12:56 am

nick7zmail писал(а):Итак...это мы получили бинарный поток информации шифрованный бродлинковским протоколом.
Теперь его надо расшифровать. Самое запарное (наверное) заполучить ключ шифровки...где он находится - написано там viewtopic.php?p=55999#p55999

Да и собственно как расшифровать написано там. Скриптик указанный там я включил в модуль...по этому адресу http://192.168.1.179/modules/dev_broadl ... pt_scr.php




Короче с тебя сейчас достать базу, и тоже либо выслать, либо самому попробовать декодировать...
Если телефон не рутованый, и ты не хочешь рутовать его - проблема =(..надо найти рутованный, и докапаться до файла...в случае, если телефон другой будет - пакеты надо заново с него уже словить....
Я завис на заполучить ключ шифровки )
Снимок экрана 2017-07-17 в 01.02.21.png
Снимок экрана 2017-07-17 в 01.02.21.png (287.52 КБ) 5379 просмотров
Рут сделал базу с телефона вытащил, куда вам ее отправить? на почту или можно оставить ее тут? ( там просто маки и пароли)
ASUS H110T, I5 7500, DDR4-16Gb, SSD256 . WIN10 64 (LTSB)
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Модуль Broadlink

Сообщение nick7zmail » Пн июл 17, 2017 6:02 am

Можно в личку в архиве, а можно на вкладку данные перейти, найти нужную строку, там столбик PublicKey, 2 раза кликнуть - в 16-ричном виде откроется...его можно тут оставить. И TerminalId из этой же строки.

Отправлено с моего Xperia Z через Tapatalk
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
igorewa
Сообщения: 515
Зарегистрирован: Ср дек 21, 2016 11:54 pm
Откуда: Киев
Благодарил (а): 12 раз
Поблагодарили: 43 раза

Re: Модуль Broadlink

Сообщение igorewa » Пн июл 17, 2017 10:18 am

PublicKey 4f 8b 56 38 86 fe cc 27 bc 71 43 17 f3 e4 b9 06
TerminalId 2
ASUS H110T, I5 7500, DDR4-16Gb, SSD256 . WIN10 64 (LTSB)
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Модуль Broadlink

Сообщение nick7zmail » Пн июл 17, 2017 6:24 pm

Ну вот)) после расшифровки получился аккуратный пакет длиной 16 байт с кучей ноликов =)

Код: Выделить всё

09 00 bb 06 00 00 00 00  00 fa 44 00 00 00 00 00
09 - как раз байт, задающий действие...
fa 44 - возможно какие-либо сохраненные настройки...надо покапаться в e-control'е, поменять что нить - и понаблюдать...
bb 06 - возможно настройки, возможно ещё что-то, это хз...
а вот следующий байт - скорее всего управляющий, видел точно что менялся....

Что нужно сделать:
1) Поймать байт, который отвечает за запрос...09 - это скорее всего действие, подобный пакет, но с 08 к примеру - запрос...нужно точно узнать, какое число там при запросе данных
Чтобы это сделать надо:
- открыть e-control
- запустить сниффер пакетов
- вернуться в e-control, тыкнуть иконку штор (чтобы запросилось текущее состояние...менять там ничего не надо)
- остановить сниффер, расшифровать пакеты...
В приложенном файле php скрипт для расшифровки, уже с твоим ключом...просто заменяй переменную $wireshark на байты из пакетов, начинающиеся с 5a a5 aa 55 5a a5 aa 55, и заканчивающиеся перед следующем 5a a5 aa 55 5a a5 aa 55 ...потом открывай этот php в браузере (предварительно на сервер закинув, в любую папку)...расшифрованные пакеты в конце.
broadlink_decrypt_scr.rar
(2.36 КБ) 147 скачиваний
2) Перетыкать все настройки (критичные), посмотреть на пэйлод - что меняется...

3) можешь попробовать собрать пакет и попробовать поуправлять (пример в функции some_action...подробности рассказывать слишком долго)) если трудно - не парься...просто поймай мне байт для запроса - попробую "вслепую" класс дописать...
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
VooDooN
Сообщения: 307
Зарегистрирован: Сб июн 11, 2016 12:02 am
Благодарил (а): 170 раз
Поблагодарили: 64 раза

Re: Модуль Broadlink

Сообщение VooDooN » Пн июл 17, 2017 6:35 pm

Ну раз уже известен управляющий байт, то можно просто переделать тот скрипт, который я использовал для анализа S1, где-то есть тут на форуме. Не могу с телефона сразу найти его. Просто с ним уже не нужно сниффить пакеты, а просто менять настройки и нажимать F5 в браузере. Сейчас нет возможности помочь со скриптом.
Ответить