Tuya is everywhere. If you've bought a cheap smart plug, light bulb, or sensor from Amazon or AliExpress, there's a good chance it runs on Tuya's platform under a different brand name. Smart Life, Treatlife, Gosund, Nous, LSC (Action store), Aubess, Moes, Avatto... the list goes on. Hundreds of brands, one underlying platform.

The good news: almost all of these devices work with Home Assistant. The question is how you want to connect them. You've got three options, each with different tradeoffs between ease of setup, local control, and reliability.

This guide covers all three approaches so you can pick the one that matches your comfort level.

Why Tuya Devices Are Everywhere

Tuya is not a brand you see on store shelves. It's a platform. They provide the WiFi chips, the cloud backend, and the app (Smart Life / Tuya Smart) to hundreds of manufacturers. The manufacturer slaps their own name on the box, but underneath it's all Tuya.

This is actually a huge advantage for Home Assistant users. Because so many devices share the same underlying platform, one integration covers thousands of products. A $6 smart plug from Nous uses the same protocol as a $25 Moes thermostat. Once you know how to connect one, you can connect them all.

The downside? By default, every Tuya device phones home to Tuya's cloud servers. Your light switch talks to a server in China (or Europe, depending on your region) every time you flip it. That means internet outages can take your lights offline. Not ideal.

That's exactly why most Home Assistant users want to bring Tuya devices under local control. Let's look at how.

The Three Ways to Connect Tuya to Home Assistant

Before diving into the step-by-step for each method, here's the quick overview:

  • Official Tuya Cloud Integration: Easy setup, works with everything, but depends on the cloud. Commands go through Tuya's servers.
  • Tuya Local (HACS): Talks to devices over your local network. No cloud dependency for control. Requires a one-time cloud setup to get device keys, but after that everything stays local.
  • Flash with ESPHome/Tasmota: Replace the Tuya firmware entirely. Full local control, no Tuya account needed at all. But only works with ESP-based WiFi devices and requires some technical comfort.

Method 1: Official Tuya Cloud Integration

This is the path of least resistance. Home Assistant has a built-in Tuya integration that talks to Tuya's cloud API. If you just want your devices to show up in Home Assistant and don't care about local control, this is the fastest way.

What you need

  • A Tuya Smart or Smart Life account with your devices already added
  • A free Tuya IoT Platform developer account
  • About 20 minutes of setup time

Step-by-step setup

  1. Create a Tuya IoT developer account. Go to iot.tuya.com and sign up. This is free and separate from your regular Tuya/Smart Life app account.
  2. Create a Cloud Project. In the Tuya IoT Platform, go to Cloud > Development > Create Cloud Project. Pick "Smart Home" as the industry and select your data center region (Western Europe for most EU users, Western America for US).
  3. Subscribe to the required APIs. Go to your project's API tab and make sure these are subscribed: IoT Core, Authorization Token Management, Smart Home Device Management, and Smart Home Family Management.
  4. Link your Tuya/Smart Life app account. Under the Devices tab, click "Link Tuya App Account" and scan the QR code with the Tuya Smart or Smart Life app.
  5. Add the integration in Home Assistant. Go to Settings > Devices & Services > Add Integration > search "Tuya". Enter your Access ID and Access Secret from the Tuya IoT Platform project overview page.
  6. Done. Your devices should appear within a few seconds.
Tip

