# Integração Tuya / Smart Life — passo a passo

Este guia liga o Nexus aos seus aparelhos **Tuya / Smart Life** (tomadas, lâmpadas,
interruptores etc. que você já usa no app **Smart Life** ou **Tuya Smart**). No fim,
o Nexus lista os seus aparelhos e você escolhe quais quer controlar.

> **Por que é assim (e não um simples "login com a Tuya")?** A Tuya não oferece um
> "entrar com a Tuya" para apps de terceiros. Em vez disso, você cria um **projeto
> gratuito** no site de desenvolvedores da Tuya, copia duas chaves (Access ID e Access
> Secret) e **vincula a sua conta do app** a esse projeto. É isso que dá ao Nexus
> permissão de LER e controlar os seus aparelhos. Leva uns 10 minutos, uma vez só.

---

## O que você vai precisar

- O **app Smart Life** (ou Tuya Smart) já instalado, com os seus aparelhos funcionando.
- Saber o **e-mail/telefone** e o **país** da sua conta do app.
- Um computador com navegador.

---

## Passo 1 — Criar a conta de desenvolvedor da Tuya

1. Abra **https://iot.tuya.com** no navegador.
2. Clique em **Sign Up** (Registrar) e crie uma conta (pode ser o mesmo e-mail do app).
3. Faça login.

✅ **Deu certo se:** você entrou no painel (Tuya IoT Platform).

---

## Passo 2 — Criar um "Cloud Project"

1. No menu à esquerda, vá em **Cloud → Development** (ou "Cloud Project").
2. Clique em **Create Cloud Project**.
3. Preencha:
   - **Project Name:** `Nexus` (qualquer nome).
   - **Industry / Development Method:** pode deixar o padrão ("Smart Home").
   - **Data Center:** escolha o **mesmo do seu app** — para o Brasil normalmente é
     **Western America Data Center** (`us`). (Se não funcionar depois, tente
     **Central Europe** = `eu`.)
4. Clique em **Create**. Se aparecer uma tela pedindo para "autorizar APIs", clique
   em **Authorize**/**Subscribe** (as APIs básicas de dispositivos são gratuitas).

✅ **Deu certo se:** o projeto abriu numa página com abas **Overview**, **Devices**,
**Service API**.

---

## Passo 3 — Copiar as chaves (Access ID e Access Secret)

1. Na aba **Overview** do projeto, procure **Authorization Key**.
2. Copie o **Access ID / Client ID**.
3. Copie o **Access Secret / Client Secret** (clique no olho 👁 para revelar).

Guarde os dois — você vai colar no Nexus no Passo 5.

✅ **Deu certo se:** você tem duas sequências de letras/números anotadas.

---

## Passo 4 — Vincular a sua conta do app (o passo que dá acesso aos aparelhos)

Sem este passo o Nexus autentica mas **não vê nenhum aparelho**.

1. No projeto, abra a aba **Devices**.
2. Clique em **Link App Account** (Vincular conta do app).
3. Clique em **Add App Account**.
4. Vai aparecer um **QR Code**. No celular, abra o app **Smart Life / Tuya Smart**:
   - Toque em **Eu** (canto inferior) → ícone de **scanner** (canto superior direito).
   - Aponte para o QR Code da tela.
   - Confirme no celular.

✅ **Deu certo se:** os seus aparelhos aparecem na lista da aba **Devices** do projeto.

---

## Passo 5 — Cadastrar o canal no Nexus

1. No Nexus, vá em **Casa → Automação → Canais** (ou `/automation/accounts`).
2. Clique em **Novo canal**.
3. Em **Provedor**, escolha **Tuya**.
4. Dê um **Nome** (ex.: `Tuya Casa`).
5. No campo **Credenciais (JSON)**, deixe assim (troque pelos seus valores do Passo 3):

```json
{"region":"us","access_id":"SEU_ACCESS_ID","access_secret":"SEU_ACCESS_SECRET"}
```

> **region:** `us` (Western America), `eu` (Europe), `cn` (China) ou `in` (India) —
> tem que ser **o mesmo Data Center** que você escolheu no Passo 2.

6. Clique em **Salvar**.

✅ **Deu certo se:** o canal aparece na lista de canais.

---

## Passo 6 — Buscar os aparelhos

1. Abra o canal recém-criado (**Editar**).
2. Clique em **Buscar dispositivos**.
3. O Nexus lista os aparelhos da sua conta Tuya. Em cada um que você quiser controlar,
   clique em **+ Adicionar** (o formulário já vem preenchido — é só salvar).

✅ **Deu certo se:** os aparelhos escolhidos aparecem em **Automação** e você consegue
ligar/desligar por lá.

---

## Deu problema?

- **"Buscar dispositivos" não lista nada.** Quase sempre é o **Passo 4** — a conta do
  app não foi vinculada, ou foi vinculada num **Data Center diferente** do `region` que
  você pôs no JSON. Confira na aba **Devices → Link App Account** se os aparelhos
  aparecem lá; se sim, garanta que o `region` do JSON é o mesmo do projeto.

- **Erro de autenticação / "sign invalid".** O **Access ID** ou o **Access Secret**
  foram copiados errados (um espaço a mais, um caractere faltando). Copie de novo do
  **Overview** do projeto.

- **Região errada.** Se você não sabe o Data Center, tente `us` e, se não achar
  aparelhos, `eu`. É o erro mais comum para contas brasileiras.

- **O canal fica "em modo simulado".** É o que acontece quando as credenciais estão em
  branco ou inválidas — o Nexus não quebra, só não controla de verdade. Preencha o JSON
  correto e salve.

- **Aparelho aparece mas não liga/desliga.** Alguns aparelhos usam um "código de função"
  diferente de `switch_1`. Ao adicionar, o Nexus sugere o código; se não funcionar, edite
  o dispositivo e ajuste o campo **code** (ex.: `switch`, `switch_led`).

---

## Segurança

- O **Access Secret** é sensível: guardado no banco do Nexus e **nunca** aparece na tela
  depois de salvo.
- O Nexus só **lê** e **liga/desliga** — não altera a sua conta Tuya nem o app.
- Se quiser desligar tudo: apague o canal em **Automação → Canais**, ou remova a conta
  vinculada na aba **Devices** do projeto Tuya.
