[Модуль] Tuya

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

Модератор: immortal

Daniral
Сообщения: 82
Зарегистрирован: Чт мар 05, 2020 5:11 pm
Благодарил (а): 18 раз
Поблагодарили: 1 раз

Re: [Модуль] Tuya

Сообщение Daniral » Чт ноя 19, 2020 5:47 pm

fandaymon писал(а):
Чт ноя 19, 2020 4:22 pm
Daniral писал(а):
Чт ноя 19, 2020 3:17 pm
fandaymon писал(а):
Чт ноя 19, 2020 2:29 pm
Daniral писал(а):
Чт ноя 19, 2020 10:45 am
Добрый день.
Подскажите пожалуйста что я не так делаю.
Подключил к приложению Tuya две wi-fi розетки.
В модуле ввел логин и пароль.
Розетки нашлись и нормально работают с мд.
Но как только я ввожу айпи все сразу перестает работать.
Сотру айпи опять работает.
Ключи тоже ввожу.
Очень хотелось бы чтобы работало все локально.
А так без интернета не работает.
Надо включить debug цикла и посмотреть в логе что не так.
Судя по интернетам, где-то с середины лета у людей некоторые розетки перестали отдавать статус при локальном запросе статуса. Всякими костылями это можно побороть, но мне на чем экспериментировать - все мои розетки, лампы, удлинители работают. Если есть желание наладить работу своих розеток, то можно попробовать поработать так - я присылаю сценарий, вы его запускаете и присылаете мне результат, я делаю изменения в сценарии, отсылаю его обратно и т.д. Долго, муторно, но пока какого-то другого способа я не вижу...



Если включить из приложения а потом заслать в мд цифру
(посылал 0,1,2,3) то розетка выключается. А на включение не работает

Дебаг у меня включен. Только я не знаю где смотреть что он пишет
Смотреть вывод дебага в X-Ray
14:37:15 0.91600600 14:37:15 Tuya: Status=json obj data unvalid
14:37:15 0.89146300 14:37:15 Tuya: Get Local Status MazganSpalnya
14:37:14 0.87996400 14:37:14 Tuya: alt. status=
14:37:14 0.83484000 14:37:14 Tuya: get alt. status
14:37:14 0.83449700 14:37:14 Tuya: Status=json obj data unvalid
14:37:14 0.82628200 14:37:14 Tuya: Get Local Status MazganSpalnya
14:37:13 0.81829500 14:37:13 Tuya: alt. status=
14:37:13 0.78657800 14:37:13 Tuya: get alt. status
14:37:13 0.78621300 14:37:13 Tuya: Status=json obj data unvalid
14:37:13 0.77644200 14:37:13 Tuya: Get Local Status MazganSpalnya
fandaymon
Сообщения: 1570
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 40 раз
Поблагодарили: 578 раз

Re: [Модуль] Tuya

Сообщение fandaymon » Чт ноя 19, 2020 8:16 pm

Daniral писал(а):
Чт ноя 19, 2020 5:47 pm

14:37:15 0.91600600 14:37:15 Tuya: Status=json obj data unvalid
14:37:15 0.89146300 14:37:15 Tuya: Get Local Status MazganSpalnya
14:37:14 0.87996400 14:37:14 Tuya: alt. status=
14:37:14 0.83484000 14:37:14 Tuya: get alt. status
14:37:14 0.83449700 14:37:14 Tuya: Status=json obj data unvalid
14:37:14 0.82628200 14:37:14 Tuya: Get Local Status MazganSpalnya
14:37:13 0.81829500 14:37:13 Tuya: alt. status=
14:37:13 0.78657800 14:37:13 Tuya: get alt. status
14:37:13 0.78621300 14:37:13 Tuya: Status=json obj data unvalid
14:37:13 0.77644200 14:37:13 Tuya: Get Local Status MazganSpalnya
О! Вот это тот самый случай! РОзетка вместо статуса отдаёт ошибку json. В цикле после этого запрашивается альтернативный статус, как это сделано в модуле для HA, но альтернативный запрос ничего не возвращает - надо эксперементировать...
За это сообщение автора fandaymon поблагодарил:
smp36 (Пт ноя 20, 2020 10:33 pm)
Рейтинг: 1.16%
Daniral
Сообщения: 82
Зарегистрирован: Чт мар 05, 2020 5:11 pm
Благодарил (а): 18 раз
Поблагодарили: 1 раз

