用ESP32让Withings Body+直连Home Assistant
I Connected My Withings Body+ to Home Assistant with an ESP32
我有一台用了多年的Withings Body+,原本数据必须经过Withings云端才能进入Home Assistant。为了去除中间环节,我利用ESP32和ESPHome搭建了一套本地方案,让体重秤通过蓝牙直接将数据传给Home Assistant。借助ChatGPT和OpenCode,我逆向解析了未公开的协议,成功让ESP32识别秤上的用户ID,并区分我和妻子的测量数据。现在,数据不再上传云端,完全本地化存储,且无需修改秤的硬件。虽然过程繁琐,但ESP32终于有了用武之地,数据流也彻底摆脱了云端的束缚。
数据不再经过云端,而是直接留在家里,这正是我想要的效果。
HN 评论区
28- AshleyGrant
用 AI 逆向工程未公开的蓝牙协议对我来说简直是救命稻草。我们有一辆房车,自带 BMPro 的“智能房车”系统,可以控制所有灯光、空调、启动发电机、调平、伸缩房以及其他功能。
BMPro 的 App……嗯,感觉他们是故意把它做得很烂。
我忍了两年,今年早些时候灵机一动,把 APK 丢给了 Claude Opus。现在我再也不用那个烂 App 了,因为它逆向出了蓝牙协议,我可以用自己定制的 Android App、托管在 GitHub Pages 上的网站,或者我用 AI 构建的 Home Assistant App。
它并不完美,也有 bug,但比他们的 App 要少得多。最近工作太忙,还没来得及修复这些 bug,不过我会找时间处理的。
我还用 Opus 修补了原始 APK,修复了几个 bug 以及他们那些莫名其妙糟糕的 UI 设计。我仍然更喜欢用自己的 App,但手头留着这个修补版作为备用。
- dgacmu
如果你用的是 eufy 体脂秤,根本不需要大语言模型(LLM)——只需设置一个 ESP32 蓝牙代理,把它添加到 Home Assistant,然后使用别人已经做好的 EufyLife 集成即可。我最近刚给我的秤这么做了,目的是避免把数据同步到手机、上传云端、再从云端拉取数据等繁琐步骤,效果棒极了。我写了一个小小的 Home Assistant 集成,将秤的更新推送给本地运行的 Python 脚本,该脚本提供了一个我喜欢的界面。
我非常推崇这种运行方式。
(昨天我订了一个更商业化、外观更精致的 ESP32 蓝牙代理,它集成在一个智能插座里,品牌叫 athome——功能其实一样,只是比插在插座上垂着个 USB 设备要好看多了)
- sowbug
我计划对一台售价 150 美元的跑步机做类似的事情,它使用一个叫“Gymax”的 App。我不想要那个 App,也不想用它那可爱得有点幼稚的社交网络。我只想要三个按钮:慢、快、以及持续 60 秒的“超级快”。