[Модуль] Tuya

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

Модератор: immortal

fandaymon
Сообщения: 1576
Зарегистрирован: Сб янв 13, 2018 5:00 pm

Re: [Модуль] Tuya

Сообщение fandaymon »

amelnyk писал(а): Пн янв 24, 2022 6:22 pm
надо немного помощи)
есть проект, в нём подключенный акк приложения, девайсы все с приложения видны, сам замок в том числе (на скрине).
где подключать API Locker? запутался там немного
tuya_lock.jpg
tuya_lock.jpg (109.14 КБ) 3183 просмотра
amelnyk
Сообщения: 78
Зарегистрирован: Вт ноя 22, 2016 12:17 am

Re: [Модуль] Tuya

Сообщение amelnyk »

спасибо. через апишку клауда завелось открытие и закрытие замка.
оставлю для истории, може кому пригодится(кейс открытия/закрытия без пароля)

1. Разрешаем в настройках замка открытие без пароля
/v1.0/devices/[DEVICE_ID]/door-lock/remote-unlock/config
2. генерим временный тикет
/v1.0/smart-lock/devices/[DEVICE_ID]/password-ticket
3. открываем/закрываем этим методом
/v1.0/smart-lock/devices/[DEVICE_ID]/password-free/door-operate

теперь у меня вопрос как правильно заюзать метод с модуля

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

include_once(DIR_MODULES . 'tuya/tuya.class.php');
$tuya_module = new tuya();
$result = $tuya_module->Tuya_IOT_POST($url, $data, false);
этого достаточно? или надо какие доп методы еще дернуть?
и в Tuya_IOT_POST последний параметром тут true/false?

получаю ошибку "token invalid" при вызове Tuya_IOT_POST
fandaymon
Сообщения: 1576
Зарегистрирован: Сб янв 13, 2018 5:00 pm

Re: [Модуль] Tuya

Сообщение fandaymon »

amelnyk писал(а): Пн янв 24, 2022 7:34 pm спасибо. через апишку клауда завелось открытие и закрытие замка.
оставлю для истории, може кому пригодится(кейс открытия/закрытия без пароля)

1. Разрешаем в настройках замка открытие без пароля
/v1.0/devices/[DEVICE_ID]/door-lock/remote-unlock/config
2. генерим временный тикет
/v1.0/smart-lock/devices/[DEVICE_ID]/password-ticket
3. открываем/закрываем этим методом
/v1.0/smart-lock/devices/[DEVICE_ID]/password-free/door-operate

теперь у меня вопрос как правильно заюзать метод с модуля

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

include_once(DIR_MODULES . 'tuya/tuya.class.php');
$tuya_module = new tuya();
$result = $tuya_module->Tuya_IOT_POST($url, $data, false);
этого достаточно? или надо какие доп методы еще дернуть?
и в Tuya_IOT_POST последний параметром тут true/false?

получаю ошибку "token invalid" при вызове Tuya_IOT_POST
А цикл IOT завёлся? Токен для функции Tuya_IOT_POST получается именно оттуда

Сама функция работает примерно так

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

include_once(DIR_MODULES . 'tuya/tuya.class.php');
$tuya_module = new tuya();
$tuya_module->getConfig();

$uid = $tuya_module->config['TUYA_UID'];
$device_id = 'bfe76696f3d30b98afcmg4';
$data =    array(
        'type' => 'hls',
    );

$r_c = $tuya_module->Tuya_IOT_POST('/v1.0/users/'.$uid.'/devices/'.$device_id.'/stream/actions/allocate', $data,  0);
var_dump($r_c);
return;
Такой код, например, получает линк на HLS поток с камеры
amelnyk
Сообщения: 78
Зарегистрирован: Вт ноя 22, 2016 12:17 am

Re: [Модуль] Tuya

Сообщение amelnyk »

зелёным светится "Цикл IOT запущен", я так понимаю завелся норм

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

include_once(DIR_MODULES . 'tuya/tuya.class.php');
$tuya_module = new tuya();
$tuya_module->getConfig();

$deviceId = 'XXXX;
$url = '/v1.0/smart-lock/devices/'.$deviceId.'/password-ticket';
$data = array();
$result = $tuya_module->Tuya_IOT_POST($url, $data, true);
код выше всегда получает ошибку token invalid...

если вызвать Tuya_IOT_POST с false вконце
Tuya_IOT_POST($url, $data, false);
то метод отваливается по таймауту 60сек...

Upd: залипает в методе Tuya_IOT_POST на вызове

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

$result = $this->Tuya_IOT_Refresh();
там зацикливается в методе Tuya_IOT_Refresh

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

$token =  $this->Tuya_IOT_GET($url, '', true);
который внутри вызывает тот же Tuya_IOT_Refresh
fandaymon
Сообщения: 1576
Зарегистрирован: Сб янв 13, 2018 5:00 pm

Re: [Модуль] Tuya

Сообщение fandaymon »

amelnyk писал(а): Пн янв 24, 2022 8:33 pm зелёным светится "Цикл IOT запущен", я так понимаю завелся норм

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

