[Модуль] Tuya

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

Модератор: immortal

fandaymon
Сообщения: 1553
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

Re: [Модуль] Tuya

Сообщение fandaymon » Пн янв 24, 2022 6:32 pm

amelnyk писал(а):
Пн янв 24, 2022 6:22 pm

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

Re: [Модуль] Tuya

Сообщение 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
fandaymon
Сообщения: 1553
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

Re: [Модуль] Tuya

Сообщение fandaymon » Пн янв 24, 2022 8:23 pm

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
Благодарил (а): 13 раз
Поблагодарили: 2 раза

Re: [Модуль] Tuya

Сообщение 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
fandaymon
Сообщения: 1553
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

Re: [Модуль] Tuya

Сообщение fandaymon » Пн янв 24, 2022 10:56 pm

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
Благодарил (а): 13 раз
Поблагодарили: 2 раза

Re: [Модуль] Tuya

Сообщение 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.
fandaymon
Сообщения: 1553
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

Re: [Модуль] Tuya

Сообщение fandaymon » Пн янв 24, 2022 11:49 pm

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
Благодарил (а): 0
Поблагодарили: 0

Re: [Модуль] Tuya

Сообщение f15370 » Вт янв 25, 2022 3:55 pm

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

Re: [Модуль] Tuya

Сообщение Karman » Пн фев 07, 2022 1:12 pm

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

Re: [Модуль] Tuya

Сообщение tox@1983 » Вс апр 10, 2022 7:19 am

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


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