[Модуль] Tuya

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

Модератор: immortal

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

Re: [Модуль] Tuya

Сообщение fandaymon » Вт янв 04, 2022 6:23 pm

zroman07 писал(а):
Чт дек 30, 2021 5:37 pm
Поскольку при помощи MQTT изменения прилетают практически сразу, появилась возможность сделать такой вот объект для замка
Tuya_Door_Log.jpg
Tuya_Door_Log.jpg (4.11 КБ) 1935 просмотров
При открывании замка МДМ получает информацию о том кто, когда и как открыл замок, заносит её в свойство log и приветствует пришедшего. Для определения юзера используется функция TuyaDoorUser, которая принимает dev_id замка и идентификатор вида "номер метрики-id", например, для отпечатков это будет 1-3, где 3 это номер отпечатка

В файле TuyaLock.txt находится шаблон класса
Помогите, пожалуйста, разобраться с использованием функции TuyaDoorUser. Не пойму как и куда подгрузить файл TuyaLock.txt. Все три цикла работают (зеленые). Создал объект Tuya_Lock, занес все свойства, что определил модуль, связал с данными из модуля, но в объекте значения свойств не появились (а, может, они там и не должны появляться). В MQTT тоже ничего не появилось. В приложении зарегился, пальцы привязал к пользователям, но как теперь эти данные присвоить dev_id не понятно. Пробовал создать методы на основе содержимого вашего файлика TuyaLock.txt, но как они должны запускаться - не ясно :( Если запускаю вручную выдает ошибку. Распишите, если можно, поподробнее шаги настройки замка (как настроено у Вас)
В объектах есть кнопочка Инструменты, её надо нажать тогда появится возможность импортировать объект из файла. Нужно импортировать txt файл. После импорта в объектах лоден появится класс TuyaLock. Далее надо добавить новый объект этого класса и в свойство DevID вписать Device ID вашего замка. Далее в модуле привязать метрики к соответствующим свойствам. В принципе всё. Если цикл IOT будет отрабатывать нормально, то при открывании замка система будет приветствовать вошедшего. Например, если замок открыли отпечатком с номером 1, модуль найдёт в облаке какому именно пользователю соответствует этот отпечаток и впишет в свойство когда, кто и каким образом открыл замок. На сцену у меня выведен связанный объект, поэтому вся эта информация выведется в информер
За это сообщение автора fandaymon поблагодарил:
zroman07 (Ср янв 05, 2022 4:01 pm)
Рейтинг: 1.16%
fandaymon
Сообщения: 1553
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

Re: [Модуль] Tuya

Сообщение fandaymon » Вт янв 04, 2022 6:23 pm

utax писал(а):
Пн янв 03, 2022 10:12 am
fandaymon писал(а):
Чт дек 30, 2021 7:05 pm
utax писал(а):
Чт дек 30, 2021 3:44 pm
Настройки проверял, в приложении на андроиде всё нормально заходит на аккаунт и с компа пробовал. Да настройки и не менялись никогда.
А какой код страны? МДМ стоит на малинке?
7? Или я что-то не понимаю, выбрано Европа Калининград?
Да, для России это должна быть семёрка
amelnyk
Сообщения: 78
Зарегистрирован: Вт ноя 22, 2016 12:17 am
Благодарил (а): 13 раз
Поблагодарили: 2 раза

Re: [Модуль] Tuya

Сообщение amelnyk » Вт янв 04, 2022 7:55 pm

подскажите, замок норм интегрируется в мд? чтоб открыть/закрыть. такой вот:
https://a.aliexpress.com/_A8dRfa
Gimdow door lock
fandaymon
Сообщения: 1553
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

Re: [Модуль] Tuya

Сообщение fandaymon » Вт янв 04, 2022 9:16 pm

amelnyk писал(а):
Вт янв 04, 2022 7:55 pm
подскажите, замок норм интегрируется в мд? чтоб открыть/закрыть. такой вот:
https://a.aliexpress.com/_A8dRfa
Gimdow door lock
Чтобы открыть/закрыт удаленно - теоретически наверное возможно, но надо разбираться имея такой замок на руках, у меня замок wifi и такой возможности нету. Честно говоря не вижу, где это может быть востребовано. Для разового открытия есть временные пароли
zroman07
Сообщения: 4
Зарегистрирован: Пн ноя 22, 2021 7:22 pm
Благодарил (а): 12 раз
Поблагодарили: 0

Re: [Модуль] Tuya

Сообщение zroman07 » Чт янв 06, 2022 10:16 am

fandaymon писал(а):
Вт янв 04, 2022 6:23 pm
zroman07 писал(а):
Чт дек 30, 2021 5:37 pm
Помогите, пожалуйста, разобраться с использованием функции TuyaDoorUser. Не пойму как и куда подгрузить файл TuyaLock.txt. Все три цикла работают (зеленые). Создал объект Tuya_Lock, занес все свойства, что определил модуль, связал с данными из модуля, но в объекте значения свойств не появились (а, может, они там и не должны появляться). В MQTT тоже ничего не появилось. В приложении зарегился, пальцы привязал к пользователям, но как теперь эти данные присвоить dev_id не понятно. Пробовал создать методы на основе содержимого вашего файлика TuyaLock.txt, но как они должны запускаться - не ясно :( Если запускаю вручную выдает ошибку. Распишите, если можно, поподробнее шаги настройки замка (как настроено у Вас)
В объектах есть кнопочка Инструменты, её надо нажать тогда появится возможность импортировать объект из файла. Нужно импортировать txt файл. После импорта в объектах лоден появится класс TuyaLock. Далее надо добавить новый объект этого класса и в свойство DevID вписать Device ID вашего замка. Далее в модуле привязать метрики к соответствующим свойствам. В принципе всё. Если цикл IOT будет отрабатывать нормально, то при открывании замка система будет приветствовать вошедшего. Например, если замок открыли отпечатком с номером 1, модуль найдёт в облаке какому именно пользователю соответствует этот отпечаток и впишет в свойство когда, кто и каким образом открыл замок. На сцену у меня выведен связанный объект, поэтому вся эта информация выведется в информер
Импортировать не получилось, класс не появляется. Поэтому создал класс TuyaLock вручную, в нем объект Tuya_Lock, в свойство Tuya_Lock.DevID вписал ID замка, Связал свойства с модулем и ... модуль не видит чей палец. Попробовал запустить код:

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

$user = TuyaDoorUser($this->getProperty('DevID'),'1-'.$params['NEW_VALUE']);
$log = date("Y-m-d H:i:s") .' ';

if ($user != 'Неизвестный') {
 $log .= $user.', отпечатком';
 say($user.', добро пожаловать домой!', 3);
} else {
 $log .= 'неизвестный открыл карточкой';
}
$this->setProperty('log', $log);
выдает ошибку: Warning: Invalid argument supplied for foreach() in /var/www/html/lib/tuyaFunctions.php on line 114, а в Tuya_Lock.log -
2022-01-06 09:11:40 неизвестный открыл карточкой.
почему-то не может определить хозяина пальца( '1-'.$params['NEW_VALUE']).
Цикл IOT работает (сценарии автоматизации из вкладки "сцены" появились и срабатывают)
Изображение
а вот значения данных из модуля почему-то не изменяются
Изображение
может надо какие-то значения в метрику руками заносить? Не пойму что и где я делаю не так...
amelnyk
Сообщения: 78
Зарегистрирован: Вт ноя 22, 2016 12:17 am
Благодарил (а): 13 раз
Поблагодарили: 2 раза

Re: [Модуль] Tuya

Сообщение amelnyk » Чт янв 06, 2022 1:15 pm

fandaymon писал(а):
Вт янв 04, 2022 9:16 pm
amelnyk писал(а):
Вт янв 04, 2022 7:55 pm
подскажите, замок норм интегрируется в мд? чтоб открыть/закрыть. такой вот:
https://a.aliexpress.com/_A8dRfa
Gimdow door lock
Чтобы открыть/закрыт удаленно - теоретически наверное возможно, но надо разбираться имея такой замок на руках, у меня замок wifi и такой возможности нету. Честно говоря не вижу, где это может быть востребовано. Для разового открытия есть временные пароли
мне не то, чтобы удаленно, наоборот локально,чтоб он сам закрывался когда ставлю на сигналку к примеру. дверей много, бегать каждую тыкать неудобно.
fandaymon
Сообщения: 1553
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

Re: [Модуль] Tuya

Сообщение fandaymon » Чт янв 06, 2022 4:55 pm

amelnyk писал(а):
Чт янв 06, 2022 1:15 pm
fandaymon писал(а):
Вт янв 04, 2022 9:16 pm
amelnyk писал(а):
Вт янв 04, 2022 7:55 pm
подскажите, замок норм интегрируется в мд? чтоб открыть/закрыть. такой вот:
https://a.aliexpress.com/_A8dRfa
Gimdow door lock
Чтобы открыть/закрыт удаленно - теоретически наверное возможно, но надо разбираться имея такой замок на руках, у меня замок wifi и такой возможности нету. Честно говоря не вижу, где это может быть востребовано. Для разового открытия есть временные пароли
мне не то, чтобы удаленно, наоборот локально,чтоб он сам закрывался когда ставлю на сигналку к примеру. дверей много, бегать каждую тыкать неудобно.
Ммм... Мой замок сам закрывается через какое-то время после открывания
fandaymon
Сообщения: 1553
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

Re: [Модуль] Tuya

Сообщение fandaymon » Чт янв 06, 2022 5:08 pm

zroman07 писал(а):
Чт янв 06, 2022 10:16 am
fandaymon писал(а):
Вт янв 04, 2022 6:23 pm
zroman07 писал(а):
Чт дек 30, 2021 5:37 pm
Помогите, пожалуйста, разобраться с использованием функции TuyaDoorUser. Не пойму как и куда подгрузить файл TuyaLock.txt. Все три цикла работают (зеленые). Создал объект Tuya_Lock, занес все свойства, что определил модуль, связал с данными из модуля, но в объекте значения свойств не появились (а, может, они там и не должны появляться). В MQTT тоже ничего не появилось. В приложении зарегился, пальцы привязал к пользователям, но как теперь эти данные присвоить dev_id не понятно. Пробовал создать методы на основе содержимого вашего файлика TuyaLock.txt, но как они должны запускаться - не ясно :( Если запускаю вручную выдает ошибку. Распишите, если можно, поподробнее шаги настройки замка (как настроено у Вас)
В объектах есть кнопочка Инструменты, её надо нажать тогда появится возможность импортировать объект из файла. Нужно импортировать txt файл. После импорта в объектах лоден появится класс TuyaLock. Далее надо добавить новый объект этого класса и в свойство DevID вписать Device ID вашего замка. Далее в модуле привязать метрики к соответствующим свойствам. В принципе всё. Если цикл IOT будет отрабатывать нормально, то при открывании замка система будет приветствовать вошедшего. Например, если замок открыли отпечатком с номером 1, модуль найдёт в облаке какому именно пользователю соответствует этот отпечаток и впишет в свойство когда, кто и каким образом открыл замок. На сцену у меня выведен связанный объект, поэтому вся эта информация выведется в информер
Импортировать не получилось, класс не появляется. Поэтому создал класс TuyaLock вручную, в нем объект Tuya_Lock, в свойство Tuya_Lock.DevID вписал ID замка, Связал свойства с модулем и ... модуль не видит чей палец. Попробовал запустить код:

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

$user = TuyaDoorUser($this->getProperty('DevID'),'1-'.$params['NEW_VALUE']);
$log = date("Y-m-d H:i:s") .' ';

if ($user != 'Неизвестный') {
 $log .= $user.', отпечатком';
 say($user.', добро пожаловать домой!', 3);
} else {
 $log .= 'неизвестный открыл карточкой';
}
$this->setProperty('log', $log);
выдает ошибку: Warning: Invalid argument supplied for foreach() in /var/www/html/lib/tuyaFunctions.php on line 114, а в Tuya_Lock.log -
2022-01-06 09:11:40 неизвестный открыл карточкой.
почему-то не может определить хозяина пальца( '1-'.$params['NEW_VALUE']).
Цикл IOT работает (сценарии автоматизации из вкладки "сцены" появились и срабатывают)
Изображение
а вот значения данных из модуля почему-то не изменяются
Изображение
может надо какие-то значения в метрику руками заносить? Не пойму что и где я делаю не так...
Запускать код просто так не получится - так как код просто не получит информации о id user. В классе TuyaLock 3 метода - CardUnlocked, FingerPrintUnlocked, PasswordUnlocked, каждый из которых вызывается при изменении соответствующего свойства. И когда метод вызывается таким образом, он получает информацию о том как изменилось свойство

Сценарии автоматизации работают через облако, так что это не показатель работы MQTT... Чтобы проверить получает ли модуль какую-то информацию из IOT надо поставить какому-нибудь устройству считывать статус по MQTT, включить дебаг и смотреть в логе X-Ray приходит ли от устройства какая-либо информация
За это сообщение автора fandaymon поблагодарил:
zroman07 (Вс янв 09, 2022 1:19 am)
Рейтинг: 1.16%
amelnyk
Сообщения: 78
Зарегистрирован: Вт ноя 22, 2016 12:17 am
Благодарил (а): 13 раз
Поблагодарили: 2 раза

Re: [Модуль] Tuya

Сообщение amelnyk » Чт янв 06, 2022 7:04 pm

fandaymon писал(а):
Чт янв 06, 2022 4:55 pm
Ммм... Мой замок сам закрывается через какое-то время после открывания
сильно часто двери открываются/закрываются чтоб еще каждый раз ждать пока он открутит замок))
но суть не в этом.
лана, закажу, будем надеяться заведется
fandaymon
Сообщения: 1553
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

Re: [Модуль] Tuya

Сообщение fandaymon » Чт янв 06, 2022 8:20 pm

amelnyk писал(а):
Чт янв 06, 2022 7:04 pm
fandaymon писал(а):
Чт янв 06, 2022 4:55 pm
Ммм... Мой замок сам закрывается через какое-то время после открывания
сильно часто двери открываются/закрываются чтоб еще каждый раз ждать пока он открутит замок))
но суть не в этом.
лана, закажу, будем надеяться заведется
У моего конструкция другая - открывается поворотом ручки. Изнутри открывается всегда, а снаружи только после ввода отпечатка, карточки или пароля. Т.е. если саму дверь закрыли, то ничего делать не надо - её снаружи уже не откроешь.
Ответить