Re: [Модуль] Tuya

Сообщение Daniral » Чт ноя 19, 2020 10:05 pm

fandaymon писал(а):
Чт ноя 19, 2020 8:16 pm
Daniral писал(а):
Чт ноя 19, 2020 5:47 pm

14:37:15 0.91600600 14:37:15 Tuya: Status=json obj data unvalid
14:37:15 0.89146300 14:37:15 Tuya: Get Local Status MazganSpalnya
14:37:14 0.87996400 14:37:14 Tuya: alt. status=
14:37:14 0.83484000 14:37:14 Tuya: get alt. status
14:37:14 0.83449700 14:37:14 Tuya: Status=json obj data unvalid
14:37:14 0.82628200 14:37:14 Tuya: Get Local Status MazganSpalnya
14:37:13 0.81829500 14:37:13 Tuya: alt. status=
14:37:13 0.78657800 14:37:13 Tuya: get alt. status
14:37:13 0.78621300 14:37:13 Tuya: Status=json obj data unvalid
14:37:13 0.77644200 14:37:13 Tuya: Get Local Status MazganSpalnya
О! Вот это тот самый случай! РОзетка вместо статуса отдаёт ошибку json. В цикле после этого запрашивается альтернативный статус, как это сделано в модуле для HA, но альтернативный запрос ничего не возвращает - надо эксперементировать...
Я не против. Чё делать? Только в логе последнее обновление в 14 было. Я тут отправлял из мд. Из приложения. Новых логов нету. Так и должно быть?

Я перехватывал пакеты которые приложение шлёт на розетку. Если надо могу тебе их перекинуть
fandaymon
Сообщения: 1570
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 40 раз
Поблагодарили: 578 раз

Re: [Модуль] Tuya

Сообщение fandaymon » Пт ноя 20, 2020 10:48 pm

Daniral писал(а):
Чт ноя 19, 2020 10:05 pm
fandaymon писал(а):
Чт ноя 19, 2020 8:16 pm
Daniral писал(а):
Чт ноя 19, 2020 5:47 pm

14:37:15 0.91600600 14:37:15 Tuya: Status=json obj data unvalid
14:37:15 0.89146300 14:37:15 Tuya: Get Local Status MazganSpalnya
14:37:14 0.87996400 14:37:14 Tuya: alt. status=
14:37:14 0.83484000 14:37:14 Tuya: get alt. status
14:37:14 0.83449700 14:37:14 Tuya: Status=json obj data unvalid
14:37:14 0.82628200 14:37:14 Tuya: Get Local Status MazganSpalnya
14:37:13 0.81829500 14:37:13 Tuya: alt. status=
14:37:13 0.78657800 14:37:13 Tuya: get alt. status
14:37:13 0.78621300 14:37:13 Tuya: Status=json obj data unvalid
14:37:13 0.77644200 14:37:13 Tuya: Get Local Status MazganSpalnya
О! Вот это тот самый случай! РОзетка вместо статуса отдаёт ошибку json. В цикле после этого запрашивается альтернативный статус, как это сделано в модуле для HA, но альтернативный запрос ничего не возвращает - надо эксперементировать...
Я не против. Чё делать? Только в логе последнее обновление в 14 было. Я тут отправлял из мд. Из приложения. Новых логов нету. Так и должно быть?

Я перехватывал пакеты которые приложение шлёт на розетку. Если надо могу тебе их перекинуть
Такое ощущение, что стоит опрос каждую секунду? Если это так, то лучше секунд 5 поставить
У меня, наверное, в воскресенье будет время заняться модулем, постараюсь ещё раз прошерстить написанное на nodejs и питоне для туи и собрать скрипт со всякими вариантами запросов - нужно будет запустить этот скрипт и прислать мне ответ

Ну и с пультами надо бы доразобраться...
Daniral
Сообщения: 82
Зарегистрирован: Чт мар 05, 2020 5:11 pm
Благодарил (а): 18 раз
Поблагодарили: 1 раз

Re: [Модуль] Tuya

Сообщение Daniral » Сб ноя 21, 2020 9:52 pm

