[Модуль] Tuya

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

Модератор: immortal

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

Re: [Модуль] Tuya

Сообщение fandaymon » Пн май 08, 2023 1:26 am

grifindorec писал(а):
Чт май 04, 2023 7:17 pm
Добрый день.
Можете подсказать, где в sql хранится длина строк данного модуля?
Дело в том, что данные от устройства полностью не помещаются в необходимый мне столбец.
Что-то такое длина строк?! Что за устройство, что за данные?
fandaymon
Сообщения: 1550
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 570 раз

Re: [Модуль] Tuya

Сообщение fandaymon » Пн май 08, 2023 1:29 am

HeavyHard писал(а):
Пн май 08, 2023 12:31 am
Добрый день. В настройках шлюза и в настройках устройства стоит все локально. Но данные не передаёт. Через облако все работает ок. И так со всеми устройствами. В чем может быть проблема?
Посмотри какой протокол выдаёт Сканировать. Если 3.4 то на данный момент модуль этот протокол не поддерживает. Там туя ввела дополнительное шифрование по ключу сеанса
HeavyHard
Сообщения: 11
Зарегистрирован: Вт сен 29, 2020 4:04 pm
Благодарил (а): 1 раз
Поблагодарили: 0

Re: [Модуль] Tuya

Сообщение HeavyHard » Пн май 08, 2023 1:35 pm

fandaymon писал(а):
Пн май 08, 2023 1:29 am
HeavyHard писал(а):
Пн май 08, 2023 12:31 am
Добрый день. В настройках шлюза и в настройках устройства стоит все локально. Но данные не передаёт. Через облако все работает ок. И так со всеми устройствами. В чем может быть проблема?
Посмотри какой протокол выдаёт Сканировать. Если 3.4 то на данный момент модуль этот протокол не поддерживает. Там туя ввела дополнительное шифрование по ключу сеанса
Точно 3.4! Засада. Есть в планах поддержка модулем протокола 3.4 в будущем? Ещё вопрос: настроил tuya iot, служба горит зелёным. Как настроить передачу данных через mqtt? Нужно подписываться на какие-то топики? Или на 3.4 это тоже не работает?
HeavyHard
Сообщения: 11
Зарегистрирован: Вт сен 29, 2020 4:04 pm
Благодарил (а): 1 раз
Поблагодарили: 0

Re: [Модуль] Tuya

Сообщение HeavyHard » Пн май 08, 2023 1:54 pm

HeavyHard писал(а):
Пн май 08, 2023 1:35 pm
fandaymon писал(а):
Пн май 08, 2023 1:29 am
HeavyHard писал(а):
Пн май 08, 2023 12:31 am
Добрый день. В настройках шлюза и в настройках устройства стоит все локально. Но данные не передаёт. Через облако все работает ок. И так со всеми устройствами. В чем может быть проблема?
Посмотри какой протокол выдаёт Сканировать. Если 3.4 то на данный момент модуль этот протокол не поддерживает. Там туя ввела дополнительное шифрование по ключу сеанса
Точно 3.4! Засада. Есть в планах поддержка модулем протокола 3.4 в будущем? Ещё вопрос: настроил tuya iot, служба горит зелёным. Как настроить передачу данных через mqtt? Нужно подписываться на какие-то топики? Или на 3.4 это тоже не работает?
Снимок экрана 2023-05-08 134940.png
Снимок экрана 2023-05-08 134940.png (56.26 КБ) 850 просмотров
Снимок экрана 2023-05-08 135309.png
Снимок экрана 2023-05-08 135309.png (37.42 КБ) 850 просмотров
Вроде все по инструкции, но не работает.
fandaymon
Сообщения: 1550
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 570 раз

Re: [Модуль] Tuya

Сообщение fandaymon » Вт май 09, 2023 12:41 pm

HeavyHard писал(а):
Пн май 08, 2023 1:54 pm
Вроде все по инструкции, но не работает.
MQTT (IOT) работает только статус. Управление надо ставить через облако, так как локально протокол 3.4 модуль пока не поддерживает. Добавить поддержку 3.4 - в планах есть, пришло мне устройство с таким протоколом, но по срокам пока ничего не обещаю
За это сообщение автора fandaymon поблагодарил:
HeavyHard (Ср май 10, 2023 6:59 pm)
Рейтинг: 1.16%
grifindorec
Сообщения: 72
Зарегистрирован: Вт фев 02, 2021 12:54 pm
Благодарил (а): 18 раз
Поблагодарили: 5 раз

Re: [Модуль] Tuya

Сообщение grifindorec » Ср май 10, 2023 10:12 am

