| Official Tuya integration | Tuya Local | LocalTuya | |
|---|---|---|---|
| Connection | Tuya cloud (cloud push) | local LAN | local LAN |
| Works without internet | no | yes | yes |
| Setup | QR / user code login with the Smart Life or Tuya Smart app | device ID, IP, local key, protocol; optional cloud-assisted setup via your Tuya account | device ID and local key; optional Tuya IoT cloud credentials to fetch keys |
| Protocol versions | n/a | 3.1–3.5 and 3.22 | 3.1–3.4 |
| How devices are described | Tuya's official SDK | ready-made device configuration files (large library) | you map data points to entities in the UI |
| Notes | lock and remote platforms not supported; the SDK doesn't expose everything the app can do | still lets devices report to the Tuya cloud | community custom integration |
Tuya Local and LocalTuya are installed as custom integrations (typically through HACS); the official one is built in.
Recommendation
- Fastest start, few devices, internet is reliable: official integration.
- Local, and your device is in Tuya Local's device list: Tuya Local. The ready-made definition saves you mapping data points, and it handles protocol 3.5.
- Local, device not in any list, you're comfortable mapping DPs yourself: LocalTuya or a new Tuya Local device file (contribute it back).
Gotchas for all local options
- A device accepts only one local connection: don't run two local integrations (or a TinyTuya script) against the same device.
- Re-pairing a device in the app changes its local key; update the integration afterwards.
- Reserve device IPs in your router.