fandaymon писал(а):
Пт ноя 20, 2020 10:48 pm
Daniral писал(а):
Чт ноя 19, 2020 10:05 pm
fandaymon писал(а):
Чт ноя 19, 2020 8:16 pm
Daniral писал(а):
Чт ноя 19, 2020 5:47 pm

14:37:15 0.91600600 14:37:15 Tuya: Status=json obj data unvalid
14:37:15 0.89146300 14:37:15 Tuya: Get Local Status MazganSpalnya
14:37:14 0.87996400 14:37:14 Tuya: alt. status=
14:37:14 0.83484000 14:37:14 Tuya: get alt. status
14:37:14 0.83449700 14:37:14 Tuya: Status=json obj data unvalid
14:37:14 0.82628200 14:37:14 Tuya: Get Local Status MazganSpalnya
14:37:13 0.81829500 14:37:13 Tuya: alt. status=
14:37:13 0.78657800 14:37:13 Tuya: get alt. status
14:37:13 0.78621300 14:37:13 Tuya: Status=json obj data unvalid
14:37:13 0.77644200 14:37:13 Tuya: Get Local Status MazganSpalnya
О! Вот это тот самый случай! РОзетка вместо статуса отдаёт ошибку json. В цикле после этого запрашивается альтернативный статус, как это сделано в модуле для HA, но альтернативный запрос ничего не возвращает - надо эксперементировать...
Я не против. Чё делать? Только в логе последнее обновление в 14 было. Я тут отправлял из мд. Из приложения. Новых логов нету. Так и должно быть?

Я перехватывал пакеты которые приложение шлёт на розетку. Если надо могу тебе их перекинуть
Такое ощущение, что стоит опрос каждую секунду? Если это так, то лучше секунд 5 поставить
У меня, наверное, в воскресенье будет время заняться модулем, постараюсь ещё раз прошерстить написанное на nodejs и питоне для туи и собрать скрипт со всякими вариантами запросов - нужно будет запустить этот скрипт и прислать мне ответ

Ну и с пультами надо бы доразобраться...
Оки
fandaymon
Сообщения: 1570
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 40 раз
Поблагодарили: 578 раз

Re: [Модуль] Tuya

Сообщение fandaymon » Пн ноя 23, 2020 3:53 pm

Daniral писал(а):
Чт ноя 19, 2020 10:05 pm
fandaymon писал(а):
Чт ноя 19, 2020 8:16 pm
Daniral писал(а):
Чт ноя 19, 2020 5:47 pm

14:37:15 0.91600600 14:37:15 Tuya: Status=json obj data unvalid
14:37:15 0.89146300 14:37:15 Tuya: Get Local Status MazganSpalnya
14:37:14 0.87996400 14:37:14 Tuya: alt. status=
14:37:14 0.83484000 14:37:14 Tuya: get alt. status
14:37:14 0.83449700 14:37:14 Tuya: Status=json obj data unvalid
14:37:14 0.82628200 14:37:14 Tuya: Get Local Status MazganSpalnya
14:37:13 0.81829500 14:37:13 Tuya: alt. status=
14:37:13 0.78657800 14:37:13 Tuya: get alt. status
14:37:13 0.78621300 14:37:13 Tuya: Status=json obj data unvalid
14:37:13 0.77644200 14:37:13 Tuya: Get Local Status MazganSpalnya
О! Вот это тот самый случай! РОзетка вместо статуса отдаёт ошибку json. В цикле после этого запрашивается альтернативный статус, как это сделано в модуле для HA, но альтернативный запрос ничего не возвращает - надо эксперементировать...
Я не против. Чё делать? Только в логе последнее обновление в 14 было. Я тут отправлял из мд. Из приложения. Новых логов нету. Так и должно быть?

Я перехватывал пакеты которые приложение шлёт на розетку. Если надо могу тебе их перекинуть
Вот такой вот сценарий можно попробовать запустить

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

include_once(DIR_MODULES . 'tuya/tuya.class.php');
$tuya_module = new tuya();
$device = SQLSelectOne("SELECT ID, TITLE, LOCAL_KEY, DEV_ID, DEV_IP FROM tudevices WHERE TITLE='MazganSpalnya'");

