Repository navigation
feat: add Hume Body Pod 2 support - #1537
Conversation
|
Implementation reference comes from https://github.com/JozefJarosciak/Blue2Scale.com/blob/master/BLE_SCALE_PROTOCOL.md |
|
@oliexdev can you please take a look? Thanks! |
|
Independent verification of this handler against real hardware, from a Python re-implementation (offline — no app, account, cloud or location). Hardware confirmation — the GATT shape matches exactly. Read from a real unit on Linux/BlueZ: advertised name Profile write confirmed byte-for-byte. Measurement — four independent barefoot captures, artifacts kept and hashed:
The Sample full decode (#1): weight Sanity signals the decode is not an artifact: low-frequency impedance exceeds high-frequency on every segment (the expected BIA direction), the trunk reads far lower than the limbs, and the lock bit stays On the Two notes for the maintainer. (1) A Ref (corrected spelling): https://github.com/JozefJarosciak/Blue2Scale.com/blob/master/BLE_SCALE_PROTOCOL.md |
|
Thanks for your PR.
Minor:
|
Store the whole-body impedance of the high frequency in IMPEDANCE and of
the low frequency in IMPEDANCE_LOW, as KeepS3Handler does, instead of ten
per-segment types. Previously the low-frequency value ended up in
IMPEDANCE ("Impedance (high)"). Drop the segment types, deviceOhm and
their strings.
Publish the weight when the impedance is implausible instead of dropping
the whole weigh-in; only the out-of-range value is left out.
Rebuild the test frames from the barefoot weigh-in posted in the PR so
low and high frequency differ as on the real scale.
|
Thanks for the update, and sorry, my hint about the segments was misleading. I pushed a commit to your branch that does the same here:
If you get the chance, please check a weigh-in on your scale with this build. A raw |
Summary
Supported features
The handler publishes measured weight and whole-body impedance; OpenScale derives body-composition metrics centrally. Extended DF payloads remain intentionally unparsed.
Validation
JAVA_HOME=$HOME/.sdkman/candidates/java/current ./gradlew testDebugUnitTestIntegration tested with a debug apk using my own device