MajorDoMo Модуль Tuya
Модуль для взаимодействия с устройствами Tuya через облако и локально.
Ставится из Маркета дополнений MajorDoMo - Оборудование - Tuya Smarthome
Для работы модуля необходимо установить пакет php-bcmath, в убунту или дебиан
sudo apt install php-bcmath
А так же в последних версиях mariadb включен строгий режим, отключить его можно поправив конфиг добавив в конфиг mysql
nano /etc/mysql/mariadb.conf.d/50-server.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
Для получения списка устройств, прикрепленных к вашему аккаунту в программе TuyaSmart, надо в Настройки ввести:
E-mail и пароль вашего аккаунта
Код страны
Выбрать программу которой вы пользуетесь - TuyaSmart или Smart Life.
Первоначально модуль писался для работы через специальное облако для HA.
Сейчас можно нажать флажок Использовать оригинальное облако и работать с той же информацией, с которой работает ваш смартфон.
После нажатия кнопки Обновить вы получите список ваших устройств с теми именами, под которыми устройства числятся в TuyaSmart.
Далее нажав кнопку редактирование на вкладке Данные можно связать поле State с ПУ выключатель. После этого устройством можно управлять из ПУ.
Управлять устройствами можно либо через облако, либо локально - для этого нужен локальный ip устройства и локальный ключ.
После нажатия кнопки Обновить вы получите список ваших устройств с теми именами, под которыми устройства числятся в TuyaSmart.
Далее нажав кнопку редактирование на вкладке Данные можно связать поле State с ПУ выключатель. После этого устройством можно управлять из ПУ.
Управлять устройствами можно либо через облако, либо локально - для этого нужен локальный ip устройства и локальный ключ.
При авторизации через оригинальное облако локальный ключ должен подтягиваться автоматически.
При авторизации через старое облако - использовать старый способ получения ключа
Самый простой способ получить локальный ключ это поставить на смартфон программу Packet Capture и отследить трафик который идёт от программы TuyaSmart.
При авторизации через старое облако - использовать старый способ получения ключа
Самый простой способ получить локальный ключ это поставить на смартфон программу Packet Capture и отследить трафик который идёт от программы TuyaSmart.
К сожалению с новой версией программы TuyaSmart способ не работает.
Ставьте предыдущую версию.
В самом большом по размере пакете Packet Capture в розовых сообщениях надо поискать конструкцию:
В самом большом по размере пакете Packet Capture в розовых сообщениях надо поискать конструкцию:
name: название вашего устройства
timezoneID:
category:
localKey: тут будет локальный ключ от вашего устройства
IP можно посмотреть на роутере по мак-адресу вашего устройства. Мак-адрес можно увидеть в TuyaSmart в разделе информация об устройстве
Имея localKey и ip заходим в редактирование устройства и вносим эту информацию в соответствующие поля.
Локальный ключь и IP надо будет вписать только в устройство с _1 на конце ID.
Дополнительная информация соответственно появится только в этом устройстве
После сохранения в данных должны появится дополнительные поля. Upd.
При авторизации через оригинальное облако все эти поля появятся сразу же с появлением устройств.
Для розеток с соответствующим функционалом там могут быть вольтаж, сила тока, мощность и т.д.
Для устройств с несколькими группами розеток в списке устройств появятся столько устройств, сколько групп розеток вы можете контролировать.
Маленькое замечание - если ip устройства в вашей локальной сети поменяется, то поменяется и локальный ключ.
Как повзаимодействовать с ДУ из модуля
1. В аппликации Туя на смартфоне добавляется смарт сцена, которая по клику, например, включает ТВ. Называем её, например, TV_Power
2. В модуле появляется устройство TV_Power с типом scene с каким-то id, допустим abcdef
3. В методе/сценарии, где нам надо включить телевизор пишем
Для розеток с соответствующим функционалом там могут быть вольтаж, сила тока, мощность и т.д.
Для устройств с несколькими группами розеток в списке устройств появятся столько устройств, сколько групп розеток вы можете контролировать.
Маленькое замечание - если ip устройства в вашей локальной сети поменяется, то поменяется и локальный ключ.
Как повзаимодействовать с ДУ из модуля
1. В аппликации Туя на смартфоне добавляется смарт сцена, которая по клику, например, включает ТВ. Называем её, например, TV_Power
2. В модуле появляется устройство TV_Power с типом scene с каким-то id, допустим abcdef
3. В методе/сценарии, где нам надо включить телевизор пишем
include_once(DIR_MODULES . 'tuya/tuya.class.php');
$tuya_module = new tuya();
$tuya_module->TuyaRemoteMsg('abcdef','1','turnOnOff');
В коде abcdef меняем на свой ID. Все остальные аргументы не трогаем
Профит - этот код запускает сцену, сцена запускает пульт - пульт включает телевизор
Примерно так же можно производить какие-то действия с устройствами, которые напрямую модулем не поддерживаются, например, замками
В устройствах добавлены флажки
1. Управлять через облако (при наличии айпи и ключа - статус считывается локально, а управление идёт через облако)
2. Статус только локально (соответственно для данного устройства статус из облака не используется)
По клику на названии метрики открывается дополнительная строчка в которой можно отредактировать:
Alias -Другое название для метрики
А также актуальные для термостатов параметры /2 и /10, указывающие нужно ли делить на 2 или 10 данные приходящие из облака.
Профит - этот код запускает сцену, сцена запускает пульт - пульт включает телевизор
Примерно так же можно производить какие-то действия с устройствами, которые напрямую модулем не поддерживаются, например, замками
В устройствах добавлены флажки
1. Управлять через облако (при наличии айпи и ключа - статус считывается локально, а управление идёт через облако)
2. Статус только локально (соответственно для данного устройства статус из облака не используется)
По клику на названии метрики открывается дополнительная строчка в которой можно отредактировать:
Alias -Другое название для метрики
А также актуальные для термостатов параметры /2 и /10, указывающие нужно ли делить на 2 или 10 данные приходящие из облака.
Комментарии
Отправить комментарий