Перепроверил еще раз ключ, все верно, я его копирую в точности как в отловленном пакете, 16 символовfandaymon писал(а): ↑Пн мар 09, 2020 2:32 amУстройство на наш запрос ничего не отвечает. Скорее всего ключ не правильный...Husky писал(а): ↑Пн мар 09, 2020 2:16 amВот такое выдает:fandaymon писал(а): ↑Пн мар 09, 2020 1:02 amПроверить легко - надо сделать новый сценарий, скопировать туда такой код
В $local_key, $local_ip и $dev_id записать свои и запуститьКод: Выделить всё
include_once(DIR_MODULES . 'tuya/tuya.class.php'); $tuya_module = new tuya(); $local_key=''; $local_ip=''; $dev_id=''; $gw_id=$dev_id; $prefix="000055aa00000000000000"; $suffix="000000000000aa55"; $hexByte="0a"; $json='{"gwId":"'.$gw_id.'","devId":"'.$dev_id.'"}'; $json_payload=openssl_encrypt($json, 'AES-128-ECB', $local_key, OPENSSL_RAW_DATA); $postfix_payload = hex2bin(bin2hex($json_payload) . $suffix); $postfix_payload_hex_len = dechex(strlen($postfix_payload)); $buffer = hex2bin($prefix . $hexByte . '000000' . $postfix_payload_hex_len ) . $postfix_payload; $buffer=bin2hex($buffer); $buffer1=strtoupper(substr($buffer,0,-16)); $hex_crc = dechex(crc32(hex2bin($buffer1))) ; $buffer=substr($buffer,0,-16) .($hex_crc).substr($buffer,-8); $data=$tuya_module->Tuya_send_receive(hex2bin($buffer),$local_ip); $result = substr($data,20,-8); $result = openssl_decrypt($result, 'AES-128-ECB', $local_key, OPENSSL_RAW_DATA); var_dump($result);
$dev_id это общая часть для всех розеток, т.е до знака подчеркиванияNULL Это var_dump($data);Код: Выделить всё
Warning: hex2bin(): Hexadecimal input string must have an even length in /var/www/html/modules/scripts/scripts.class.php(151) : eval()'d code on line 26 NULL bool(false)
Иногда пишет:
Код: Выделить всё
Warning: hex2bin(): Hexadecimal input string must have an even length in /var/www/html/modules/scripts/scripts.class.php(151) : eval()'d code on line 26
Warning: socket_recv(): unable to read from socket [104]: Connection reset by peer in /var/www/html/modules/tuya/tuya.class.php on line 466
Warning: socket_send(): unable to write to socket [32]: Broken pipe in /var/www/html/modules/tuya/tuya.class.php on line 462
Warning: socket_send(): unable to write to socket [32]: Broken pipe in /var/www/html/modules/tuya/tuya.class.php on line 462