The Tuya IoT Platform developer accounts need to be renewed every 6 months (it's a free renewal, just click a button). If your devices suddenly go offline, check if your API access expired.

Pros and cons of the cloud method

  • ✔ Works with every Tuya device, including IR remotes, cameras, and complex devices
  • ✔ Quick to set up
  • ✔ Officially supported by Home Assistant
  • ✘ Depends on internet connection and Tuya's servers
  • ✘ Slight delay (200-500ms) on commands compared to local
  • ✘ Tuya can change their API at any time
  • ✘ Your data still flows through Tuya's cloud

Method 2: Tuya Local (via HACS)

This is the sweet spot for most people. The Tuya Local integration (installed through HACS) talks directly to your Tuya devices over your local network. No cloud needed for day-to-day operation.

The catch: you still need to grab each device's "local key" from Tuya's cloud once. After that, all communication stays on your LAN.

What you need

  • Home Assistant with HACS installed
  • A Tuya IoT Platform developer account (same as Method 1)
  • Your devices on the same network as Home Assistant

Step-by-step setup

  1. Install HACS if you haven't yet. It's a custom integration store for Home Assistant. Follow the official instructions at hacs.xyz.
  2. Install Tuya Local through HACS. Go to HACS > Integrations > search "Tuya Local" > Install. Restart Home Assistant.
  3. Get your device local keys. The easiest way: use the Tuya IoT Platform (same developer account from Method 1). Go to your linked devices, and for each device, note the Device ID and Local Key. The Tuya Local integration docs have a detailed guide for this step.
  4. Add each device in Home Assistant. Go to Settings > Devices & Services > Add Integration > "Tuya Local". Enter the Device ID, Local Key, and IP address. The integration auto-detects the device type in most cases.
  5. Assign static IPs. Local control relies on knowing each device's IP address. Set static DHCP leases in your router for every Tuya device so the IPs don't change.
Heads up

When you update a device's firmware through the Tuya/Smart Life app, the local key sometimes changes. You'll need to grab the new key and update the integration. Some people avoid firmware updates for this reason, or remove the device from the Tuya app entirely after getting the key.

Pros and cons of Tuya Local

  • ✔ Fully local control after initial setup. Works without internet.
  • ✔ Fast response times (typically under 100ms)
  • ✔ Supports 2,500+ device types
  • ✔ Devices still work in the Tuya/Smart Life app simultaneously
  • ✘ Initial key extraction requires cloud API access
  • ✘ Keys can change on firmware updates
  • ✘ Some complex devices (cameras, IR blasters) may have limited local support

Method 3: Flash with ESPHome or Tasmota

The nuclear option. Instead of working with Tuya's firmware, you replace it entirely with open-source firmware like ESPHome or Tasmota. After flashing, the device has zero connection to Tuya. It talks directly to Home Assistant over your local network.

This only works with WiFi devices that use ESP8266, ESP32, or BK7231 chips. Most cheap Tuya plugs, bulbs, and switches use one of these. Zigbee and Bluetooth Tuya devices can't be flashed this way.

How flashing works in 2026

Flashing Tuya devices used to require soldering and serial connections. In 2026, most devices can be flashed over-the-air (OTA) using tools like Tuya Cloudcutter. Cloudcutter exploits a vulnerability in older Tuya firmware to push custom firmware wirelessly. No screwdrivers needed.

For newer devices that have patched the Cloudcutter exploit, you may need to use ltchiptool with a USB-to-serial adapter. This requires opening the device and connecting to the chip's serial pins. Not hard, but you need a steady hand and basic soldering skills.

ESPHome vs Tasmota: which firmware?

  • ESPHome integrates directly with Home Assistant with zero configuration. You define the device in a YAML file, compile it in your browser, and flash. Updates are pushed OTA. It's the recommended choice for Home Assistant users.
  • Tasmota has a web UI on each device and works with MQTT. More flexible if you also want to use devices outside of Home Assistant, but requires an MQTT broker and more setup.
Tip

Check devices.esphome.io before buying. It has ready-made configs for hundreds of Tuya devices. If your device is listed, flashing takes about 5 minutes.

Pros and cons of flashing

  • ✔ Complete local control. No Tuya account, no cloud, no keys to manage.
  • ✔ Fastest possible response times
  • ✔ No risk of Tuya changing APIs or firmware
  • ✔ Full customization of device behavior
  • ✘ Only works with ESP/BK-based WiFi devices
  • ✘ Newer devices may need physical serial flashing
  • ✘ You lose the Tuya/Smart Life app (the device is no longer a "Tuya device")
  • ✘ Voids warranty (not that you were going to warranty a $6 plug)

Quick Comparison: All Three Methods

FeatureCloudTuya LocalESPHome/Tasmota
Setup difficultyEasyMediumAdvanced
Local controlNoYesYes
Works without internetNoYesYes
Response time200-500ms50-100ms10-50ms
Device compatibilityEverythingMost WiFi devicesESP/BK WiFi only
Still works in Tuya appYesYesNo
PrivacyData goes to TuyaControl is local, keys from cloudFully local, no cloud
Tuya account requiredYesYes (for key extraction)No

Which Tuya Devices Work Best with Home Assistant?

Almost all of them work, but some categories are especially popular in the Home Assistant community:

Smart plugs and power monitoring

Tuya-based smart plugs are the gateway drug of the smart home world. Brands like Nous (A1T), Blitzwolf, and Gosund make plugs with built-in energy monitoring for under $15. They work with all three methods, and many have ready-made ESPHome configs. Pair them with Home Assistant's energy dashboard and you can track exactly how much power each device uses.

Temperature and humidity sensors

The sub-$10 WiFi or Zigbee sensors from brands like Nous, Moes, and generic AliExpress sellers are hard to beat on price. WiFi versions work with Tuya Local. Zigbee versions work with ZHA or Zigbee2MQTT (no Tuya integration needed).

Light bulbs and LED strips

Tuya RGBW bulbs are dirt cheap. Most work great with all three methods. Just be aware: some newer bulbs use BK7231 chips instead of ESP chips, which affects your flashing options. Check the chip before buying if you plan to flash.

Curtain and blind motors

Moes and Zemismart make popular Tuya-based curtain motors. These work well with Tuya Local but are harder to flash since they use specialized motor control.

Thermostats and TRVs

Moes, Avatto, and Beok make Tuya-based thermostats and thermostatic radiator valves (TRVs). Most work with Tuya Local. Zigbee TRVs are recommended over WiFi for battery life.

Tip

When shopping for Tuya devices, look for "Works with Tuya" or "Smart Life compatible" on the listing. Also search the device name + "home assistant" on Reddit or the HA Community forum before buying. Someone has probably tried it already.

Common Issues and Fixes

"Device is offline" in the Tuya integration

Usually means your Tuya IoT Platform API key expired (it does every 6 months) or the device lost WiFi. Check the IoT Platform first, then check the device's WiFi connection.

Tuya Local can't find the device

Make sure the device is on the same network/subnet as Home Assistant. Some routers isolate IoT devices on a separate VLAN. Also verify the IP address and local key are correct.

Local key changed after firmware update

This is a known issue. When Tuya pushes a firmware update through the app, the local key rotates. Re-extract the key from the Tuya IoT Platform and update it in Home Assistant.

Cloudcutter says "device not supported"

Newer Tuya firmware has patched the Cloudcutter exploit. Your options: try to find an older firmware version for your device, or use serial flashing with ltchiptool instead.

Device entity shows up as "unavailable"

For Tuya Local: the device might have a different protocol version than expected. Check the Tuya Local GitHub issues for your specific device model.

Which Method Should You Pick?

Our recommendation

Start with Tuya Local for most WiFi devices. It gives you local control without permanently modifying your hardware. If you get comfortable and want to go further, flash your simple devices (plugs, bulbs) with ESPHome. Keep the cloud integration as a backup for any devices that don't work locally (cameras, complex multi-function devices). For Zigbee Tuya devices, skip all of this and use ZHA or Zigbee2MQTT instead.

One more thing: if you're just getting started with Home Assistant and feeling overwhelmed by all of this, don't worry. The cloud method works fine as a first step. You can always move devices to local control later without buying new hardware. That's the beauty of the Tuya ecosystem: the same $6 plug supports all three methods.

Got a house full of Tuya devices?

HomeShift scans your entire smart home setup and builds a personalized migration plan. We'll tell you exactly which of your devices support local control, which ones can be flashed, and what steps to take first.

Get Your Free Scan Home Assistant Beginner Guide