Re: [Модуль] Broadlink (dev_broadlink)
Добавлено: Пн апр 13, 2020 9:43 am
Ошибки пишет какие нить? Что вообще пишет?
Код: Выделить всё
class RM extends Broadlink{
function __construct($h = "", $m = "", $p = 80, $d = 0x2712) {
parent::__construct($h, $m, $p, $d);
}
public function Enter_learning(){
$packet = self::bytearray(16);
$packet[0] = 0x04;
$packet[1] = 0x00;
$packet[2] = 0x03;
$this->send_packet(0x6a, $packet);
}
public function Send_data($data){
$packet = self::bytearray(4);
$packet[0] = 0xd0;
$packet[1] = 0x00;
$packet[2] = 0x02;
if(is_array($data)){
$packet = array_merge($packet, $data);
}
else{
for($i = 0 ; $i < strlen($data) ; $i+=2){
array_push($packet, hexdec(substr($data, $i, 2)));
}
}
$this->send_packet(0x6a, $packet);
}
public function Check_data(){
$code = array();
$packet = self::bytearray(16);
$packet[0] = 0x04;
$packet[1] = 0x00;
$packet[2] = 0x04;
$response = $this->send_packet(0x6a, $packet);
if (empty($response))
return false;
$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()));
$code = array_slice($payload, 0x04);
}
}
return $code;
}
public function Check_temperature(){
$temp = false;
$packet = $this->bytearray(16);
$packet[0] = 0x01;
$response = $this->send_packet(0x6a, $packet);
if (empty($response))
return false;
$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()));
$temp = ($payload[0x4] * 10 + $payload[0x5]) / 10.0;
}
}
return $temp;
}
}мини завелся, прошка так же пишет ошибку кодаnick7zmail писал(а): Пн апр 13, 2020 11:05 am Гугленье показало что в РМ4 добавили какие-то хедеры при отправке и запросах...Проверьте, если в /modules/dev_broadlink/broadlink.class.php
строки 1026-1115 заменить наИ проверить заработает ли обучение и отправка команд.Немного кодаSPOILER_SHOWКод: Выделить всё
class RM extends Broadlink{ function __construct($h = "", $m = "", $p = 80, $d = 0x2712) { parent::__construct($h, $m, $p, $d); } public function Enter_learning(){ $packet = self::bytearray(16); $packet[0] = 0x04; $packet[1] = 0x00; $packet[2] = 0x03; $this->send_packet(0x6a, $packet); } public function Send_data($data){ $packet = self::bytearray(4); $packet[0] = 0xd0; $packet[1] = 0x00; $packet[2] = 0x02; if(is_array($data)){ $packet = array_merge($packet, $data); } else{ for($i = 0 ; $i < strlen($data) ; $i+=2){ array_push($packet, hexdec(substr($data, $i, 2))); } } $this->send_packet(0x6a, $packet); } public function Check_data(){ $code = array(); $packet = self::bytearray(16); $packet[0] = 0x04; $packet[1] = 0x00; $packet[2] = 0x04; $response = $this->send_packet(0x6a, $packet); if (empty($response)) return false; $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())); $code = array_slice($payload, 0x04); } } return $code; } public function Check_temperature(){ $temp = false; $packet = $this->bytearray(16); $packet[0] = 0x01; $response = $this->send_packet(0x6a, $packet); if (empty($response)) return false; $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())); $temp = ($payload[0x4] * 10 + $payload[0x5]) / 10.0; } } return $temp; } }
До этого мини тоже не работали, после замены кода на ваш и замены кода устройства мини заработалиnick7zmail писал(а): Пн апр 13, 2020 3:40 pm А до этого мини не работал? И записывает и шлёт команды?
Модель у ПРО-шки какую кажет при поиске? Пробовали на ИК командах или на RF?
Привет!nick7zmail писал(а): Вт апр 14, 2020 12:03 am Так...мини значит добавлю...а вот с про-вопрос. Можете трафик отснифить, и, желательно, расшифровать? Где то в теме тут инструкция есть.