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

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

Модератор: immortal

Аватара пользователя
igorewa
Сообщения: 515
Зарегистрирован: Ср дек 21, 2016 11:54 pm
Откуда: Киев
Благодарил (а): 12 раз
Поблагодарили: 43 раза

Re: Модуль Broadlink

Сообщение igorewa » Вт июл 18, 2017 11:07 pm

nick7zmail писал(а):Итак...как и обещал - презентую добавленные функции MS1

Теперь по карнизам dooya. Дописал класс "вслепую", функций пока не вводил никаких...надо потестить как работает...для этого откройте \modules\dev_broadlink\broadlink_debug_scr.php, измените строку $payload = $rm->some_req(); на $payload = $rm->set_level(<число>); где число попробовать от 0 до 255, и откройте в браузере http://<ваш_IP>/modules/dev_broadlink/broadlink_debug_scr.php?ip=<айпи_штор>
(естественно перед этим добавить шторы в модуль, если ещё не добавлены).
сделал , в браузере - payload decrypted: и все
ASUS H110T, I5 7500, DDR4-16Gb, SSD256 . WIN10 64 (LTSB)
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Модуль Broadlink

Сообщение nick7zmail » Вт июл 18, 2017 11:09 pm

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

Re: Модуль Broadlink

Сообщение igorewa » Вт июл 18, 2017 11:13 pm

return? есть только это-
Пробовал 0,1,10,240,255 шторы не реагируют
Вложения
Снимок экрана 2017-07-18 в 23.08.43.png
Снимок экрана 2017-07-18 в 23.08.43.png (19.28 КБ) 5290 просмотров
ASUS H110T, I5 7500, DDR4-16Gb, SSD256 . WIN10 64 (LTSB)
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Модуль Broadlink

Сообщение nick7zmail » Вт июл 18, 2017 11:39 pm

Да да...там так и должно быть...хм...надеялся, что сработает)))
Давай попробуем тогда воссоздать пакет, который он шлёт (что бы там не скрывалось)))
Зайди в broadlink.class.php, найди в конце class DOOYA extends Broadlink
и допиши в функцию set_level

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

    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[4] = $lvl; замени на $packet[4] = 0x2b; или на 0xb2 (в одном из пакетов точно было такое число) и попробуй так же (но тут число 0-255 бесполезно будет вставлять...оно роли не будет играть)...с любым значением можно попробовать(с пустым сругнется скорее всего, так что с 255 пробуй к примеру)...
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
igorewa
Сообщения: 515
Зарегистрирован: Ср дек 21, 2016 11:54 pm
Откуда: Киев
Благодарил (а): 12 раз
Поблагодарили: 43 раза

Re: Модуль Broadlink

Сообщение igorewa » Вт июл 18, 2017 11:48 pm

Все выше перечисленное перепробовал, тишина. А с пустым значением ругнулось.
ASUS H110T, I5 7500, DDR4-16Gb, SSD256 . WIN10 64 (LTSB)
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Модуль Broadlink

Сообщение nick7zmail » Ср июл 19, 2017 6:01 am

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

Re: Модуль Broadlink

Сообщение vitt76 » Ср июл 19, 2017 2:55 pm

nick7zmail, спасибо за MS1, вернусь домой - буду все пробовать!
Подскажи, а чем можно проверить, онлайн колонка или нет, перед тем как слать плей? Я жаловался чуть выше, что колонка пропадает и не появляется вновь. Я дергаю метод плей, система думает, что колонка играет, а она молчит.
Broadlink + Orange Pi PC ARMBIAN 5.31
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Модуль Broadlink

Сообщение nick7zmail » Ср июл 19, 2017 3:35 pm

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

Re: Модуль Broadlink

Сообщение VooDooN » Ср июл 19, 2017 4:11 pm

Есть новости по SP3S и отлову мощности.

Если отправить SP3S запрос в байтах

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

$packet = bytearray(10);
     $packet[0x00] = 0x08;
    $packet[0x02] = 0xFE;
    $packet[0x03] = 0x01;
    $packet[0x04] = 0x05;
    $packet[0x05] = 0x01;
    $packet[0x09] = 0x2D; 
То в ответ придут такие байты (после расшифровки)

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

08 00 fe 01 01 80 12 00  00 a0 00 00 00 00 00 00
Где 6-й и 7-й байт отвечают за целое число (нужно потестить еще в больших числах, чтобы понять как их объеденить), а 5-й байт отвечает за число после запятой. Байты считаю с 0. В данном случае в E-Control было значение 12,8
Сложно пока оформить в виде кода. Попытаюсь, но сложнее всего придумать как 2 байта объеденить, чтобы получить целое число. Вечером попытаюсь еще поэкспериментировать с большими значениями.

Использовал такой драфт-код:

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

 function SP_Check_energy(){
     $packet = bytearray(10);
     $packet[0x00] = 0x08;
    $packet[0x02] = 0xFE;
    $packet[0x03] = 0x01;
    $packet[0x04] = 0x05;
    $packet[0x05] = 0x01;
    $packet[0x09] = 0x2D;
    
    $response = send_packet(0x6a, $packet);
    $err = hexdec(sprintf("%x%x", $response[0x23], $response[0x22]));
//    if($err == 0){
        $enc_payload = array_slice($response, 0x38);
//        if(count($enc_payload) > 0){
            $payload = byte2array(aes128_cbc_decrypt(key2str(), byte($enc_payload), iv2str()));
//               $energy = ????;
//          }
//    }
      return $payload;
//    return $energy;
 } 
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Модуль Broadlink

Сообщение nick7zmail » Ср июл 19, 2017 5:05 pm

Что подразумевается под объединить? Сложить или просто склеить?

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