LocalTuya в Home Assistant: локальное управление и проброс в Алису
- Пошаговый разбор: шаг 1. получение local key через tuya iot platform или tinytuya wizard.
- Пошаговый разбор: шаг 2. установка и выбор между localtuya и tuya local в home assistant.
- Пошаговый разбор: шаг 3. конфигурирование dp-точек (data points) для реле и энергомониторинга.
- Пошаговый разбор: шаг 4. трансляция локальных сущностей в умный дом яндекса через yandex_smart_home.
Умные устройства, работающие в экосистеме Tuya (и ее брендовом клоне Smart Life), составляют подавляющую часть доступного рынка домашней автоматизации. Беспроводные розетки, настенные выключатели, многоканальные реле, светодиодные ленты и термоголовки привлекают низкой ценой и простотой первичного сопряжения. Однако штатная облачная интеграция Tuya с внешними системами базируется на удаленных вебхуках и серверах производителя. Это означает, что каждая команда на включение люстры или считывание датчика сначала отправляется на серверы в Китае или Франкфурте, и лишь затем возвращается в вашу квартиру.
Подобная схема приводит к ощутимым задержкам отклика до 1.5-3.5 секунды, создает зависимость от стабильности внешнего интернет-канала и полностью парализует автоматизацию при блокировках или технических работах на стороне провайдера. Полностью устранить эти недостатки позволяет локальная интеграция LocalTuya (или Tuya Local) в Home Assistant, которая связывается с устройствами напрямую по локальной сети Wi-Fi без выхода во внешнюю сеть. При этом последующий проброс настроенных устройств в экосистему Яндекса позволяет сохранить комфорт голосового управления через Алису с мгновенным временем реакции около 0.05-0.1 секунды.
LocalTuya vs Tuya Local: какую интеграцию выбрать?
В каталоге HACS для Home Assistant существуют две популярные, но принципиально разные интеграции для локального контроля оборудования Tuya. Понимание их различий критически важно перед началом настройки:
-
LocalTuya (автор rospogrigio):
- Принцип работы: Предоставляет низкоуровневый ручной доступ к точкам данных прибора (Data Points, DP ID).
- Преимущества: Максимальная гибкость. Позволяет вручную настроить абсолютно любое нестандартное китайское реле, диммер или датчик, даже если его нет ни в одной официальной базе данных.
- Недостатки: Требует понимания структуры DP-точек устройства и ручного указания параметров масштабирования (например, деления показаний напряжения на 10 или мощности на 100).
-
Tuya Local (автор make-all):
- Принцип работы: Использует готовые профили устройств (Device Definitions).
- Преимущества: Автоматическое определение большинства популярных моделей розеток, увлажнителей, обогревателей и кондиционеров без необходимости вручную маппить каждую DP-точку.
- Недостатки: Если прошивка нового прибора изменила номера DP-точек, устройство не определится до тех пор, пока сообщество не добавит для него конфигурационный YAML-профиль.
TIP
Для стандартных 1-2-канальных умных розеток и выключателей рекомендуется использовать LocalTuya, так как она дает полный контроль над передачей параметров тока и мощности в систему аналитики.
Шаг 1. Получение Local Key и Device ID
Для защиты локального обмена данными чипы Tuya используют шифрование AES-128. Каждое устройство имеет уникальный 16-значный ключ безопасности — Local Key, который можно извлечь двумя надежными путями.
Способ А: Через облачный портал Tuya IoT Platform
- Перейдите на официальный портал Tuya IoT Platform (
iot.tuya.com) и зарегистрируйте бесплатный аккаунт разработчика. - Откройте раздел меню Cloud -> Development и нажмите кнопку Create Cloud Project.
- Заполните название проекта, в поле Industry выберите Smart Home, а в поле Data Center обязательно укажите дата-центр, к которому привязана ваша учетная запись Smart Life:
- Для России, Беларуси и стран СНГ —
Central Europe Data Center. - Выбор неверного региона — самая распространенная причина, по которой список приборов после авторизации оказывается пустым.
- Для России, Беларуси и стран СНГ —
- В мастере создания проекта подключите сервисы авторизации по умолчанию (Smart Home Device System, Device Status Notification).
- Перейдите на вкладку Devices -> Link Tuya App Account -> Add App Account и отсканируйте сгенерированный QR-код через мобильное приложение Smart Life на вашем смартфоне (раздел Профиль -> значок сканера QR-кода в правом верхнем углу).
- После успешной привязки откройте вкладку Device List, выберите ваш регион и скопируйте два ключевых значения для каждого прибора:
Device ID(видаeb56a81234567890abcdef);Local Key(16-значная буквенно-цифровая строка, напримерa1b2c3d4e5f6g7h8).
| Имя прибора (Device Name) | Идентификатор (Device ID) | Локальный ключ (Local Key) |
|---|---|---|
| Smart Socket 16A | eb56a81234567890abc | a1b2c3d4e5f6g7h8 |
| Wall Switch 2-CH | eb99f12340987654def | f8e7d6c5b4a32109 |
Способ Б: Автоматическое извлечение через TinyTuya Wizard
Если вы не хотите вручную копировать ключи для десятков приборов из веб-интерфейса, воспользуйтесь консольной утилитой TinyTuya:
- Установите модуль Python на вашем рабочем компьютере или сервере:
pip install tinytuya - Запустите интерактивный мастер сопряжения:
python3 -m tinytuya wizard - Введите
API Key(Access ID) иAPI Secretиз настроек вашего Cloud Project на портале Tuya IoT. - Утилита автоматически подключится к API, опросит локальную сеть и сгенерирует готовый структурированный файл
devices.json, содержащий IP-адреса,Device ID,Local Keyи версии протоколов для всех приборов вашего дома.
Шаг 2. Установка интеграции LocalTuya в Home Assistant
- Откройте веб-интерфейс Home Assistant и перейдите в раздел HACS -> Интеграции.
- Нажмите кнопку поиска, введите
LocalTuya(репозиторийrospogrigio/localtuya) и нажмите Скачать. - Перейдите в меню Панель управления -> Система и выполните полную перезагрузку Home Assistant.
- После перезагрузки откройте Настройки -> Устройства и службы -> Добавить интеграцию и выберите компонент LocalTuya.
IMPORTANT
Перед добавлением приборов в Home Assistant обязательно зайдите в веб-интерфейс вашего домашнего роутера и зафиксируйте статические IP-адреса (DHCP Reservation / Static Lease) для всех Wi-Fi устройств Tuya. Если роутер сменит динамический IP-адрес розетки, локальная интеграция потеряет связь с прибором.
Шаг 3. Добавление устройств и конфигурирование DP-точек
При вызове мастера добавления устройства в LocalTuya компонент выполнит сканирование подсети. Если розетка обнаружена, выберите ее из списка. Если нет — укажите ее статический IP-адрес вручную.
| Поле настройки мастера LocalTuya | Пример значения | Пояснение |
|---|---|---|
| Device Name | Умная розетка Кухня | Произвольное понятное имя объекта в системе |
| Host (IP Address) | 192.168.1.145 | Статический локальный IP-адрес прибора |
| Device ID | eb56a81234567890abcdef | Уникальный идентификатор устройства Tuya |
| Local Key | a1b2c3d4e5f6g7h8 | 16-значный локальный ключ шифрования |
| Protocol Version | 3.3 (или 3.4 / 3.5) | Версия локального протокола обмена пакетами |
Выбор версии протокола Tuya (3.3 / 3.4 / 3.5)
- Большинство стандартных устройств используют протокол версии 3.3.
- Новые устройства выпуска конца 2024–2026 годов с обновленными чипами Realtek/Beken могут требовать протокол 3.4 или 3.5 с измененным форматом заголовков пакетов. Если после ввода ключа интеграция выдает ошибку
Connection refusedилиPayload length error, переключите версию протокола на шаг выше.
Карта стандартных DP ID для розеток и выключателей
Устройства Tuya передают команды и телеметрию через именованные числовые регистры — Data Points (DP):
| Регистр DP ID | Назначение | Тип сущности в HA | Коэффициент масштабирования (Scale) |
|---|---|---|---|
| DP 1 | Состояние реле питания (Вкл/Выкл) | switch | 1 (булево true/false) |
| DP 18 | Текущая сила тока (мА / mA) | sensor (current) | 1 (миллиамперы) или 0.001 (Амперы) |
| DP 19 | Текущая активная мощность (Вт / W) | sensor (power) | 0.1 (если розетка отдает значение 152 для 15.2 Вт) |
| DP 20 | Напряжение питающей сети (В / V) | sensor (voltage) | 0.1 (значение 2285 преобразуется в 228.5 В) |
| DP 17 | Таймер обратного отсчета (секунды) | number / sensor | 1 |
Для 2-канального настенного выключателя добавьте две отдельные сущности switch:
- Первый канал привязывается к DP 1.
- Второй канал привязывается к DP 2.
Шаг 4. Трансляция локальных сущностей в Умный Дом Яндекса
После создания локальных сущностей в Home Assistant (например, переключателя switch.kitchen_socket и сенсора мощности sensor.kitchen_socket_power) их необходимо передать голосовому помощнику Алисе через компонент Yandex Smart Home.
Отредактируйте файл configuration.yaml на сервере Home Assistant:
yandex_smart_home:
filter:
include_entities:
- switch.kitchen_socket
- switch.hall_light_channel_1
- switch.hall_light_channel_2
entity_config:
switch.kitchen_socket:
name: "Розетка на кухне"
room: "Кухня"
type: devices.types.socket
properties:
- type: devices.properties.float.power
entity: sensor.kitchen_socket_power
- type: devices.properties.float.voltage
entity: sensor.kitchen_socket_voltage
switch.hall_light_channel_1:
name: "Основной свет"
room: "Прихожая"
type: devices.types.light
switch.hall_light_channel_2:
name: "Подсветка зеркала"
room: "Прихожая"
type: devices.types.light
- Сохраните конфигурацию и выполните быструю проверку YAML через меню Инструменты разработчика -> Проверить конфигурацию.
- Выполните перезапуск интеграции Yandex Smart Home.
- Откройте приложение Дом с Алисой на телефоне, перейдите в профиль интеграции и нажмите Обновить список устройств.
- Проверьте отклик: голосовые команды «Алиса, включи розетку на кухне» теперь исполняются локальным контроллером за доли секунды, а в карточке устройства отображаются реальные показания текущей мощности и напряжения сети.
IMPORTANT
Для полной автономности и защиты домашней сети от несанкционированной отправки телеметрии в китайское облако настройте правила межсетевого экрана (Firewall) на вашем роутере, заблокировав исходящий WAN-трафик для локальных IP-адресов приборов Tuya. Управление через Home Assistant и Алису продолжит функционировать в штатном режиме.
Траблшутинг и частые ошибки
Ошибка 1: Устройство не отвечает при открытом приложении Smart Life
- Причина: Чипсеты Wi-Fi модулей Tuya (ESP8266, BK7231N, RTL8710) поддерживают только одно активное TCP-соединение по порту
6668одновременно. - Решение: Если мобильное приложение Smart Life или Tuya Smart открыто на экране вашего смартфона, оно монополизирует сетевой сокет, и Home Assistant теряет связь с устройством. Принудительно закройте приложение на телефоне (выгрузите из панели многозадачности).
Ошибка 2: Прибор перестал управляться после сброса Wi-Fi
- Причина: При повторном сопряжении розетки в мобильном приложении сервер Tuya генерирует совершенно новый
Local Key. - Решение: Повторно запустите
tinytuya wizardили посмотрите новый ключ на портале Tuya IoT Platform, затем обновитеLocal Keyв свойствах сущности в Home Assistant.
Ошибка 3: Показания мощности завышены или занижены в 10 раз
- Причина: Разные производители используют разные множители для передачи чисел с плавающей точкой в DP-регистрах.
- Решение: Измените параметр
Scaling factorв настройках сенсора LocalTuya (установите значение0.1вместо1.0или наоборот).
Дополнительные материалы по смежным протоколам и сценариям:
- Обзор и решение проблем с интеграцией Tuya в Яндекс
- Сравнение времени отклика облака и локального управления Tuya
- Подключение устройств Tuya к Алисе напрямую
- Настройка Tuya Matter-шлюзов с поддержкой Thread
- Локальное управление реле Shelly по протоколу CoAP
- Локальное подключение устройств Sonoff LAN
- Автономная работа умного дома при отключении электричества
Часто задаваемые вопросы (FAQ)
Можно ли управлять локальными устройствами Tuya без интернета?
Да. После настройки LocalTuya и Home Assistant все команды включения, выключения и автоматизации внутри локальной сети выполняются даже при полном физическом отключении интернет-кабеля от домашнего роутера.
Теряется ли возможность управления через Яндекс Станцию без интернета?
Если ваша Яндекс Станция подключена к Home Assistant через локальную интеграцию Yandex Station (с протоколом локального TTS/управления), базовые команды могут обрабатываться локально. Однако облачные навыки Алисы требуют активного интернет-соединения между сервером Яндекса и вашим сервером Home Assistant.
Нужно ли продлевать бесплатную подписку Tuya Developer Cloud через 6 месяцев?
Платформа Tuya IoT предоставляет бесплатный полугодовой пробный период для доступа к Cloud API. Однако для уже полученных Local Key продление подписки не требуется: ключ шифрования хранится в энергонезависимой памяти самого прибора и остается неизменным до тех пор, пока устройство не будет удалено и сопряжено заново.
Инструкция по настройке
Получение локальных ключей (Local Key)
Создайте учетную запись на платформе Tuya IoT Cloud или используйте утилиту TinyTuya, свяжите проект с приложением Smart Life и извлеките уникальный Local Key для каждого прибора.
Установка интеграции LocalTuya или Tuya Local
Установите компонент LocalTuya или Tuya Local через каталог HACS в Home Assistant и перезагрузите сервер для применения конфигурации.
Добавление устройства и настройка DP-точек
Добавьте устройство в интеграции, указав его локальный IP-адрес, Device ID, протокол 3.3/3.4/3.5 и Local Key. Настройте соответствие DP ID для каналов и энергомониторинга.
Проброс сущностей в Умный Дом Яндекса
Внесите созданные локальные переключатели и сенсоры мощности в фильтр конфигурации Yandex Smart Home и синхронизируйте устройства в приложении Дом с Алисой.