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

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

Модератор: immortal

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

Re: Модуль Broadlink

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

Да, там есть какие-то 3 карниза dooya...по идее модуль должен был их опознать...мож я чо не доделал =D...
Попробуйте после "case 1:" (60 строка в broadlink.class.php) вписать строку "case 100:"
Вот так должно выглядеть

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

            case 1:
            case 100:
                return new SP2($h, $m, $p, $d); 
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
igorewa
Сообщения: 515
Зарегистрирован: Ср дек 21, 2016 11:54 pm
Откуда: Киев
Благодарил (а): 12 раз
Поблагодарили: 43 раза

Re: Модуль Broadlink

Сообщение igorewa » Ср июл 12, 2017 10:19 am

добавил строку и появился карниз ))
Теперь я так понимаю нужно возвращаться на 10 страниц назад и учиться отлавливать пакеты ?)
Вложения
53453.png
53453.png (123.66 КБ) 6458 просмотров
ASUS H110T, I5 7500, DDR4-16Gb, SSD256 . WIN10 64 (LTSB)
Аватара пользователя
igorewa
Сообщения: 515
Зарегистрирован: Ср дек 21, 2016 11:54 pm
Откуда: Киев
Благодарил (а): 12 раз
Поблагодарили: 43 раза

Re: Модуль Broadlink

Сообщение igorewa » Ср июл 12, 2017 10:36 am

nick7zmail скажите есть надежда увидеть вот эту реализацию https://github.com/foxikmax/airHome-PHP в модуле Broadlink или отдельным модулем?
ASUS H110T, I5 7500, DDR4-16Gb, SSD256 . WIN10 64 (LTSB)
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Модуль Broadlink

Сообщение nick7zmail » Ср июл 12, 2017 11:10 am

igorewa писал(а):добавил строку и появился карниз ))
Теперь я так понимаю нужно возвращаться на 10 страниц назад и учиться отлавливать пакеты ?)
Если хотите заставить его работать по вайфай - то да)))
igorewa писал(а):nick7zmail скажите есть надежда увидеть вот эту реализацию https://github.com/foxikmax/airHome-PHP в модуле Broadlink или отдельным модулем?
А что мешает сделать такую реализацию?? Там тупо записанные команды при разных температурах, скоростях вращения, положениях шторки и т.п. Эти команды точно так же можно записать в модуль, и вывести на сцену.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
dmw
Сообщения: 469
Зарегистрирован: Вт мар 12, 2013 1:22 am
Благодарил (а): 41 раз
Поблагодарили: 81 раз

Re: Модуль Broadlink

Сообщение dmw » Ср июл 12, 2017 11:16 am

igorewa писал(а):nick7zmail скажите есть надежда увидеть вот эту реализацию https://github.com/foxikmax/airHome-PHP в модуле Broadlink или отдельным модулем?
Это будет работать до первой смены ключей, после чего процедуру вытаскивания шифрованных пакетов wireshark-ом придется повторять для каждой кнопки заново. Это не красивое решение.
Делайте свои кнопки стандартным обучением.
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Модуль Broadlink

Сообщение nick7zmail » Ср июл 12, 2017 9:09 pm

Добавил несколько функций для отладки новых устройств...прежде всего скрипт на основе скрипта dmw...
Запустить его можно по адресу

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

ваш_ip/modules/dev_broadlink/broadlink_debug_scr.php?ip=ip_устройства
Но предварительно внести устройство в модуль, и можете глянуть в broadlink.class.php
Там добавил несколько комментариев для функций...думаю суть должна быть понятна
Пару строк кодаПоказать

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

public function some_action($params){//пример команды

        $packet = self::bytearray(16); 
        $packet[0] = 0x02; //стартовый байт, определяющий действие (команда)
        $packet[4] = 1; // управляющий байт в команде
        $this->send_packet(0x6a, $packet);
    }

    public function some_req(){

        $packet = self::bytearray(16); //размер массива может быть другой...но как правило 16 или 48 байт
        $packet[0] = 0x01; //стартовый байт, определяющий действие (запрос)
        $response = $this->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 = $this->byte2array(aes128_cbc_decrypt($this->key(), $this->byte($enc_payload), $this->iv()));    
                return $payload;
            }

        }

        return false;

        
    }
Если дебажите уже известное устройство нужно заменить вызываемую функцию в broadlink_debug_scr.php
$payload = $rm->some_req(); на нужную функцию от устройства...а вывод этой функции заменить с return $data на return $payload, если хотите увидеть полный пэйлод...

Не сильно замудрил?))) или пока лучше просто скрипты от dmw в изначальном виде включить? (чтоб их не искать...а то теряются под сообщениями =D)

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

Re: Модуль Broadlink

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

nick7zmail писал(а):VooDooN, подскажи, каким эмулятором пользуешься? Скачал андроид-студио (первое, что под руку попалось), там в комплекте АVD-интерфейс есть...дак вот-не в один образ андроида - ни в старый, ни в новый - e-control не захотел вставать =(.
Я 2 дня промучился с разными вариантами и преградами. Установил Genymotion триальную (зарегился и указал, что для личного использования). Она на основе VirtualBox. Ориентировался на эту китайскую статью: http://www.jianshu.com/p/028b10bc3dd1.
В результате, запустил E-Control после такой процедуры:
1) В проге добавил виртуальный девайс Samsung Galaxy S4 - 4.4.4 - API19.
2) Скачал из инета (не помню ссылку) дополнение Genymotion-ARM-Translation_v1.2.zip.
3) Запустил полностью виртуальный девайс, чтобы видно было рабочий стол.
4) Перетащил файл Genymotion-ARM-Translation_v1.2.zip мышкой на этот девайс и он спросил его установить. Согласился.
5) После установки файла он попросил перегрузить девайс. Можно просто закрыть его крестиком и подождать несколько секунд, чтобы все сохранилось.
6) В настройках этого виртуального девайса нашел переключение сети из бриджа на конкретный сетевой адаптер (это нужно, чтобы E-Control видел девайсы в локальной сети)
7) Загрузил виртуальный девайс и установил E-Control (вроде тоже перетаскиванием).
Те же самые шаги делал для других виртуальных девайсов - не помогало. Несколько раз удалял девайс и завново добавлял. Получилось. Виртуальный девайс имеет свой IP и можно ловить пакеты. Прога IHC не запускается на этом же девайсе.
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Модуль Broadlink

Сообщение nick7zmail » Чт июл 13, 2017 9:50 am

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

Re: Модуль Broadlink

Сообщение igorewa » Чт июл 13, 2017 10:19 am

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

Я пытаюсь пробить карниз, в модуле он определен и добавлен , что нужно добавить в broadlink_debug_scr.php ?
Вложения
Снимок экрана 2017-07-13 в 10.13.31.png
Снимок экрана 2017-07-13 в 10.13.31.png (98.94 КБ) 6351 просмотр
Снимок экрана 2017-07-13 в 10.15.28.png
Снимок экрана 2017-07-13 в 10.15.28.png (14.29 КБ) 6351 просмотр
ASUS H110T, I5 7500, DDR4-16Gb, SSD256 . WIN10 64 (LTSB)
nalog
Сообщения: 10
Зарегистрирован: Чт июл 13, 2017 7:52 am
Благодарил (а): 2 раза
Поблагодарили: 2 раза

Re: Модуль Broadlink

Сообщение nalog » Чт июл 13, 2017 10:35 am

Господа не подскажете как вы используете полученные в RM Bridge коды. У меня есть RF выключатели, к сцене приделал кнопку с методами

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

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