fandaymon писал(а):
Пн май 08, 2023 1:26 am
grifindorec писал(а):
Чт май 04, 2023 7:17 pm
Добрый день.
Можете подсказать, где в sql хранится длина строк данного модуля?
Дело в том, что данные от устройства полностью не помещаются в необходимый мне столбец.
Что-то такое длина строк?! Что за устройство, что за данные?
Тип устройства sp. Дверной звонок. При нажатии на сам звонок никакие свойства устройства не меняются, кроме "185". Опытным путем в ЛК tuya iot было выяснено, что при нажатии на звонок последние 4 знака данных всегда одинаковые. Проблема в том, что данные в это свойство 185 полность не помещается как раз на эти 4 знака.
Вложения
Screenshot_2023-05-10-10-03-05-393_com.android.chrome.jpg
Screenshot_2023-05-10-10-03-05-393_com.android.chrome.jpg (143.14 КБ) 764 просмотра
fandaymon
Сообщения: 1550
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 570 раз

Re: [Модуль] Tuya

Сообщение fandaymon » Ср май 10, 2023 3:36 pm

grifindorec писал(а):
Ср май 10, 2023 10:12 am
fandaymon писал(а):
Пн май 08, 2023 1:26 am
grifindorec писал(а):
Чт май 04, 2023 7:17 pm
Добрый день.
Можете подсказать, где в sql хранится длина строк данного модуля?
Дело в том, что данные от устройства полностью не помещаются в необходимый мне столбец.
Что-то такое длина строк?! Что за устройство, что за данные?
Тип устройства sp. Дверной звонок. При нажатии на сам звонок никакие свойства устройства не меняются, кроме "185". Опытным путем в ЛК tuya iot было выяснено, что при нажатии на звонок последние 4 знака данных всегда одинаковые. Проблема в том, что данные в это свойство 185 полность не помещается как раз на эти 4 знака.
Мммм... Интересно - такое мне ещё не попадалось... А когда звонок не нажат, то 4 знака разные?

Значения хранятся в таблице tucommands в поле VALUE varchar(255) NOT NULL DEFAULT ''
grifindorec
Сообщения: 72
Зарегистрирован: Вт фев 02, 2021 12:54 pm
Благодарил (а): 18 раз
Поблагодарили: 5 раз

Re: [Модуль] Tuya

Сообщение grifindorec » Вт май 16, 2023 12:35 pm

fandaymon писал(а):
Ср май 10, 2023 3:36 pm
grifindorec писал(а):
Ср май 10, 2023 10:12 am
fandaymon писал(а):
Пн май 08, 2023 1:26 am
grifindorec писал(а):
Чт май 04, 2023 7:17 pm
Добрый день.
Можете подсказать, где в sql хранится длина строк данного модуля?
Дело в том, что данные от устройства полностью не помещаются в необходимый мне столбец.
Что-то такое длина строк?! Что за устройство, что за данные?
Тип устройства sp. Дверной звонок. При нажатии на сам звонок никакие свойства устройства не меняются, кроме "185". Опытным путем в ЛК tuya iot было выяснено, что при нажатии на звонок последние 4 знака данных всегда одинаковые. Проблема в том, что данные в это свойство 185 полность не помещается как раз на эти 4 знака.
Мммм... Интересно - такое мне ещё не попадалось... А когда звонок не нажат, то 4 знака разные?

Значения хранятся в таблице tucommands в поле VALUE varchar(255) NOT NULL DEFAULT ''
Вот к примеру, если нажать на звонок с разницей в минуту.
eyJ2IjoiNS4wIiwiY21kIjoiaXBjX2Rvb3JiZWxsIiwidHlwZSI6ImltYWdlIiwid2l0aCI6InJlc291cmNlcyIsImZpbGVzIjpbWyJ0eS1ldS1zdG9yYWdlMzAtcGljIiwiL2NjZGQzYi00MDIyMTAyNC1od3hkNzU0NzEwM2U0ODZkYjQ4ZS9kZXRlY3QvMTY4MjkzNjUyNi5qcGVnIiwiYmJmYWE0ZDRiNGFhYjRkNCIsIjE2ODU1Mjg1MjgiXV19

eyJ2IjoiNS4wIiwiY21kIjoiaXBjX2Rvb3JiZWxsIiwidHlwZSI6ImltYWdlIiwid2l0aCI6InJlc291cmNlcyIsImZpbGVzIjpbWyJ0eS1ldS1zdG9yYWdlMzAtcGljIiwiL2NjZGQzYi00MDIyMTAyNC1od3hkNzU0NzEwM2U0ODZkYjQ4ZS9kZXRlY3QvMTY4Mjg3NjU1My5qcGVnIiwiOGY4OTIzNjlhOTg1ZWY4OCIsIjE2ODU0Njg1NTYiXV19
Как видно, последние символы XV19 совпадают.
Вот что приходит, если у звонка сработал датчик движения:
eyJ2IjoiNS4wIiwiY21kIjoiaXBjX21vdGlvbiIsInR5cGUiOiJpbWFnZSIsIndpdGgiOiJyZXNvdXJjZXMiLCJmaWxlcyI6W1sidHktZXUtc3RvcmFnZTMwLXBpYyIsIi9jY2RkM2ItNDAyMjEwMjQtaHd4ZDc1NDcxMDNlNDg2ZGI0OGUvZGV0ZWN0LzE2ODQyMjgyNzcuanBlZyIsIjc2NjY0MmY2NTI1MGYwMDYiLCIxNjg2ODIwMjc5Il1dfQ==

