6.2 KiB
| tags | created | status | ||||||
|---|---|---|---|---|---|---|---|---|
|
2026-09-08 | playbook |
Cursor + Tapo + Tuya — playbook (Roger)
Processo capturado em 2026-09-08 para reutilizar nas duas máquinas / dois locais de trabalho.
Regra de ouro: a tomada Tapo alimenta o Proxmox. Nunca tapo_turn_off nessa tomada sem confirmação explícita (três vezes). Ligar (turn_on) só se o host estiver em baixo e o Roger pedir.
1. Cursor em duas máquinas — o que sincroniza
O mesmo login Cursor não replica o histórico de Agent/Chat da IDE. Isso fica local (por pasta/workspace).
| Segue a conta | Fica na máquina |
|---|---|
| Plano, modelos, Cloud Agents | Histórico Agent/Chat da barra lateral |
| Regras/MCP de team (dashboard) | Checkpoints, side chats |
| Settings, atalhos, extensões (salvo exportar perfil) | |
MCP user em %USERPROFILE%\.cursor\mcp.json |
O que fazer nas duas máquinas:
- Mesma conta Cursor.
- Mesmo Git (código +
.cursor/rules,AGENTS.md, MCP de projeto). - Copiar à mão
C:\Users\mini\.cursor\mcp.jsone a pastaC:\Users\mini\.cursor\mcp-servers\(MCP Tapo/Tuya não viajam com o login). - Conversas que precisam continuar noutro PC: Move to Cloud / Cloud Agents.
- Caminhos de pasta diferentes = workspace diferente = histórico diferente.
- Remote SSH: o código está no servidor; o chat fica no cliente.
Pedido frequente à Cursor (sync de chats) — sem prazo. Não copiar state.vscdb entre Windows/Mac (hashes e risco de corromper).
2. Dois mundos: Tuya ≠ Tapo
| Tuya / Smart Life | Tapo (TP-Link) | |
|---|---|---|
| App | Smart Life ou Tuya Smart | App Tapo |
| Como o Cursor fala | Cloud API (openapi.tuyaeu.com) |
LAN (broadcast python-kasa) |
| MCP | tuya |
tapo |
| O que controla hoje | Interruptor Wi-Fi 1 gang | Tomada do Proxmox |
| QR no iot.tuya.com | Sim (ligar conta da app) | Não |
O QR da Tuya nunca traz tomadas Tapo.
3. Ficheiros e paths (esta máquina Windows)
- MCP config:
C:\Users\mini\.cursor\mcp.json - Script Tapo:
C:\Users\mini\.cursor\mcp-servers\tapo_mcp.py - Venv MCP:
C:\Users\mini\.cursor\mcp-servers\.venv\ - Fix TLS Avast:
C:\Users\mini\.cursor\mcp-servers\.venv\Lib\site-packages\sitecustomize.py - Pacote extra:
truststoreno mesmo venv
Credenciais não estão nesta nota. Estão no mcp.json (Tuya Access ID/Key; Tapo ainda PREENCHER).
4. Tuya — estado em 2026-09-08
- Plataforma: https://eu.platform.tuya.com / https://iot.tuya.com
- Projeto: cursor-casa
- Project ID:
p1788865726593kjmtjy - Data Center: Central Europe → endpoint
https://openapi.tuyaeu.com - Tipo: Location/Campus
- Conta Smart Life ligada:
rogerio.cezar@gmail.com - Modo: Automatic Link
- IoT Core: plano trial (há botão Upgrade)
Dispositivo ligado à API:
| Campo | Valor |
|---|---|
| Nome | 1Gang WIFI Switch |
| Device ID | bfaf766aa915197295qju6 |
| Produto | CB01-SBL |
| Categoria | kg (interruptor) |
| Online | sim (validado pela API) |
| Ativação | 2024-04-27 14:01:02 |
Isto NÃO é o Proxmox. Não desliga o host.
Como ligar a conta da app (quando a lista está vazia)
- Cloud → Development → lista My Cloud Projects.
- cursor-casa não é um link. A janela estreita esconde a coluna Operation. Maximizar, Ctrl+-, ou scroll horizontal. Botão: Open Project.
- Aba Devices → Link App Account → Add App Account → Tuya App Account Authorization.
- QR: app Smart Life → Me → ícone scan (canto superior direito) → confirmar.
- Região da app (Me → Settings → Account and Security → Region) tem de ser Europa.
- Depois de ligado: a API
/v2.0/cloud/thing/devicedeixa de devolver COUNT 0. - Em Automatic Link, o texto Link na tabela do dispositivo não é o passo que falta — já está associado.
CAPTCHA de puzzle no login Tuya: humano (não automatizar).
5. Avast Web Shield — MCP Tuya a falhar no arranque
Sintoma: servidor MCP tuya errored, tools tuya_* desaparecem.
Causa: Avast intercepta HTTPS. Certificado apresentado:
CN=*.tuyaeu.com
ISSUER: CN=Avast Web/Mail Shield Root
OU=generated by Avast Antivirus for SSL/TLS scanning
OpenSSL 3 do Python rejeita (Basic Constraints / unable to get local issuer certificate).
Correção aplicada (esta máquina): sitecustomize.py no venv injeta truststore (Schannel / loja Windows). Com isso: CONNECT True.
Depois de alterar o venv: reiniciar o Cursor ou toggle do servidor MCP em Settings → MCP.
Na segunda máquina, repetir: pip install truststore no venv + o mesmo sitecustomize.py se o Avast (ou outro SSL scanning) estiver ativo.
6. Tapo — estado (validado 2026-09-08 14:05)
MCP Tapo operacional neste PC (venv .venv-tpap). Credenciais da app Tapo no mcp.json (não repetir aqui).
Tomada protegida — Proxmox / Dell R630:
| Campo | Valor |
|---|---|
| Alias | R630_Dell_Server |
| Modelo | P110 |
| IP LAN | 192.168.1.104 |
| Tipo | Plug |
| Estado 2026-09-08 | ON (is_on: true) |
PROIBIDO: tapo_turn_off em 192.168.1.104 / R630_Dell_Server — corta o Proxmox.
Permitido: tapo_list_devices, tapo_get_status, e tapo_turn_on só se o host estiver em baixo e o Roger pedir.
Discovery: TAPO_DISCOVERY_TARGET=192.168.1.255 — só na mesma Wi-Fi. Noutro escritório a lista vem vazia.
7. Checklist rápido (segunda máquina ou reinstall)
- Login Cursor
- Copiar
mcp.json+mcp-servers(sem meter secrets no Git) - Se Avast:
truststore+sitecustomize.py - Reiniciar Cursor; Settings → MCP:
tuyaetapoverdes - Tuya: listar devices; deve aparecer o interruptor
bfaf766aa915197295qju6 - Tapo: preencher credenciais; PC na LAN de casa; não desligar Proxmox
- Git para código/regras de projeto; Cloud Agent se precisares do mesmo chat nos dois PCs
8. Segurança
- Password da conta Tuya Developer passou por chat nesta sessão — rodar quando possível.
- Não versionar
mcp.jsoncom Access Key / senhas. - Access ID/Key Tuya: só no
mcp.jsonlocal.