Highlights
- Eufy Smart Scale P2 (T9148) and P2 Pro (T9149) — new dedicated adapter with the AES-128-CBC C0/C1/C2/C3 handshake these models require. Weight + impedance over GATT FFF2 after authentication, plus passive weight reading from the 19-byte advertisement without connecting. Previously these scales matched the QN adapter and crashed with
Operation is not supportedon FFF1. Ported from bdr99/eufylife-ble-client (#98) - GATT enumeration retry for the BlueZ
ServicesResolved=truerace that occasionally hid FFF2 on first discovery. Up to 3 retries with 500 ms backoff before surfacingCharacteristic not found - Wizard + orchestrator guard for empty exporter configs. The setup wizard now asks an explicit
Continue without exporters?confirmation when the export-targets checkbox is submitted empty, and the orchestrator short-circuitsdispatchExports([])with a clear warning instead of the misleadingAll exports failed+ exit code 1
Adapter count now 24, and the landing-page logo easter egg reflects it.
Thanks
- @mart1058 and @dbrb2 for diagnose output, HCI snoop logs, and on-device testing of the Eufy P2 Pro protocol reverse-engineering (#98)
- bdr99/eufylife-ble-client for the reference Python implementation of the Eufy T9148/T9149 auth handshake and frame formats
Upgrade
- HA Add-on: updates automatically via the Add-on Store
- Docker:
docker pull ghcr.io/kristianp26/ble-scale-sync:1.9.0 - npm:
git pull && npm install
Full changelog: v1.8.2...v1.9.0