$local_key = $device['LOCAL_KEY'];
$dev_id = $device['DEV_ID'];
$local_ip = $device['DEV_IP'];

echo 'Len of Dev_ID=' . strlen($dev_id) . '<BR>';

$hexByte="0a";
$json='{"gwId":"'.$dev_id.'","devId":"'.$dev_id.'"}';

$payload =$tuya_module->TuyaLocalEncrypt($hexByte, $json, $local_key);

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array("sec" => 1, "usec" => 0));

$buf='';
socket_connect($socket, $local_ip, 6668);
$send=socket_send($socket, $payload, strlen($payload), 0);
$reciv=socket_recv ( $socket , $buf , 2048 ,0);
$result = substr($buf,20,-8);
$result = openssl_decrypt($result, 'AES-128-ECB', $local_key, OPENSSL_RAW_DATA);
$status=json_decode($result);
echo ' Status=' .$result .'<BR>';

$reciv=socket_recv ( $socket , $buf , 2048 ,0);
$result = substr($buf,20,-8);
$result = openssl_decrypt($result, 'AES-128-ECB', $local_key, OPENSSL_RAW_DATA);
$status=json_decode($result);
echo ' Status1=' .$result .'<BR>';


$hexByte="0d";
$dps= '{"1": null, "2": null}';
$json='{"gwId":"'.$dev_id.'","devId":"'.$dev_id.'", "t": "'.time().'", "dps": ' . $dps . '}';
$payload =$tuya_module->TuyaLocalEncrypt($hexByte, $json, $local_key);

$buf='';
		   
$send=socket_send($socket, $payload, strlen($payload), 0);
$reciv=socket_recv ( $socket , $buf , 2048 ,0);
		 
$result = substr($buf,20,-8);
$result = openssl_decrypt($result, 'AES-128-ECB', $local_key, OPENSSL_RAW_DATA);
		   
$status=json_decode($result);
					
echo  ' Tuya: alt. status=' . $result . '<BR>';

$reciv=socket_recv ( $socket , $buf , 2048 ,0);
$result = substr($buf,20,-8);
$result = openssl_decrypt($result, 'AES-128-ECB', $local_key, OPENSSL_RAW_DATA);
$status=json_decode($result);
echo 'Alt  Status 1=' .$result .'<BR>';

				
socket_close($socket);
Pamfletik
Сообщения: 28
Зарегистрирован: Вт апр 10, 2018 1:17 pm
Благодарил (а): 6 раз
Поблагодарили: 0

Re: [Модуль] Tuya

Сообщение Pamfletik » Пн ноя 23, 2020 11:43 pm

Попробовал сценарий со своей розеткой. Которая локально не отдает данные. Заменил TITLE='MazganSpalnya' на своё название. Получил:
Len of Dev_ID=22
Status=
Status1=
Tuya: alt. status=
Alt Status 1=
Попробовал с другмми устройствами которые работают локально, с одним (диммер) получил
Len of Dev_ID=20
Status={"devId":"03****************c","dps":{"1":false,"3":255,"101":25}}
с остальными (2 кн. выключатели) тоже Len of Dev_ID=22 и пусто
fandaymon
Сообщения: 1570
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 40 раз
Поблагодарили: 578 раз

Re: [Модуль] Tuya

Сообщение fandaymon » Вт ноя 24, 2020 12:34 am

Pamfletik писал(а):
Пн ноя 23, 2020 11:43 pm
Попробовал сценарий со своей розеткой. Которая локально не отдает данные. Заменил TITLE='MazganSpalnya' на своё название. Получил:
Len of Dev_ID=22
Status=
Status1=
Tuya: alt. status=
Alt Status 1=
Попробовал с другмми устройствами которые работают локально, с одним (диммер) получил
Len of Dev_ID=20
Status={"devId":"03****************c","dps":{"1":false,"3":255,"101":25}}
с остальными (2 кн. выключатели) тоже Len of Dev_ID=22 и пусто
О! А тут розетка с длиной ID=22! Такой случай тоже встречался как исключение... По идее с ней должна работать ветка с альтернативным статусом. В $dps должны быть перечислены все ключи, сколько их есть у розетки... Попробовать заменить код, начинающийся с $hexByte="0d" на такой

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

$hexByte="0d";