eyJ2IjoiNS4wIiwiY21kIjoiaXBjX21vdGlvbiIsInR5cGUiOiJpbWFnZSIsIndpdGgiOiJyZXNvdXJjZXMiLCJmaWxlcyI6W1sidHktZXUtc3RvcmFnZTMwLXBpYyIsIi9jY2RkM2ItNDAyMjEwMjQtaHd4ZDc1NDcxMDNlNDg2ZGI0OGUvZGV0ZWN0LzE2ODQyMjc3NDMuanBlZyIsIjYxZmI1NzlmMTJmMDViYjAiLCIxNjg2ODE5NzQ1Il1dfQ==
Тут как видно, тоже совпадает.

Изменил на VALUE varchar(300) utf8_general_ci. Данные все равно отобразились неполные. Возможно дело не в длине.
Приложу скрин, что в Tuya Iot показывает.
Вложения
Снимок экрана 2023-05-16 124311.png
Снимок экрана 2023-05-16 124311.png (80.52 КБ) 554 просмотра
Снимок экрана 2023-05-16 124042.png
Снимок экрана 2023-05-16 124042.png (26.49 КБ) 554 просмотра
odinvolk
Сообщения: 51
Зарегистрирован: Ср май 31, 2017 3:06 am
Откуда: odinwolk@gmail.com
Благодарил (а): 190 раз
Поблагодарили: 17 раз

Re: [Модуль] Tuya

Сообщение odinvolk » Вт май 16, 2023 5:52 pm

У меня такая же ситуация с камерой
2023-05-16_18-33-57.png
2023-05-16_18-33-57.png (34.37 КБ) 505 просмотров
СпойлерПоказать
eyJ2IjoiNC4wIiwiYnVja2V0IjoidHktZXUtc3RvcmFnZTMwIiwiY21kIjoiaXBjX21vdGlvbiIsInR5cGUiOiJpbWFnZSIsIndpdGgiOiJyZXNvdXJjZSIsImFsYXJtIjp0cnVlLCJ0aW1lIjoxNjg0MDYzMDAzLCJmaWxlcyI6W1siLzA1MjkxMC0xMjI4OTIxMC1zempzNWFkNDEzNjE2YmEyMDViMy91bmlmeS8xNjg0MDYzMDAzLmpwZWc
база тут не причем режется где то раньше
Последний раз редактировалось odinvolk Вт май 16, 2023 6:51 pm, всего редактировалось 8 раз.
odinvolk
Сообщения: 51
Зарегистрирован: Ср май 31, 2017 3:06 am
Откуда: odinwolk@gmail.com
Благодарил (а): 190 раз
Поблагодарили: 17 раз

Re: [Модуль] Tuya

Сообщение odinvolk » Вт май 16, 2023 6:15 pm

Вышел из положения таким образом

сделал свойство initiative_message
сделал метод initiative_message_decode

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

Код метода initiative_message_decode
СпойлерПоказать

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

$ot = $this->object_title; // название объекта 
$message = $this->getProperty('initiative_message'); // берём из свойства объекта, который привязан к модулю tuya
$dop = '"]]}'; // дописываем недостающие символы иначе json получается битый

sg($ot.'.initiative_message_d',base64_decode($message).$dop);  // вставляем в свойство декодированное сообщение

//  дальше если нужно. декодируем и разбираем сообщение по параметрам и вставляем в свойства
$base = base64_decode($message).$dop;  // декодируем из base64 и добавляем недостающие символы

// должны получить такую строку
//{"v":"4.0","bucket":"ty-eu-storage30","cmd":"ipc_motion","type":"image","with":"resource","alarm":true,"time":1682386398,"files":[["/052910-12289210-szjs5ad413616ba205b3/unify/1682386398.jpeg"]]} должны получить такую строку

//----------------------- Вытягиваем данные
$json = json_decode($base, true);
$ver = $json['v'];
$bucket = $json['bucket'];
$cmd = $json['cmd'];
$type = $json['type'];
$with = $json['with'];
$alarm = $json['alarm'];
$time = $json['time'];
$files = $json['files'][0]['0'];
//----------------------- Записываем данные в свойства объекта
sg($ot.'.v',$ver);
sg($ot.'.bucket',$bucket);
sg($ot.'.cmd',$cmd);
sg($ot.'.type',$type);
sg($ot.'.alarm',intval($alarm));
sg($ot.'.time',date('H:i:s d-m-Y', $time));
sg($ot.'.file',$files);
// ----------------------------------запускаем аларм метод
if ($alarm) {
    $this->callMethod('motionDetected');
}
а вот как фотки получить пока не знаю
За это сообщение автора odinvolk поблагодарил:
grifindorec (Вт май 16, 2023 10:08 pm)
Рейтинг: 1.16%
Connect ---- Telegram
Яндекс.Деньги для благодарностей за помощь или нажмите кнопку "Спасибо"!!!
Ответить