shivao-projeto/mobile/package.json
PontualTech / Karlão 8f3870412d
Some checks are pending
Build Android (APK + AAB) / build-android (push) Waiting to run
feat(bms): parser JBD/LLT Power BMS — voltagem, corrente, SOC, células, temps v1.10.0
Identificado pelo diagnóstico: BMS do Karlão (bat2) usa protocolo JBD
(Jiabaida) — service ff00, notify ff01, write ff02. Padrão de mercado
para BMS chineses (Overkill Solar, Hankzor, JBD oficial, LLT Power,
Xiaoxiang) — cobre ~80% dos BMS BLE de lítio.

Implementação:
- Auto-detect: ao parear, se device tem service ff00 → ativa parser JBD
- bmsAttachJBD() subscribe na char ff01 (notify) + envia comando 0x03
- Comando: DD A5 03 00 FF FD 77 (Read Basic Info)
- Reassembly de chunks BLE (max 20 bytes/chunk) até receber 0x77 (end)
- Parser decodifica: voltage (uint16/100), current (int16/100, signed),
  remaining/total capacity (Ah), cycle count, protection bitfield,
  SoC (%), FET status, cell count, temperatures (kelvin*10 → °C)
- Re-poll a cada 30s pra atualizar dados em tempo real
- Auto-sync lastBattery com BMS soc pra card resumido

UI expandida:
- Card BMS com 3 stats grandes: TENSÃO (V) · CORRENTE (A) · POTÊNCIA (W)
- Cor dinâmica: verde se carregando (current>0), amarelo se descarregando
- Linha extra: status flow + capacidade (remain/total Ah) + ciclos + temps
- Block de células individuais (4S/8S/16S detectado automaticamente)
- Border-left do card colorido conforme estado de fluxo

Protocolo de referência: gitlab.com/bms-tools/bms-tools

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 16:56:48 -03:00

28 lines
897 B
JSON

{
"name": "shivao-mobile",
"version": "1.10.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"
}
}