Страница 184 из 376
Re: Модуль Broadlink
Добавлено: Ср авг 23, 2017 8:22 pm
Maxmudjon
nick7zmail писал(а):Ах да...он видимо не дишифрованный...не суть...работает выставление свойства в МД? Открывается закрывается? Не нашли значение, чтобы остановить?
Отправлено с моего Xperia Z через Tapatalk
$packet[3] = 0x03; Остоновить
Re: Модуль Broadlink
Добавлено: Ср авг 23, 2017 8:55 pm
Maxmudjon
Народ кто знает как сделать заводской сброс карниз Dooya ?
Re: Модуль Broadlink
Добавлено: Ср авг 23, 2017 8:56 pm
nick7zmail
Maxmudjon писал(а):
$packet[3] = 0x03; Остоновить
Отлично!!! В таком случае, кажется я понял, как работает протокол...
Хотя есть несколько версий...
Попробуйте те, у кого карниз есть
$packet[3] = 0x00;
$packet[4] = 0x<позиция от 0 до 100>;
У Maxmudjon он пока не оправился)) позицию выставлять не хочет...
Re: Модуль Broadlink
Добавлено: Ср авг 23, 2017 8:59 pm
ovcher
Взгляни, а в этом куске все правильно я то байты формирую в нем может оно изначально здесь как то неправильно формирует:
Код: Выделить всё
function SP_Check_energy(){
$packet = bytearray(10);
$packet[0x00] = 0x04;
$packet[0x04] = 0xF2;
$packet[0x05] = 0x20;
$packet[0x06] = 0x02;
$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()));
echo $payload;
$energy = payload[0x06].payload[0x05].".".payload[0x04];
echo $energy;
// }
// }
return $payload;
}
Re: Модуль Broadlink
Добавлено: Ср авг 23, 2017 9:02 pm
nick7zmail
Да впринципе правильно...это был мой изначальный вариант...но под SP3S он не подошел...тебе тоже не подойдет скорее всего...
там 3х-значные цифры видел...и если "склеить" 0х05 и 0х06, когда оба 3х значные - 6-и значное число выйдет, что думаю, явно неправильно.
Re: Модуль Broadlink
Добавлено: Ср авг 23, 2017 9:05 pm
ovcher
т.е. как я понимаю нужен новый вариант?
Re: Модуль Broadlink
Добавлено: Ср авг 23, 2017 9:32 pm
nick7zmail
ovcher писал(а):т.е. как я понимаю нужен новый вариант?
Если тот, который ты написал работает - то не нужен...а работает ли он - можешь проверить только ты))) проверь на больших мощностях...нормальные цифры отдаёт?
Re: Модуль Broadlink
Добавлено: Ср авг 23, 2017 9:37 pm
nick7zmail
А теперь то, для чего затевалась вся эта дребудень с облаками =D

- 1.png (43.04 КБ) 6947 просмотров
Теперь можно экспортить коды напрямую с облака в модуль...одно НО...на мои пульты (при импорте) сругнулся - что слишком длинный URL (кто знает, как обойти - скажите...и так вроде post-метод используется...почему в url всё это попадает - хз)...так что если у вас тоже самое - делите по частям...и да...экспорт/импорт пока "скопом", какие импортировать/экспортировать коды - выбрать пока нельзя...можно только ручками удалять из json-строки...но это уж точно лучше, чем переобучать заново, особенно когда некоторые облачные пульты отказываются обучаться в модуле...короче в целом функционал рабочий)).
dmw спасибо за скриптик...делал на основе него.
Re: Модуль Broadlink
Добавлено: Ср авг 23, 2017 9:48 pm
ovcher
nick7zmail писал(а):ovcher писал(а):т.е. как я понимаю нужен новый вариант?
Если тот, который ты написал работает - то не нужен...а работает ли он - можешь проверить только ты))) проверь на больших мощностях...нормальные цифры отдаёт?
Писал не я, мне его дали чтобы чекнуть работоспособность. А я решил что он рабочий. Именно его работу я и приводил выше. Сам видишь там ерунда получается.
Выше ты мне дал обратную формулу. Я вот что думаю. Я попробую сейчас переделать этот скрипт на твой алгоритм, а потом поиграю вот с этим:
$b4="82";
$b5="3";
$b6="1b";
$data= (hexdec($b4)*10000+hexdec($b5)*100+hexdec($b6))/100;
echo $data;
Re: Модуль Broadlink
Добавлено: Чт авг 24, 2017 12:41 pm
ovcher
Дела никак

перебрал целую кучу вариантов так чтобы сработало и на большую и на маленькую нагрузку не получается.
Кстати взгляните на это:
Код: Выделить всё
public function Check_Energy(){
....
$data= (dechex($payload[0x7])*10000+dechex($payload[0x6])*100+dechex($payload[0x5]))/100;
и
public function Check_Energy_SP2(){
...
$data= (dechex($payload[0x4])*10000+dechex($payload[0x5])*100+dechex($payload[0x6]))/100;
Это текущий broadlink.class.php сдается мне что в какой то из них байты явно к верх ногами.
