LocalTuya. Перепрошивка розеток Tuya: Как отвязать розетку от облака.

Tuya-экосистема — это удобно, дёшево и, на первый взгляд, безальтернативно. Но у любого облачного сервиса есть обратная сторона: зависимость от серверов производителя, задержки при переключении, а иногда и полная…
Tuya-экосистема — это удобно, дёшево и, на первый взгляд, безальтернативно. Но у любого облачного сервиса есть обратная сторона: зависимость от серверов производителя, задержки при переключении, а иногда и полная недоступность, когда провайдер решит закрыть проект или просто случится сбой. Плюс — все события проходят через чужой сервер, что не добавляет приватности.
Я уже давно перевёл всю домашнюю автоматизацию на Home Assistant, и локальное управление для меня — принципиальный момент. Особенно когда речь идёт о таких банальных вещах, как включение света или обогревателя через розетку. Поэтому сегодня разберём LocalTuya — интеграцию, которая позволяет управлять устройствами Tuya напрямую из локальной сети, без облака и без перепрошивки. А заодно посмотрим, в каких случаях всё-таки стоит задуматься о замене прошивки на Tasmota или ESPHome.
Зачем отвязывать розетку от облака?
Умные розетки Tuya — одни из самых доступных на рынке. За 300–500 рублей вы получаете Wi-Fi-розетку, которую можно включать со смартфона, настраивать расписание и даже следить за потреблением. Всё работает через приложение Tuya Smart или Smart Life, а данные уходят на серверы Tuya.
На первый взгляд, всё прекрасно. Но давайте представим несколько сценариев:
- Вы хотите, чтобы «умный» дом работал, даже если интернет-канал оборвался. Розетка, управляемая через облако, в этот момент становится обычным электромеханическим устройством без пульта.
- Вы строите автоматизации в Home Assistant. При облачном управлении каждое переключение — это запрос в облако и ответ обратно. Задержка в 1–2 секунды незаметна при ручном управлении, но критична для сценариев с датчиками движения.
- Вы цените приватность и не хотите, чтобы данные о ваших электроприборах уходили на чужой сервер.
- Производитель может прекратить поддержку — и ваши устройства превратятся в кирпичи.
Решение — заставить устройства Tuya общаться локально. Есть два пути: использовать интеграцию LocalTuya (без изменения прошивки) или перепрошить устройство на открытую прошивку вроде Tasmota или ESPHome. Разберём оба.
LocalTuya: что это и как работает
LocalTuya — это пользовательская интеграция для Home Assistant, которая устанавливается через HACS. Она подключается к устройствам Tuya по Wi-Fi в вашей локальной сети и использует локальный API, который поддерживается прошивками большинства современных устройств Tuya (начиная с протоколов 3.1, 3.3, 3.5).
Главный трюк в том, что для локального управления не нужно перепрошивать устройство. Оно продолжает работать с заводской прошивкой, но Home Assistant общается с ним напрямую через локальную сеть, отправляя команды и получая статусы. При этом само устройство может одновременно оставаться подключённым и к облаку Tuya (если это не запретить), но для работы интеграции облако не требуется.
Важный момент: LocalTuya не поддерживает все устройства без исключения. Обычно хорошо работают розетки, выключатели, реле, лампы и некоторые другие простые устройства. Сложные устройства типа пылесосов или кондиционеров могут иметь нестандартные протоколы, и придётся повозиться.
Подготовка к настройке
Прежде чем устанавливать LocalTuya, убедитесь, что:
- У вас установлен Home Assistant (способ установки не важен — HAOS, Docker, Venv).
- Установлен HACS. Если ещё нет — обязательно поставьте, без него это всё превращается в ручные манипуляции. Инструкция есть в отдельной статье.
- Устройства Tuya добавлены в приложение Tuya Smart или Smart Life и работают в вашей Wi-Fi сети.
Теперь нужно получить локальный ключ (Local Key) и идентификатор устройства (Device ID). Без них LocalTuya не сможет зашифровать и отправить команды.
Получение локального ключа через tuya-cli
Самый простой способ — использовать утилиту tuya-cli, написанную на Node.js. Она запускается на любом компьютере или одноплатнике в вашей сети и автоматически находит устройства Tuya, отправляя им широковещательные запросы.
Установим Node.js (если ещё не установлен) и tuya-cli:
# Для Debian/Ubuntu
sudo apt update
sudo apt install -y nodejs npm
# Устанавливаем tuya-cli глобально
sudo npm install -g @tuyapi/cli
Теперь переходим в каталог, где будем хранить конфигурацию, и запускаем инициализацию:
cd ~
mkdir tuya-cli && cd tuya-cli
tuya-cli wizard
Утилита задаст несколько вопросов:
Country code— код вашей страны (для России 7).Tuya App— выбираем, какое приложение используете (Smart Life или Tuya Smart).Username— ваш логин от приложения (обычно email).Password— пароль.Platform— оставляем по умолчаниюtuya.
Всё это нужно для того, чтобы tuya-cli авторизовался на серверах Tuya и скачал информацию об устройствах, привязанных к аккаунту. Далее он создаст файл tuya-cli.json, в котором будут все ключи и идентификаторы. Посмотреть их можно так:
cat tuya-cli.json
В JSON-файле вы увидите записи вида:
{
"name": "Smart plug",
"id": "0123456789abcdef",
"key": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4"
}
id— это Device ID.key— Local Key.
Запишите эти данные для каждой розетки. Если утилита не находит устройства, убедитесь, что телефон с приложением Tuya и компьютер находятся в одной Wi-Fi сети, и что на устройствах не включён режим сопряжения.
Типичная ошибка: tuya-cli работает только с устройствами, привязанными к аккаунту. Если вы добавили розетку через чужой аккаунт (например, подарили — не мой случай), локального ключа вы не получите. Также не получится вытащить ключ с устройства, которое уже сброшено и не добавлено в аккаунт.
Альтернатива: портал IoT Tuya
Если tuya-cli по какой-то причине не подходит (например, вы используете корпоративный аккаунт или у вас двухфакторка), можно получить ключи через официальный IoT-портал Tuya. Процесс описан в документации Tuya, но суть такова:
- Регистрируетесь на iot.tuya.com как разработчик.
- Создаёте облачный проект, добавляете своё приложение и получаете Access ID и Access Secret.
- Связываете аккаунт Tuya Smart/Smart Life с проектом.
- Через API получаете список устройств и их Local Key.
Этот путь сложнее, но зато даёт ключи для всех устройств сразу. Если у вас 10–20 розеток — туда и дорога.
Установка LocalTuya через HACS
Теперь, когда ключи получены, можно устанавливать интеграцию.
Зайдите в HACS (иконка в боковом меню Home Assistant) → раздел «Интеграции» → нажмите на три точки в правом верхнем углу → «Пользовательские репозитории».
Добавьте репозиторий:
https://github.com/xZetsubou/hass-localtuya
Категория — Integration. Затем перейдите в раздел Integrations, найдите LocalTuya в списке и нажмите «Download». После загрузки перезапустите Home Assistant (Settings → System → Restart).
Если кнопки «Пользовательские репозитории» нет — значит HACS установлен неправильно или у вас старая версия. Проверьте версию HACS и настройки.
Перезапуск Home Assistant в контейнере и HAOS чуть отличается, но общий принцип один. Если вы ставили HA по нашей статье про Orange Pi Zero 3, то просто нажмите Restart в веб-интерфейсе.
Настройка LocalTuya в Home Assistant
После перезапуска заходим в Settings → Devices & Services → Add Integration → ищем LocalTuya.
Мастер настройки предложит два варианта: “Add a new device” или “Configure LocalTuya integration”. Нам подходит первый для добавления каждой розетки.
Далее заполняем поля:
- Host — IP-адрес розетки в локальной сети. Можно узнать в настройках роутера или через приложение Tuya (в настройках устройства обычно есть информация о IP).
- Device ID — тот самый ID из tuya-cli.json.
- Local Key — ключ из tuya-cli.json.
- Protocol Version — версия протокола. Обычно для новых устройств — 3.3, для старых — 3.1. Если не знаете, ставьте 3.3, а если не заработает — попробуйте 3.1 или 3.5.
Далее интеграция предложит настроить сущности (entities), которые вы хотите получить от устройства. Для розетки обычно это:
- Switch — включение/выключение.
- Power — потребляемая мощность (если поддерживается).
- Current — ток.
- Voltage — напряжение.
Для начала достаточно добавить switch. Позже можно добавить остальные функции через кнопку “Add entity” в уже настроенной интеграции.
Важно: в новых версиях LocalTuya также есть параметр “Friendly name” — он станет названием сущности в Home Assistant, так что указывайте что-то понятное, например «Розетка на кухне».
После сохранения Home Assistant создаст устройство и все выбранные сущности. Через пару секунд они появятся в списке устройств.
Тестируем локальное управление
Прежде чем радоваться, давайте убедимся, что управление действительно локальное. Отключите интернет на маршрутизаторе или просто выключите Wi-Fi на роутере для теста? Правильнее — отключить только облачный доступ: в настройках розетки в приложении Tuya найдите пункт «Удалённое управление» и отключите его (или просто выключите интернет на роутере, но тогда вы также потеряете доступ к HA, если он не в локальной сети).
Лучший способ — использовать команды из веб-интерфейса HA. Откройте свою созданную сущность switch, нажмите переключатель. Он должен отреагировать мгновенно (в пределах сотен миллисекунд). Если задержка больше секунды — что-то не так, возможно, вы всё ещё идёте через облако.
Если у вас есть консольный доступ к HA-серверу, можно проверить напрямую:
# Проверяем, что IP-адрес розетки доступен
ping 192.168.1.50
# Ищем открытые порты (LocalTuya использует порт 6668)
nc -zv 192.168.1.50 6668
Если порт открыт, значит, устройство принимает локальные соединения. Ответ от розетки будет мгновенным.
Типичные ошибки и как их избежать
Неверная версия протокола
LocalTuya не может автоматически определить версию протокола (хотя в новых версиях есть попытка). Если вы указали неправильно, будет ошибка авторизации или таймаут. Пробуйте перебирать: сначала 3.1, потом 3.3, потом 3.5.
Устройство не работает после смены роутера
Когда вы меняете роутер или точка доступа, IP-адрес устройства может поменяться. LocalTuya не умеет перехватывать динамические IP. Рекомендую задать статические DHCP-резервации для всех умных устройств в настройках роутера. Тогда и в LocalTuya не придётся менять IP каждый раз.
Локальный ключ перестал работать
Это бывает, если вы сбрасываете устройство и добавляете его заново в приложение Tuya. Ключ меняется. Придётся заново выполнить tuya-cli и обновить ключ в LocalTuya. Поэтому всегда храните резервную копию tuya-cli.json.
Устройство не имеет локального API вообще
Некоторые древние устройства (особенно с протоколом 1.0) не поддерживают локальное управление. Для них LocalTuya бесполезна — только перепрошивка.
Конфликт с другими интеграциями
Если вы ранее использовали официальную облачную интеграцию Tuya в Home Assistant, удалите её, чтобы не возникало конфликтов за управление. Обычно конфликтов нет, но лишнего.
Когда нужна перепрошивка: Tasmota и ESPHome
LocalTuya — отличное решение, но у него есть ограничение: вы зависите от скрытого проприетарного протокола Tuya. Он может меняться, а поддержка отдельных функций — отваливаться. Если вы хотите полный контроль над устройством и его прошивкой, наступает время Tasmota или ESPHome.
Большинство умных розеток Tuya построены на чипах ESP8266 или ESP32. Это значит, что их можно перепрошить на открытую прошивку, которая не общается с облаком вообще. Есть два способа:
- Через Wi-Fi — если в прошивке Tuya есть уязвимость или специальный бутлоадер (иногда требуется разобрать корпус и замкнуть контакты).
- Через UART — с помощью USB-UART адаптера, припаиваясь к контактам чипа.
Подробный процесс для ESP8266 описан в статье Tasmota на ESP8266. После установки Tasmota вы получаете полноценное устройство, работающее по MQTT, с быстрым откликом и возможностью настройки любых GPIO.
Альтернатива — ESPHome. Эта прошивка позволяет описывать устройство на YAML и автоматически создаёт интеграцию с Home Assistant. Подобный путь мы рассматривали в статье про ESPHome.
Плюсы перепрошивки:
- Полная локальность: никакого облака в принципе.
- Открытый код, можно менять логику под себя.
- Стабильность и быстродействие (отклик практически мгновенный).
- Возможность использовать розетку как универсальный контроллер (например, для датчиков температуры).
Минусы:
- Нужно разбирать устройство, паять, иногда использовать программатор.
- Некоторые розетки могут быть на чипах WB2S, TYWE3S и других — не все имеют готовый порт Tasmota.
- Потеря гарантии.
Если вы готовы к паяльнику — перепрошивка даст максимум. Если нет — LocalTuya станет отличным компромиссом.
Настройка дополнительных функций в LocalTuya
Но вернёмся к LocalTuya. Помимо простого вкл/выкл, вы можете добавить включение измерения мощности, тока, напряжения и энергии. Для этого в сущности розетки нажмите «Add entity» и выберите тип sensor или binary_sensor.
В настройках сущности нужно указать, какой именно параметр вы хотите видеть. Для розеток Tuya обычно используются такие DP ID (Data Point Identifiers):
- 1 — switch (включение/выключение).
- 18 — потребляемая мощность (W).
- 19 — ток (A).
- 20 — напряжение (V).
Впрочем, у разных устройств могут быть разные ID. Чаще всего стандарт соблюдается именно для этих параметров.
Вы также можете добавить сущность button для сброса устройства или select для переключения режимов, если розетка поддерживает.
Как это выглядит в автоматизациях
Когда вы добавили розетки через LocalTuya, вы работаете с точно такими же сущностями, как и с любыми другими. Никаких ограничений на автоматизации нет.
Пример простой автоматизации для включения обогревателя по температуре с датчика:
automation:
- alias: "Включить обогреватель при низкой температуре"
trigger:
- platform: numeric_state
entity_id: sensor.temperature_bedroom
below: 18
action:
- service: switch.turn_on
entity_id: switch.heater_plug
Или ежедневное включение света на кухне в 7 утра:
automation:
- alias: "Утренний свет"
trigger:
- platform: time
at: "07:00:00"
action:
- service: switch.turn_on
entity_id: switch.kitchen_plug
Никаких специфических для Tuya действий — просто стандартные сервисы Home Assistant.
Проверка результата
После всех настроек стоит провести полноценное тестирование:
- Выключите интернет на роутере (или отключите облачную синхронизацию Tuya).
- Откройте Home Assistant.
- Убедитесь, что сущности розеток не показывают состояние «недоступен».
- Включите и выключите розетку через HA.
- Если есть энергомониторинг — проверьте, что значения отображаются и обновляются.
- Попробуйте автоматизацию, зависящую от состояния розетки.
Если всё работает — вы официально отвязали розетки от облака. Поздравляю.
Ещё один совет: для быстрой проверки задержки можно использовать встроенный инструмент разработчика в Home Assistant (Developer Tools → States), сравните время отправки команды и обратной смены состояния. Для локального управления это обычно миллисекунды.
Стоит ли переходить с LocalTuya на Tasmota или ESPHome?
Это зависит от ваших целей. LocalTuya проще и не требует пайки. Но если вы планируете массовое использование, хотите максимальной стабильности или используете нестандартные устройства — лучше задуматься о перепрошивке.
Мой личный подход: для своих розеток я предпочитаю Tasmota, потому что я полностью контролирую прошивку и могу настроить даже то, что производитель не предусмотрел. Но для быстрого решения «на сейчас», без вскрытия корпуса, LocalTuya — идеальный вариант.
Кстати, если вы только выбираете, какой тип умных розеток купить, почитайте статью «Умные розетки для Home Assistant: Zigbee vs Wi-Fi» — там есть практические сравнения. Zigbee-розетки не зависят от облака и от Wi-Fi-сети, но требуют координатор. А Wi-Fi-розетки — как раз наш случай.
Заключение
LocalTuya — это простой способ избавиться от облака в вашем умном доме, не вскрывая розетку. Интеграция работает быстро, стабильно и поддерживает большинство популярных устройств. Она не требует перепрошивки и подойдёт даже тем, кто не готов лезть внутрь.
Конечно, это не панацея: локальный API Tuya остаётся закрытым, и возможны сюрпризы при обновлениях прошивок. Но для большинства домашних сценариев — розетки, выключатели, лампы — LocalTuya даёт 95% того, что дала бы перепрошивка, но с нулевым порогом входа.
Попробуйте сначала LocalTuya на одной розетке — и если всё заработает, включите в локальную сеть все остальные устройства. А дальше уже решайте, стоит ли углубляться в мир Tasmota и ESPHome. В любом случае путь от «умного дома в облаке» до «умного дома под вашим контролем» начинается с первого шага — и LocalTuya этот шаг делает очень дружелюбным.
Полезные ссылки по теме:
Понравилась статья?
Поставьте лайк и сохраните полезный материал в закладки.
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Home Assistant: А есть ли аналоги?
Xiaomi Miot Auto в Home Assistant: установка, настройка и подключение устройств Xiaomi
Wi-Fi интеграции Home Assistant: подключение локальных устройств без облака
Как устанавливать репозитории из GitHub в Home Assistant: HACS, custom_components и ручной способ
Matter и Thread в Home Assistant: новый стандарт умного дома 2024
HACS-интеграции LocalTuya и Adaptive Lighting: локальный умный дом без облака