Re: Модуль Broadlink
Добавлено: Вс авг 20, 2017 9:16 pm
Еще раз обновился уже spmini нормально работает .
nick7zmail еще раз спасибо за модул
nick7zmail еще раз спасибо за модул
Код: Выделить всё
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);
}Код: Выделить всё
$payload = $rm->some_req(); Код: Выделить всё
$payload = $rm->set_level(100); //100 - для примера...позиция, которую вы хотите выставить... Код: Выделить всё
//заменить $this->send_packet(0x6a, $packet); на
$response=$this->send_packet(0x6a, $packet);
return $response; от 0 до 100nick7zmail писал(а):Эт хорошо)) А позиция от 0 до 100? или от 0 до 255? Или она вообще какими-то магическими единицами измеряется?)))может углом поворота...
Чтобы отправить - надо во-первых добавить его в модуль (не забыв выбрать тип устройства).
Во-вторых - сейчас есть команда set_level (её вы можете найти в broadlink.class.php)Она пытается повторить байты в этом пакете, который вы привели, изменяя при этом позицию как раз. Но первый (точнее сказать нулевой $packet[0]) байт при отправке явно должен быть другой...мы его не нашли пока...его надо смотреть в апстриме.Код: Выделить всё
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); }
И чтобы отправить эту команду - в broadlink_debug_scr.php ищемИ меняем наКод: Выделить всё
$payload = $rm->some_req();И вызываем, как я и писал с broadlink_debug_scr.php?mode=debug&ip=<ip карниза>. При каждом вызове эта команда должна выполняться.Код: Выделить всё
$payload = $rm->set_level(100); //100 - для примера...позиция, которую вы хотите выставить...
Можно добавить в функцию возврат ответа, чтобы видеть, что приходит в ответ.Код: Выделить всё
//заменить $this->send_packet(0x6a, $packet); на $response=$this->send_packet(0x6a, $packet); return $response;
что меня показать ?nick7zmail писал(а):А кстати можно апстрим расшифрованный? На который приходит этот ответ?
Сори...мой недосмотр...закоментируй /* вот так */ эту функцию в скрипте broadlink_debug_scr.php (и другие, которые дублируются в broadlink.class.php)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
Ну как пакет пойман, который в расшифровке? Через ePacket Capture? Там, когда сохраняли - выбирали (наверное) DownStream (то что пришло от устройства)...так же надо сохранить UpStream (то что отправилось на устройство), и прогнать через decrypt...чтобы можно было постоянно считывать статус - надо знать, как его запросить.Maxmudjon писал(а): что меня показать ?