Локальная интеграция Tuya в Home Assistant с пробросом в Яндекс
Умные устройства, работающие в экосистеме Tuya (или Smart Life), составляют значительную часть рынка домашней автоматизации. Розетки, выключатели, реле и датчики привлекают пользователей низкой стоимостью и простотой первоначальной настройки. Однако стандартная интеграция Tuya с внешними системами базируется на облачных вебхуках. Это означает, что любая команда на включение света отправляется сначала на серверы в Китае или Европе, и лишь затем возвращается к вам домой. Такая схема приводит к задержкам управления до 1-3 секунд и полностью теряет работоспособность при отключении интернета.
Решить эту проблему позволяет переход на локальный протокол управления с помощью кастомной интеграции LocalTuya (или Tuya Local) в Home Assistant. Это позволяет взаимодействовать с приборами напрямую по локальной сети Wi-Fi. При этом проброс локализованных устройств в Яндекс позволяет сохранить удобство голосового управления через Алису при минимальном пинге.
Шаг 1. Регистрация на платформе Tuya IoT и получение Local Key
Для локального управления устройствами Tuya шифрует трафик с помощью уникального ключа безопасности — Local Key (локальный ключ). Получить его можно только через портал для разработчиков Tuya.
- Перейдите на сайт Tuya IoT Platform и создайте бесплатную учетную запись разработчика.
- Откройте раздел Cloud -> Development и создайте новый проект (Create Cloud Project). При создании проекта обязательно выберите правильный дата-центр (Data Center), соответствующий региону вашего приложения Smart Life (например, для России и стран СНГ необходимо указывать Central Europe Data Center). Несовпадение дата-центра — самая частая причина, по которой список устройств после связывания аккаунтов остается пустым.
- Перейдите во вкладку Link Tuya App и отсканируйте QR-код с помощью мобильного приложения Smart Life (или Tuya Smart) на вашем смартфоне. Все ваши домашние устройства импортируются в проект разработчика.
- Откройте вкладку All Devices, найдите нужное устройство (например, розетку) и скопируйте его параметры:
Device IDиLocal Key. Обратите внимание, что Local Key представляет собой 16-значную строку из букв и цифр.
Шаг 2. Установка интеграции LocalTuya в Home Assistant
Для работы с локальным API устройств Tuya нам понадобится кастомная интеграция LocalTuya, которую проще всего установить через альтернативный каталог HACS.
- Откройте Home Assistant и перейдите в магазин дополнений HACS.
- В строке поиска введите
LocalTuyaи нажмите Установить. - После завершения скачивания файлов интеграции перейдите в меню Настройки -> Система и выполните перезапуск Home Assistant.
- После перезагрузки перейдите в Настройки -> Устройства и службы -> Добавить интеграцию и выберите из списка появившийся компонент LocalTuya.
Шаг 3. Добавление прибора и конфигурирование DP-точек (Data Points)
При добавлении нового прибора интеграция автоматически сканирует локальную сеть. Если устройство не найдено, введите его параметры вручную.
- Укажите IP-адрес устройства (обязательно зарезервируйте его на роутере), его
Device IDи скопированный ранееLocal Key. - На следующем шаге программа попросит настроить DP-точки (Data Points). Устройства Tuya используют числовые идентификаторы (DP ID) для управления различными функциями.
- Для стандартной умной розетки выберите тип сущности
switch(переключатель). - Укажите DP ID, отвечающий за включение и выключение питания (обычно это
DP 1). - Если розетка поддерживает мониторинг энергопотребления, вы можете дополнительно добавить сенсоры для считывания текущего напряжения (
DP 20), мощности (DP 19) и тока (DP 18).
TIP
Точные значения DP-точек для конкретных моделей устройств можно посмотреть в свойствах устройства на портале Tuya IoT в разделе Device Debugging.
Шаг 4. Настройка проброса в Алису
После того как локальный переключатель switch.tuya_local_socket успешно создан и проверен на работоспособность, его можно транслировать в экосистему Яндекса. Сравнить облачный и локальный способы управления устройствами Tuya можно в статье о подключении устройств Tuya к Алисе.
Добавьте локальную сущность в конфигурационный блок yandex_smart_home:
yandex_smart_home:
filter:
include_entities:
- switch.tuya_local_socket
entity_config:
switch.tuya_local_socket:
name: "Умная розетка"
room: "Кухня"
type: devices.types.socket
Сохраните файл configuration.yaml, проверьте настройки YAML на синтаксические ошибки и перезапустите Home Assistant. Откройте приложение «Дом с Алисой» на телефоне, обновите список устройств, после чего протестируйте скорость выполнения команд голосовым помощником Яндекс Станции. Локальный опрос позволяет снизить время реакции устройства до 0.05-0.1 секунды.
IMPORTANT
Для полной независимости от серверов Tuya вы можете заблокировать доступ в интернет для IP-адресов умных розеток на вашем роутере с помощью правил брандмауэра. Это предотвратит отправку телеметрии в облако и гарантирует локальную безопасность, при этом управление через Home Assistant и Алису (которая общается с вашим сервером через OAuth) продолжит работать без перебоев.
Траблшутинг локальной интеграции
Если устройство Tuya перестало отвечать на запросы в Home Assistant, проверьте, не запущено ли в этот момент мобильное приложение Smart Life на вашем телефоне. Локальный чипсет Tuya поддерживает только одно активное TCP-соединение по порту 6668 одновременно. Если приложение на смартфоне открыто, оно монополизирует подключение, и Home Assistant потеряет связь. Для решения этой проблемы просто принудительно закройте приложение Smart Life на телефоне.
Для других беспроводных стандартов настройте локальную интеграцию реле Shelly по протоколу CoAP и локальное управление устройствами Sonoff LAN.
Инструкция по настройке
Получение локальных ключей (Local Key)
Создайте учетную запись на платформе Tuya IoT Cloud, свяжите ее со своим приложением Smart Life и извлеките уникальный Local Key для вашего устройства.
Установка интеграции LocalTuya
Установите кастомный компонент LocalTuya через магазин HACS в Home Assistant. Выполните перезагрузку сервера для применения изменений.
Добавление устройства и настройка DP-точек
Добавьте устройство в интеграции, указав его локальный IP-адрес, Device ID и Local Key. Настройте соответствие точек данных (DP ID) для управления питанием.
Проброс сущности в Умный Дом Яндекса
Внесите созданные локальные сущности в фильтр конфигурации Yandex Smart Home. Синхронизируйте устройства в приложении Дом с Алисой.