Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Sinocare CW286 bluetooth bathroom scales #861

Merged
merged 13 commits into from
May 29, 2022

Conversation

MoralCode
Copy link
Contributor

This PR adds support for the Sinocare CW266 Digital bluetooth bathroom scale.

This scale appears to be similar in operation to the scale added in #706 with regard to the contents of this comment which basically says the scale only uses the manufacturer data field to broadcast data using bluetooth's Advertising mechanism and does not offer a proper service for accessing these values. The same is true for this scale and I suspect the reason for this is that this sinocare scale has a rather short timeout of about 10 seconds before it turns off, making it hard for a user to connect and get the data before it turns itself off.

Also from that thread it appears that this is the second scale to operate this way

ok that would be the first scale without an Bluetooth service but if its works I will merge it.

To my knowledge and the best of my wireshark/deduction skills based on the wiki (which to me seems like it may be a little out of date regarding the process of getting the bluetooth packet capture) this scale only supports advertising weight values. Because i couldnt find any solid evidence for the data format, this (and a checksum) is all i have implemented, but my limited testing seems to suggest that it works well enough.

Because of a lack of reliable indication that the scale is "done" measuring (i.e. users weight has stabilized) this implementation checks for this based on receiving a sequence of many identical weight values in a row. I admit this is not ideal and should be updated once better information about the operation of this scale is known.

Hopefully this explains the bulk of how this scale operates, let me know if you have questions or need me to make any changes!

@oliexdev oliexdev merged commit 0260f75 into oliexdev:master May 29, 2022
@oliexdev
Copy link
Owner

Thanks for your awesome PR 👍

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.

None yet

2 participants