Skip to content

v1.0.29

Choose a tag to compare

@gsbenevides2 gsbenevides2 released this 12 Sep 03:04
· 92 commits to main since this release

Release Notes — v1.0.29

🚀 Novidades

  • Integração completa com Tuya/Smart Life — lâmpadas, módulos relé Wi-Fi e sensores (temperatura, umidade, presença, porta) agora são suportados
  • Transporte local (LAN) e nuvem — lâmpadas e relés usam TCP local para respostas instantâneas e funcionam sem internet; sensores usam a nuvem Tuya
  • Negociação de chave de sessão e criptografia — protocolos Tuya v3.4 e v3.5 implementados do zero, com handshake de 3 mensagens e integridade via HMAC-SHA256/GCM
  • Dashboard Tuya — interface para controlar lâmpadas (liga/desliga, brilho, cor, temperatura de cor) e relés (canais individuais) com cards e drawer lateral
  • Triggers onTuyaSensorChange e onTuyaDeviceChange — reaja a mudanças de sensores e dispositivos com filtros por nome, tipo, código e valor; inclui suporte a previousValue para detecção de borda
  • Script API utils/tuya — funções de controle (turnOn, turnOff, setBrightness, setColor, setChannel, etc.) e leitura (getTemperature, isDoorOpen, isMotionDetected, etc.) resolvendo por nome amigável ou ID Tuya
  • Jobs agendados — tuya-catalogue (6h), tuya-sensor-readings (1min), tuya-sync (1min), tuya-discovery (5min) para sincronização automática, leitura de sensores e descoberta via UDP
  • Documentação completa — docs/tuya.md com configuração, exemplos de automação, API HTTP, referência de data points e troubleshooting

🐛 Correções

(nenhuma correção de bug nesta versão)

⚡ Melhorias

  • Novas variáveis de ambiente — TUYA_LOCAL_KEY_SECRET, TUYA_ACCESS_ID, TUYA_ACCESS_SECRET e TUYA_DATA_CENTER adicionadas ao docs/environment.md
  • Dashboard reorganizado — Tuya aparece como primeiro item na lista de dashboards para acesso rápido
  • Chaves locais criptografadas em repouso — o localKey de cada dispositivo é derivado de um segredo configurável e nunca é exposto pelas rotas HTTP
  • Colapsamento de histórico — mudanças de lâmpadas (ex: cenas de cor) são agrupadas em janelas de 10 segundos para evitar ruído nos logs

🔧 Mudanças internas

  • Protocolo Tuya local implementado em src/utils/tuya/protocol/ usando apenas node:crypto, node:zlib, node:net e node:dgram — sem dependências externas
  • Detecção automática de layout de lâmpadas (3 layouts: A, B, C) na primeira conexão
  • Tokens de nuvem cacheados em processo e renovados 1 minuto antes da expiração com colapsamento de chamadas concorrentes
  • Pruning de leituras com mais de 90 dias para manter o banco enxuto
  • Sensores de movimento lidos via /v2.0/cloud/thing/{id}/shadow/properties (thing model) em vez da API padrão