$sql = "SELECT TITLE from tucommands WHERE DEVICE_ID='" . $device['ID']. "' AND TITLE!='online'";
$command = SQLSelect($sql);
$dps='';


foreach ($command as $d) {
 $dps.= ','.'"'.$d['TITLE'] .'":null';
}

$json='{"devId":"'.$dev_id.'","uid":"","t":"'.time().'","dps": ' . $dps . '}';
$payload =$tuya_module->TuyaLocalEncrypt($hexByte, $json, $local_key);

$buf='';
		   
$send=socket_send($socket, $payload, strlen($payload), 0);
$reciv=socket_recv ( $socket , $buf , 2048 ,0);

$result = substr($buf,20,-8);
$result = openssl_decrypt($result, 'AES-128-ECB', $local_key, OPENSSL_RAW_DATA);
		   
$status=json_decode($result );

echo bin2hex($buf ).'<BR>';					
echo  ' Tuya: alt. status=' . $result;

		
socket_close($socket);
Да и ещё - перед тем как запускать скрипт, локальный цикл туи надо остановить - в XRAY - Services
Daniral
Сообщения: 82
Зарегистрирован: Чт мар 05, 2020 5:11 pm
Благодарил (а): 18 раз
Поблагодарили: 1 раз

Re: [Модуль] Tuya

Сообщение Daniral » Вт ноя 24, 2020 11:18 am

fandaymon писал(а):
Пн ноя 23, 2020 3:53 pm
Daniral писал(а):
Чт ноя 19, 2020 10:05 pm
fandaymon писал(а):
Чт ноя 19, 2020 8:16 pm
Daniral писал(а):
Чт ноя 19, 2020 5:47 pm

14:37:15 0.91600600 14:37:15 Tuya: Status=json obj data unvalid
14:37:15 0.89146300 14:37:15 Tuya: Get Local Status MazganSpalnya
14:37:14 0.87996400 14:37:14 Tuya: alt. status=
14:37:14 0.83484000 14:37:14 Tuya: get alt. status
14:37:14 0.83449700 14:37:14 Tuya: Status=json obj data unvalid
14:37:14 0.82628200 14:37:14 Tuya: Get Local Status MazganSpalnya
14:37:13 0.81829500 14:37:13 Tuya: alt. status=
14:37:13 0.78657800 14:37:13 Tuya: get alt. status
14:37:13 0.78621300 14:37:13 Tuya: Status=json obj data unvalid
14:37:13 0.77644200 14:37:13 Tuya: Get Local Status MazganSpalnya
О! Вот это тот самый случай! РОзетка вместо статуса отдаёт ошибку json. В цикле после этого запрашивается альтернативный статус, как это сделано в модуле для HA, но альтернативный запрос ничего не возвращает - надо эксперементировать...
Я не против. Чё делать? Только в логе последнее обновление в 14 было. Я тут отправлял из мд. Из приложения. Новых логов нету. Так и должно быть?

Я перехватывал пакеты которые приложение шлёт на розетку. Если надо могу тебе их перекинуть
Вот такой вот сценарий можно попробовать запустить

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

include_once(DIR_MODULES . 'tuya/tuya.class.php');
$tuya_module = new tuya();
$device = SQLSelectOne("SELECT ID, TITLE, LOCAL_KEY, DEV_ID, DEV_IP FROM tudevices WHERE TITLE='MazganSpalnya'");

$local_key = $device['LOCAL_KEY'];
$dev_id = $device['DEV_ID'];
$local_ip = $device['DEV_IP'];

echo 'Len of Dev_ID=' . strlen($dev_id) . '<BR>';

$hexByte="0a";
$json='{"gwId":"'.$dev_id.'","devId":"'.$dev_id.'"}';

$payload =$tuya_module->TuyaLocalEncrypt($hexByte, $json, $local_key);

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array("sec" => 1, "usec" => 0));

$buf='';
socket_connect($socket, $local_ip, 6668);
$send=socket_send($socket, $payload, strlen($payload), 0);
$reciv=socket_recv ( $socket , $buf , 2048 ,0);
$result = substr($buf,20,-8);
$result = openssl_decrypt($result, 'AES-128-ECB', $local_key, OPENSSL_RAW_DATA);
$status=json_decode($result);
echo ' Status=' .$result .'<BR>';

