Hey everyone!
I’ve created this custom integration for Etekcity Bluetooth Fitness Scales, as I wanted to easily get my weight data into Home Assistant without relying on the VeSync app or an internet connection. While the app is very nice and has a lot of cool advanced features, I found that I don’t really use most of them, and I found it a bit frustrating due to synchronization issues which made it practically impossible to sync and record my measurements without having my phone at hand and the app open and connected while using the scale. Also, I preferred the data to just get pushed to HA locally over having it getting to HA from VeSync through the internet.
The integration is very simple and basic, since I mostly just implemented the stuff I was personally interested in for my own use of the scale. So it just receives and records weight measurements once the reading stabilizes when you step on the scale. For now the only thing I added other than that is support for different display units, so that if anyone wants to use it in different parts of the world they can.
The parser library I implemented for the integration to use also extracts the impedance measurement, so if there’s interest I might add that or maybe at some point even try to figure out how to use it to calculate body composition metrics based on the impedance (which is what the VeSync app does I guess).
I have the Etekcity Smart Fitness Scale ESF-551 model, so that’s the only model that’s tested and known to work with the integration. I don’t know whether it might also work as is with some of the other ESF models or not, but if it doesn’t - my guess is it should probably be pretty easy to add support for them if I get the bluetooth packet captures from them.
So if you want to give it a try, I’ve put all the details on GitHub:
You can install it manually from the repo, or through HACS (which is probably the easiest way):
If you run into any issues or have any feedback, feel free to let me know here or on GitHub.
Cheers