include_once(DIR_MODULES . 'tuya/tuya.class.php');
$tuya_module = new tuya();
$tuya_module->getConfig();

$deviceId = 'XXXX;
$url = '/v1.0/smart-lock/devices/'.$deviceId.'/password-ticket';
$data = array();
$result = $tuya_module->Tuya_IOT_POST($url, $data, true);
код выше всегда получает ошибку token invalid...

если вызвать Tuya_IOT_POST с false вконце
Tuya_IOT_POST($url, $data, false);
то метод отваливается по таймауту 60сек...

Upd: залипает в методе Tuya_IOT_POST на вызове

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

$result = $this->Tuya_IOT_Refresh();
там зацикливается в методе Tuya_IOT_Refresh

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

$token =  $this->Tuya_IOT_GET($url, '', true);
который внутри вызывает тот же Tuya_IOT_Refresh
У меня код

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

include_once(DIR_MODULES . 'tuya/tuya.class.php');
$tuya_module = new tuya();
$tuya_module->getConfig();

$device_id = '6430387798f';
$data = array();

$r_c = $tuya_module->Tuya_IOT_POST('/v1.0/devices/'.$device_id.'/door-lock/password-ticket', $data,  0);
var_dump($r_c);
return;
возвращает ticket_id и ticket_key, как ему и положено...

и эта команда тоже

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

$r_c = $tuya_module->Tuya_IOT_POST('/v1.0/smart-lock/devices/'.$device_id.'/password-ticket', $data,  0);
amelnyk
Сообщения: 78
Зарегистрирован: Вт ноя 22, 2016 12:17 am

Re: [Модуль] Tuya

Сообщение amelnyk »

заработало после рестарта мжд.
перестало заходить в это условие в методе Tuya_IOT_POST:

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

if (!$token_managment and (time()>($this->config['TUYA_TOKEN_EXPIRE_TIME']-60))) 
потому и не циклится. но там видимо всё же есть какая-то бага при опеределнных условиях, которая рекурсивно циклит методы Tuya_IOT_Refresh и Tuya_IOT_GET.
fandaymon
Сообщения: 1576
Зарегистрирован: Сб янв 13, 2018 5:00 pm

Re: [Модуль] Tuya

Сообщение fandaymon »

amelnyk писал(а): Пн янв 24, 2022 11:29 pm заработало после рестарта мжд.
перестало заходить в это условие в методе Tuya_IOT_POST:

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

if (!$token_managment and (time()>($this->config['TUYA_TOKEN_EXPIRE_TIME']-60))) 
потому и не циклится. но там видимо всё же есть какая-то бага при опеределнных условиях, которая рекурсивно циклит методы Tuya_IOT_Refresh и Tuya_IOT_GET.
Посмотрю - баги возможны конечно, так как особо тестить времени не было...
f15370
Сообщения: 1
Зарегистрирован: Вт янв 25, 2022 3:50 pm

Re: [Модуль] Tuya

Сообщение f15370 »

Добрый день! Подскажите установил модуль подключил розетки, все работает метрику всю показывает, но сегодня подключил Wi-Fi счетчик и вместо понятной метрики просто набор букв? Это я что то сделал не так? В приложении tuya smart все показывает, а в модуле только намотанные киловатты, не силы тока не напряжения? Заранее благодарю за помощь!
Вложения
5183D7CE-48D0-4911-85F2-0FDF02B0D43C.png
5183D7CE-48D0-4911-85F2-0FDF02B0D43C.png (67.64 КБ) 3083 просмотра
Karman
Сообщения: 1
Зарегистрирован: Пн фев 07, 2022 12:18 pm

Re: [Модуль] Tuya

Сообщение Karman »

Здравствуйте! Изучив 90 страниц темы (больше пока не осилил), не нашёл ответа. Сам МД только изучаю, установлен на Windows 7. Установил модуль, на сайте iot.tuya.com зарегился. Подключённые две розетки, в облаке отображаются и через приложение управляются. Через модуль привязал к МД и вроде как появились в самом МД, но постоянно висит какая-то ошибка "цикл IOT остановлен". Ну и локально тоже не получается управлять. Буду рад Вашей помощи. Спасибо!
Вложения
логи ошибка.PNG
логи ошибка.PNG (29.98 КБ) 2973 просмотра
ошибка туя.PNG
ошибка туя.PNG (11.42 КБ) 2973 просмотра
ошибка2.PNG
ошибка2.PNG (28.33 КБ) 2973 просмотра
tox@1983
Сообщения: 6
Зарегистрирован: Вс апр 10, 2022 7:12 am

Re: [Модуль] Tuya

Сообщение tox@1983 »

Тоже самое! Устройство залетело. Статус вкл/выключено показывает если им управлять в другом приложении.
А вот в MajorDoMo оно не управляется. На ползунок не реагирует. Ни через облако, ни в ручную по сети. Никак. Что не правильно делаю?


Изображение
https://radikalfoto.ru/ib/nZw1eUZ9SF
Ответить