Skip to content

feat(bluetooth): add support for Healthkeep 280 smart scale - #1487

Open
danidemis wants to merge 1 commit into
oliexdev:masterfrom
danidemis:support-healthkeep280-scale
Open

feat(bluetooth): add support for Healthkeep 280 smart scale#1487
danidemis wants to merge 1 commit into
oliexdev:masterfrom
danidemis:support-healthkeep280-scale

Conversation

@danidemis

Copy link
Copy Markdown

This PR adds support for Healthkeep smart scales (OEM Icomon / Yolanda / Fitdays chipset family, my model is Healthkeep 280).

Protocol & Technical Details

  • GATT Service UUID: 0xFFB0
  • Write Characteristic (0xFFB1): Used to send the user profile initialization/handshake packet (AC 02 FB [SEX] [AGE] [HEIGHT] CC [CHECKSUM]) required to unlock impedance measurement.
  • Notify Characteristic (0xFFB2): Handles live weight streaming updates during the weighing process.
  • Indicate Characteristic (0xFFB3): Listens for the final measurement indication (0xA3), successfully extracting the stabilized weight, heart rate (BPM), and body impedance (Ohm).
  • Body Composition: Integrates openScale's StandardImpedanceLib to automatically compute body fat, total body water, muscle mass, and bone mass based on the received impedance and user profile.

Testing & Changes

  • Created a new handler file: HealthKeep280Handler.kt.
  • Registered the handler in ScaleFactory.kt.
  • Added a scale catalog fixture in ScaleCatalog.kt.
  • Added a dedicated unit test (HealthKeep280HandlerTest.kt) to ensure correct byte-array parsing and validation.
  • Tested successfully on a physical device.

I attach the nRF (ble-sharable.log) capture because problems on get btsnoop_hci.log .
ble-sharable.log

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant