Some checks failed
Build Android (APK + AAB) / build-android (push) Has been cancelled
Servidor (proxy assinado):
- server/src/tuya.js: cliente Tuya OpenAPI com HMAC-SHA256 + token cache
(2h TTL, retry 1x em token expirado), helpers categoryLabel
- 3 endpoints novos em server/src/index.js (todos requireAuth):
* GET /api/iot/devices → lista devices da conta Smart Life
* GET /api/iot/status/:deviceId → DPs (data points) atuais
* POST /api/iot/command/:deviceId → envia comandos {code,value}
- Audit log via db.audit('iot_command', ...) pra histórico de toggles
- 503 graceful quando TUYA_ACCESS_ID/SECRET ausentes
Client (UI):
- Card 🏠 Casa do Barco em Arquivo (após Bluetooth, antes Raymarine)
- Modal "Adicionar dispositivo" lista devices da conta Smart Life,
permite escolher quais aparecem no Shivão (multi-select via toque)
- Cards por device com ícone por categoria (cz=tomada, dj=lâmpada,
fs=ventilador, kt=ar-cond, sd=robô, etc.) + toggle ON/OFF + status
online/offline + tempo desde último ping
- Toggle optimistic UI: marca novo estado imediato, reverte se falhar
- Polling 10s pra sync de status, pausa em background (economiza
Starlink + bateria)
- Backoff: 3 falhas consec → marca offline, retry 30s
- state.smartDevices[] persistido no localStorage (mesmo padrão btDevices)
Setup (admin, 1x):
- Karlão precisa criar projeto em iot.tuya.com (5 min, gratuito) e
adicionar TUYA_ACCESS_ID + TUYA_ACCESS_SECRET no env Coolify
- Documentação completa no .env.example com passo a passo
- Sem credenciais: card mostra "⚙ Tuya não configurado"
Bumps:
- APP_VERSION 1.11.0 → 1.12.0
- sw.js VERSION shivao-v1.11.0 → shivao-v1.12.0
- mobile/package.json + build.gradle (versionCode 32→33)
- LATEST_APK_URL atualizado pro release v1.12.0
Fix gitignore:
- .env.example em pastas nested (server/.env.example) estava bloqueado
por **/.env.* — adicionado !**/.env.example pra liberar.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
28 lines
897 B
JSON
28 lines
897 B
JSON
{
|
|
"name": "shivao-mobile",
|
|
"version": "1.12.0",
|
|
"description": "Shivao app nativo (Capacitor wrapper Android/iOS)",
|
|
"main": "index.js",
|
|
"type": "module",
|
|
"scripts": {
|
|
"sync": "node ../scripts/sync-html.mjs && npx cap sync",
|
|
"android:open": "npx cap open android",
|
|
"android:build:apk": "cd android && ./gradlew assembleRelease",
|
|
"android:build:aab": "cd android && ./gradlew bundleRelease",
|
|
"ios:open": "npx cap open ios"
|
|
},
|
|
"dependencies": {
|
|
"@capacitor-community/bluetooth-le": "^6.1.0",
|
|
"@capacitor/android": "^6.1.2",
|
|
"@capacitor/app": "^6.0.1",
|
|
"@capacitor/core": "^6.1.2",
|
|
"@capacitor/geolocation": "^6.0.1",
|
|
"@capacitor/local-notifications": "^6.1.0",
|
|
"@capacitor/network": "^6.0.2",
|
|
"@capacitor/preferences": "^6.0.2",
|
|
"@capacitor/status-bar": "^6.0.1"
|
|
},
|
|
"devDependencies": {
|
|
"@capacitor/cli": "^6.1.2"
|
|
}
|
|
}
|