找回密码
 立即注册

微信扫码登录

搜索
查看: 1057|回复: 29

[硬件DIY] ch592f做了一个bthome接入ha的按钮

[复制链接]

89

主题

546

回帖

4579

积分

论坛元老

积分
4579
金钱
3944
HASS币
30
发表于 2025-7-25 10:16:34 | 显示全部楼层 |阅读模式
本帖最后由 silas3082 于 2025-7-25 11:05 编辑

一、背景

从一开始玩ha就想着要是能自己做一个能接入ha的无线开关就好了

最开始使用的是esp8266,从1688上买的外壳,使用espnow+mqtt的方式接入ha

1000001075.png 1000001076.png


方法是可行,可是后来发现esp8266并没有那么低功耗,一块2032电池用不了几天就没电了

听说esp32低功耗方面管理的很好,但是如果使用esp32 成本会高不少,于是没研究

终于在逛立创开源平台的时候发现减熵大佬的BTHome格式的CH592低功耗门磁+照度+温湿度+无线按钮项目(https://oshwhub.com/entropy/btho ... i-du-wu-xian-an-niu),发现大佬已经实现了通过bthome把门磁,按钮,温湿度,照度接入ha
二、设计

于是在大佬项目的基础上,只保留了按钮,重新设计了pcb

1000001077.png 1000001078.png


并给按钮设计了一个3D外壳,使其真正成为一个按钮


1000001080.png 1000001079.png

微信图片_2025-07-25_101906_623.jpg


1000000908.jpg 1000000909.jpg


三、接入流程


参照原作者写的,已经很具体了。(这里我刷原代码需要填写bthome加密密钥,填入之后ha上边提示错误,索性把加密密钥去了,可以直接添加了)
接入 Home Assistant
硬件: 使用 ESP32 开发板/模块。
软件: 在 ESPHome 固件中启用 bluetooth_proxy 组件。
# ESPHome 配置示例
bluetooth_proxy:
esp32_ble_tracker:
  scan_parameters:
    interval: 320ms 
    window: 320ms  #设置该值等于interval,最大限度提高广播数据主动侦听时间,提高捕捉概率

流程:
将烧录了 ESPHome(含 bluetooth_proxy)的 ESP32 设备添加到 Home Assistant。
Home Assistant 会自动发现附近的 BTHome 蓝牙设备。
发现设备后,在 Home Assistant 界面输入设备的 BTHome 加密密钥 即可完成添加(我上传的代码中已经去掉了输入密钥的流程,可直接添加)。
注意: 偶尔可能出现密钥正确但添加失败的情况,通常稍等片刻重试即可成功。

四.低功耗


低功耗方面作者说是平均工作电流: ~6uA
1000001081.png
以上来自原作者数据,我没有具体测试,从报告看,一节2032可以用1142天,非常牛逼plus了,去掉光照,温湿度,门磁估计会更高
五、功能测试
按钮可以实现单击,双击,三击,长按,双击长按,三击长按等多种功能,有电池电压显示(电压我用万用表测试2.8v,显示3.2v,可能有点差距)


1000001069.png 1000001068.png 1000001067.png 1000001066.png 1000001065.png 1000001064.png

六、视频演示






无线按钮源码.rar

2.51 MB, 下载次数: 21

售价: 5 金钱  [记录]

3D外壳.rar

155.05 KB, 下载次数: 11

售价: 5 金钱  [记录]

ProPrj_BTHome格式的CH592无线按钮_2025-07-25.rar

292.28 KB, 下载次数: 20

售价: 5 金钱  [记录]

CH592固件.rar

133.63 KB, 下载次数: 18

售价: 5 金钱  [记录]

评分

参与人数 4金钱 +60 收起 理由
litchiate + 16 感谢楼主分享!
隔壁的王叔叔 + 12 论坛有你更精彩!
DDDear + 12 高手,这是高手!
sorrypqa + 20 高手,这是高手!

查看全部评分

回复

使用道具 举报

89

主题

546

回帖

4579

积分

论坛元老

积分
4579
金钱
3944
HASS币
30
 楼主| 发表于 昨天 16:22 | 显示全部楼层
Dogget 发表于 2025-8-5 16:13
我还在调试,这两天调试完,我再发你一份啊

好,谢谢啦
回复

使用道具 举报

0

主题

5

回帖

73

积分

注册会员

积分
73
金钱
68
HASS币
0
发表于 昨天 16:13 | 显示全部楼层
silas3082 发表于 2025-8-5 16:03
我是用esp32c3刷的esphome蓝牙代理作为网关,发现代码可能有点错误,重新修改一下,晚上回去试试可以不, ...

我还在调试,这两天调试完,我再发你一份啊
回复

使用道具 举报

89

主题

546

回帖

4579

积分

论坛元老

积分
4579
金钱
3944
HASS币
30
 楼主| 发表于 昨天 16:03 | 显示全部楼层
Dogget 发表于 2025-8-5 15:32
就是官方的例程改了改,我现在找到一个问题,可能是HA盒子上板载蓝牙的问题。
我用之前的esphome设备,刷 ...

我是用esp32c3刷的esphome蓝牙代理作为网关,发现代码可能有点错误,重新修改一下,晚上回去试试可以不,你的代码是啥样的?方便发来学习一下吗?
回复

使用道具 举报

0

主题

5

回帖

73

积分

注册会员

积分
73
金钱
68
HASS币
0
发表于 昨天 15:32 | 显示全部楼层
silas3082 发表于 2025-8-5 11:46
自己写程序也太牛了,用的也是bthome吗?可以参考一下我发的作者的源码,我反正是看的挺晕,你应该没问题 ...

就是官方的例程改了改,我现在找到一个问题,可能是HA盒子上板载蓝牙的问题。
我用之前的esphome设备,刷了个蓝牙代理的固件,最为蓝牙接收器,把板载蓝牙禁用后,ha数据就正常了。
门磁相应很快了,0.5s都能反应过来。不知道您是用什么设备接收的,与之前你提到的不是每次都能触发这个问题和我这个是不是一个原因。
具体原因还不知道为什么,反正是能正常接收了
回复

使用道具 举报

89

主题

546

回帖

4579

积分

论坛元老

积分
4579
金钱
3944
HASS币
30
 楼主| 发表于 昨天 11:46 | 显示全部楼层
Dogget 发表于 2025-8-5 10:48
固件不一样,我是自己写了一个程序。
我用蓝牙调试软件监听了广播数据,数据实时的发送出来了,但是HA这边 ...

自己写程序也太牛了,用的也是bthome吗?可以参考一下我发的作者的源码,我反正是看的挺晕,你应该没问题。
回复

使用道具 举报

0

主题

5

回帖

73

积分

注册会员

积分
73
金钱
68
HASS币
0
发表于 昨天 10:48 | 显示全部楼层
本帖最后由 Dogget 于 2025-8-5 10:50 编辑
silas3082 发表于 2025-8-4 22:00
我也弄了一个,在最新的帖子,你的固件用的一样的吗?我这个门磁发现和按钮一样不是每次都触发,有的时候 ...

固件不一样,我是自己写了一个程序。
我用蓝牙调试软件监听了广播数据,数据实时的发送出来了,但是HA这边没有反应。估计是HA处理的问题
回复

使用道具 举报

89

主题

546

回帖

4579

积分

论坛元老

积分
4579
金钱
3944
HASS币
30
 楼主| 发表于 前天 22:00 | 显示全部楼层
Dogget 发表于 2025-8-4 21:56
我也做了一个CH592的BTHOME设备,是一个门窗传感器,但是我的设备在HA上刷新很慢,状态改变后,大概在10s内 ...

我也弄了一个,在最新的帖子,你的固件用的一样的吗?我这个门磁发现和按钮一样不是每次都触发,有的时候按钮按下了或者门磁感应到了,但是ha里边没反应
回复

使用道具 举报

0

主题

5

回帖

73

积分

注册会员

积分
73
金钱
68
HASS币
0
发表于 前天 21:56 | 显示全部楼层
我也做了一个CH592的BTHOME设备,是一个门窗传感器,但是我的设备在HA上刷新很慢,状态改变后,大概在10s内改变状态,在HA上不显示,需要10s后,在操作设备,HA才能反应过来,大佬们知道什么情况吗?
回复

使用道具 举报

89

主题

546

回帖

4579

积分

论坛元老

积分
4579
金钱
3944
HASS币
30
 楼主| 发表于 6 天前 | 显示全部楼层
kittyme 发表于 2025-7-31 16:39
有没有整个3按钮的bthome的86型开关面板

我没弄,源码已经放出来了,可以自己修改一下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian ( 晋ICP备17001384号-1 )

GMT+8, 2025-8-6 16:01 , Processed in 0.426349 second(s), 14 queries , MemCached On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表