$reciv=socket_recv ( $socket , $buf , 2048 ,0);
$result = substr($buf,20,-8);
$result = openssl_decrypt($result, 'AES-128-ECB', $local_key, OPENSSL_RAW_DATA);
$status=json_decode($result);
echo ' Status1=' .$result .'<BR>';


$hexByte="0d";
$dps= '{"1": null, "2": null}';
$json='{"gwId":"'.$dev_id.'","devId":"'.$dev_id.'", "t": "'.time().'", "dps": ' . $dps . '}';
$payload =$tuya_module->TuyaLocalEncrypt($hexByte, $json, $local_key);

$buf='';
		   
$send=socket_send($socket, $payload, strlen($payload), 0);
$reciv=socket_recv ( $socket , $buf , 2048 ,0);
		 
$result = substr($buf,20,-8);
$result = openssl_decrypt($result, 'AES-128-ECB', $local_key, OPENSSL_RAW_DATA);
		   
$status=json_decode($result);
					
echo  ' Tuya: alt. status=' . $result . '<BR>';

$reciv=socket_recv ( $socket , $buf , 2048 ,0);
$result = substr($buf,20,-8);
$result = openssl_decrypt($result, 'AES-128-ECB', $local_key, OPENSSL_RAW_DATA);
$status=json_decode($result);
echo 'Alt  Status 1=' .$result .'<BR>';

				
socket_close($socket);
Len of Dev_ID=22
Status=json obj data unvalid
Status1=
Tuya: alt. status=
Alt Status 1=

До замены
Daniral
Сообщения: 82
Зарегистрирован: Чт мар 05, 2020 5:11 pm
Благодарил (а): 18 раз
Поблагодарили: 1 раз

Re: [Модуль] Tuya

Сообщение Daniral » Вт ноя 24, 2020 11:45 am

fandaymon писал(а):
Вт ноя 24, 2020 12:34 am
Pamfletik писал(а):
Пн ноя 23, 2020 11:43 pm
Попробовал сценарий со своей розеткой. Которая локально не отдает данные. Заменил TITLE='MazganSpalnya' на своё название. Получил:
Len of Dev_ID=22
Status=
Status1=
Tuya: alt. status=
Alt Status 1=
Попробовал с другмми устройствами которые работают локально, с одним (диммер) получил
Len of Dev_ID=20
Status={"devId":"03****************c","dps":{"1":false,"3":255,"101":25}}
с остальными (2 кн. выключатели) тоже Len of Dev_ID=22 и пусто
О! А тут розетка с длиной ID=22! Такой случай тоже встречался как исключение... По идее с ней должна работать ветка с альтернативным статусом. В $dps должны быть перечислены все ключи, сколько их есть у розетки... Попробовать заменить код, начинающийся с $hexByte="0d" на такой

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

$hexByte="0d";

$sql = "SELECT TITLE from tucommands WHERE DEVICE_ID='" . $device['ID']. "' AND TITLE!='online'";
$command = SQLSelect($sql);
$dps='';


foreach ($command as $d) {
 $dps.= ','.'"'.$d['TITLE'] .'":null';
}

$json='{"devId":"'.$dev_id.'","uid":"","t":"'.time().'","dps": ' . $dps . '}';
$payload =$tuya_module->TuyaLocalEncrypt($hexByte, $json, $local_key);

$buf='';
		   
$send=socket_send($socket, $payload, strlen($payload), 0);
$reciv=socket_recv ( $socket , $buf , 2048 ,0);

$result = substr($buf,20,-8);
$result = openssl_decrypt($result, 'AES-128-ECB', $local_key, OPENSSL_RAW_DATA);
		   
$status=json_decode($result );

echo bin2hex($buf ).'<BR>';					
echo  ' Tuya: alt. status=' . $result;

		
socket_close($socket);
Да и ещё - перед тем как запускать скрипт, локальный цикл туи надо остановить - в XRAY - Services
Len of Dev_ID=22
Status=json obj data unvalid
Status1=
000055aa000000000000000d0000002c0000000149d2434632d59f1f543e300daa9c35ba6c8829bc94ee32ef311b29e13609cb88f608e4c50000aa55
Tuya: alt. status=data format error

После замены
Ответить