OpenScale works great and kind of does what you want. If you have an old Android phone laying around you can have it persistently connected to a cheap Bluetooth scale. Functional, but at a much have higher power cost than an ESP32 solution. Automated database exports to a local file (on the android device) and Syncthing can move your data around for analysis.
The good folks over at Gadgetbridge might have a solution too, although their list of supported scales looks pretty short.
You might also look into making a project like rmfakecloud to trick your Fitbit device into pushing data to a local server.
Not sure about home assistant though, I've never used it.
Second this! I like the interface. Especially useful for euro banks where you can auto sync.