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

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

Модератор: immortal

Rad81
Сообщения: 193
Зарегистрирован: Пт апр 01, 2016 2:42 pm
Благодарил (а): 10 раз
Поблагодарили: 10 раз

Re: Модуль Broadlink

Сообщение Rad81 » Вс авг 20, 2017 9:16 pm

Еще раз обновился уже spmini нормально работает .

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

Re: Модуль Broadlink

Сообщение nick7zmail » Вс авг 20, 2017 9:55 pm

Да пожалуйста =)
Рад, что хоть кому-то помогает он))
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
vitt76
Сообщения: 372
Зарегистрирован: Вс апр 09, 2017 2:36 pm
Благодарил (а): 101 раз
Поблагодарили: 51 раз

Re: Модуль Broadlink

Сообщение vitt76 » Вс авг 20, 2017 9:58 pm

nick7zmail, всем помогает, спасибо за труд! :)
Broadlink + Orange Pi PC ARMBIAN 5.31
Аватара пользователя
Maxmudjon
Сообщения: 25
Зарегистрирован: Ср авг 16, 2017 1:34 pm
Благодарил (а): 0
Поблагодарили: 1 раз

Re: Модуль Broadlink

Сообщение Maxmudjon » Пн авг 21, 2017 2:14 am

Как отправить на устройство payload ?
у меня Dooya DT360E

я уточнил что на ответы есть позиция мотора или карниза
СпойлерПоказать
111111111.png
111111111.png (104.42 КБ) 5184 просмотра
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Модуль Broadlink

Сообщение nick7zmail » Пн авг 21, 2017 8:12 am

Эт хорошо)) А позиция от 0 до 100? или от 0 до 255? Или она вообще какими-то магическими единицами измеряется?)))может углом поворота...
Чтобы отправить - надо во-первых добавить его в модуль (не забыв выбрать тип устройства).
Во-вторых - сейчас есть команда set_level (её вы можете найти в broadlink.class.php)

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

    public function set_level($lvl){
        $packet = self::bytearray(16); 
        $packet[0] = 0x09;
        $packet[2] = 0xbb;
        $packet[3] = 0x06;
        $packet[9] = 0xfa;
        $packet[10] = 0x44;
        $packet[4] = $lvl;
        $this->send_packet(0x6a, $packet);
    }
Она пытается повторить байты в этом пакете, который вы привели, изменяя при этом позицию как раз. Но первый (точнее сказать нулевой $packet[0]) байт при отправке явно должен быть другой...мы его не нашли пока...его надо смотреть в апстриме.
И чтобы отправить эту команду - в broadlink_debug_scr.php ищем

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

$payload = $rm->some_req(); 
И меняем на

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

$payload = $rm->set_level(100); //100 - для примера...позиция, которую вы хотите выставить...       
И вызываем, как я и писал с broadlink_debug_scr.php?mode=debug&ip=<ip карниза>. При каждом вызове эта команда должна выполняться.
Можно добавить в функцию возврат ответа, чтобы видеть, что приходит в ответ.

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

//заменить $this->send_packet(0x6a, $packet); на
$response=$this->send_packet(0x6a, $packet);
return $response; 
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
Maxmudjon
Сообщения: 25
Зарегистрирован: Ср авг 16, 2017 1:34 pm
Благодарил (а): 0
Поблагодарили: 1 раз

Re: Модуль Broadlink

Сообщение Maxmudjon » Пн авг 21, 2017 11:04 am

nick7zmail писал(а):Эт хорошо)) А позиция от 0 до 100? или от 0 до 255? Или она вообще какими-то магическими единицами измеряется?)))может углом поворота...
Чтобы отправить - надо во-первых добавить его в модуль (не забыв выбрать тип устройства).
Во-вторых - сейчас есть команда set_level (её вы можете найти в broadlink.class.php)

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

    public function set_level($lvl){
        $packet = self::bytearray(16); 
        $packet[0] = 0x09;
        $packet[2] = 0xbb;
        $packet[3] = 0x06;
        $packet[9] = 0xfa;
        $packet[10] = 0x44;
        $packet[4] = $lvl;
        $this->send_packet(0x6a, $packet);
    } 
Она пытается повторить байты в этом пакете, который вы привели, изменяя при этом позицию как раз. Но первый (точнее сказать нулевой $packet[0]) байт при отправке явно должен быть другой...мы его не нашли пока...его надо смотреть в апстриме.
И чтобы отправить эту команду - в broadlink_debug_scr.php ищем

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

$payload = $rm->some_req();
И меняем на

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

$payload = $rm->set_level(100); //100 - для примера...позиция, которую вы хотите выставить...        
И вызываем, как я и писал с broadlink_debug_scr.php?mode=debug&ip=<ip карниза>. При каждом вызове эта команда должна выполняться.
Можно добавить в функцию возврат ответа, чтобы видеть, что приходит в ответ.

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

//заменить $this->send_packet(0x6a, $packet); на
$response=$this->send_packet(0x6a, $packet);
return $response;
от 0 до 100
За это сообщение автора Maxmudjon поблагодарил:
VooDooN (Пн авг 21, 2017 11:05 am)
Рейтинг: 1.16%
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Модуль Broadlink

Сообщение nick7zmail » Пн авг 21, 2017 11:14 am

А кстати можно апстрим расшифрованный? На который приходит этот ответ?
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
Maxmudjon
Сообщения: 25
Зарегистрирован: Ср авг 16, 2017 1:34 pm
Благодарил (а): 0
Поблагодарили: 1 раз

Re: Модуль Broadlink

Сообщение Maxmudjon » Пн авг 21, 2017 11:19 am

при вызове команда http://localhost/modules/dev_broadlink/ ... .168.100.2>
дает ошибка
Fatal error: Cannot redeclare aes128_cbc_encrypt() (previously declared in C:\_majordomo\htdocs\modules\dev_broadlink\broadlink_debug_scr.php:146) in C:\_majordomo\htdocs\modules\dev_broadlink\broadlink.class.php on line 5
Аватара пользователя
Maxmudjon
Сообщения: 25
Зарегистрирован: Ср авг 16, 2017 1:34 pm
Благодарил (а): 0
Поблагодарили: 1 раз

Re: Модуль Broadlink

Сообщение Maxmudjon » Пн авг 21, 2017 11:20 am

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

Re: Модуль Broadlink

Сообщение nick7zmail » Пн авг 21, 2017 11:28 am

Maxmudjon писал(а):при вызове команда http://localhost/modules/dev_broadlink/ ... .168.100.2>
дает ошибка
Fatal error: Cannot redeclare aes128_cbc_encrypt() (previously declared in C:\_majordomo\htdocs\modules\dev_broadlink\broadlink_debug_scr.php:146) in C:\_majordomo\htdocs\modules\dev_broadlink\broadlink.class.php on line 5
Сори...мой недосмотр...закоментируй /* вот так */ эту функцию в скрипте broadlink_debug_scr.php (и другие, которые дублируются в broadlink.class.php)
Надо просто скрипт к нормальному виду привести...я всё никак не доберусь...
Maxmudjon писал(а): что меня показать ?
Ну как пакет пойман, который в расшифровке? Через ePacket Capture? Там, когда сохраняли - выбирали (наверное) DownStream (то что пришло от устройства)...так же надо сохранить UpStream (то что отправилось на устройство), и прогнать через decrypt...чтобы можно было постоянно считывать статус - надо знать, как его запросить.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Ответить