Поддерживается работа с устройствами, сценами и пультами ДУ.
Модуль в состоянии перманентной бетты.
Ставится из Маркета дополнений - Оборудование - Tuya Smarthome
для работы модуля необходимо установить пакет php-bcmath, в убунту или дебиан sudo apt install php-bcmath
а так же в последних версиях mariadb включен строгий режим, отключить его можно поправив конфиг добавив в конфиг mysql строку в секцию [mysqld]:
sql_mode=IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
обычно конфиг лежит тут /etc/mysql/my.cnf или /etc/mysql/mariadb.conf.d/50-server.cnf
Работа с модулем начинается с установки на смартфон приложений Tuya Smart или Smart Life. Далее регистрируемся в приложении (запоминаем мейл, пароль и код страны) и привязываем к учётке свои устройства
Ставим модуль. Заходим в Настройки модуля и вносим необходимую информацию
После сохранения настроек модуль вытащит устройства, привязанные к учётке Tuya Smart или Smart Life Кнопка Сканировать поможет найти локальные адреса устройств и их версии (почти у всех новых устройств версия будет 3.3, но ещё встречаются устройства версии 3.1)
У каждого из устройств из списка есть свои настройки, кликнув на карандаш их можно посмотреть/отредактировать На вкладке Данные можно посмотреть метрики устройства и кликнув на название метрики посмотреть подробную информацию о метрике Галочка Конвертировать цвета актуальна для цветных ламп и позволяет автоматически конвертировать цвет из формата туи в формат МДМ и наоборот.
/100, /10, /2 - отвечают за обработку значений полученных от устройства. Из облака или локально мы можем получать только целые числа, поэтому перед передачей они умножаются на 10, 100 или 2 в зависимости от точности измерения. После получения значения модуль делит на соответствующий делитель
Value Scale - это степень 10 на которую делится значения (0 - делится на 1, 1 - делится на 10, 2 - на 100 и т.д.) Это встроенный механизм Туи, который работает автоматически на большем количестве устройств ( Но на некоторых термостатах всё-таки приходится подбирать какие-то из вышеупомянутых галочек)
Replace List работает так же как и в модуле MQTT - конвертирует значения согласно списку. Например такой replace list (white=1,colour=2), будет получать из туи значение colour, а записывать в МДМ двойку и наоборот
Далее идут минимальное/максимальное значение метрики, единица измерения, чтение/запись и тип метрики (enum - это список возможных значений)
На вкладке Сцены модуль показывает Сцены импортированные из Tuya Smart/Smart Life, а также позволяет запустить их и показывает команду по которой можно запустить сцену из скрипта (шаблона, сценария и т.п.)
На вкладке Пульты модуль показывает Пульты, импортированные из Tuya Smart/Smart Life, а также позволяет кликнуть на кнопку пульта и показывает команду по которой можно нажать на кнопку пульта из скрипта (шаблона, сценария и т.п.)
Работа пульта будет идти согласно установкам устройства пульт ИК, к которому привязан соответствующий пульт. Если в ИК-пульте внесены локальный адрес, локальный ключ и выбрано Управление - локальное, то код будет отправлен на ИК-пульт по локальной сети. Если же какой-то информации нету, или Управление стоит через облако, то код будет отправлен в облако
После чего добавить новый проект в Cloud - Develoment
Подписаться на API Smart (бесплатный триал):
Smart Home Devices Management
Authorization
Smart Home Family Management
Smart Home Scene Linkage
IoT Data Analytics
IoT Video Live Stream
Smart Lock Open Service
Industry Project Client Service
Device Status Notification
Затем необходимо добавить в проект свои устройства
Devices - Link Tuya App Account - Add App Acount и открыв приложение Tuya Smart на телефоне зайти в профиль и нажать на кнопку считывания QR-кода (в правом верхнем углу) подтвердить добавление устройств в проект
После чего зайти на вкладку Users и добавить юзера из Tuya Smart
Далее в настройках модуля внести Client ID и Client Secret от своего проекта и поставить галочку Использовать IOT облако
После сохранения настроек модуль попытается подключиться к IOT облаку. При успешном подключении модуль запустит MQTT клиент, на который будут прилетать изменения метрик устройств, включенных в проект
У каждого устройства в модуле есть пункт Статус: Через облако, Локально, Через MQTT. Чтобы значения из MQTT прилетали в метрики устройства нужно выбрать Через MQTT
Поскольку при помощи MQTT изменения прилетают практически сразу, появилась возможность сделать такой вот объект для замка
При открывании замка МДМ получает информацию о том кто, когда и как открыл замок, заносит её в свойство log и приветствует пришедшего. Для определения юзера используется функция TuyaDoorUser, которая принимает dev_id замка и идентификатор вида "номер метрики-id", например, для отпечатков это будет 1-3, где 3 это номер отпечатка
В файле TuyaLock.txt находится шаблон класса
Код: Выделить всё
$stats = Tuya_Web_Stats('478803312cf43204ab22', 17);
sg('object.property', $stats["years"][(int) date('Y')][date('m')]);
Первоначально, заходим в докер выбираем контейнер Majordomo (название контейнера может отличаться)
Открываем двойным кликом образ, и переходим в терминал
Жмем создать получаем терминал bash
Вводим команду
Код: Выделить всё
apt update
apt install php-bcmath
По поводу MariaDB
Файл custom.cnf
Ищем секцию [mysqld]
И вписываем
Код: Выделить всё
sql_mode=IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION