『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
楼主: ryanh7

[插件集成] 平头熊蓝牙开关接入esphome/ha

  [复制链接]

50

主题

1338

帖子

5590

积分

论坛DIY达人

积分
5590
金钱
4252
HASS币
20
发表于 2024-3-1 11:11:21 | 显示全部楼层
crazymouse 发表于 2024-3-1 10:10
牛逼啊,一直在等这个,这玩意儿的性价比太高了,就等esphome继承了,哈哈,这下有的玩了 ...

看了没有8M闪存都不敢玩esp32_ble_tracker,4M闪存的要炸了

SNAG-2024-3-1_00003.jpg

回复

使用道具 举报

4

主题

266

帖子

2527

积分

金牌会员

Rank: 6Rank: 6

积分
2527
金钱
2261
HASS币
0
发表于 2024-3-1 16:15:38 | 显示全部楼层
sorrypqa 发表于 2024-3-1 11:11
看了没有8M闪存都不敢玩esp32_ble_tracker,4M闪存的要炸了

这玩意儿跑起来后应该不会增长多少,应该8M得就够用了
回复

使用道具 举报

0

主题

54

帖子

549

积分

高级会员

Rank: 4

积分
549
金钱
495
HASS币
0
发表于 2024-3-1 22:49:26 | 显示全部楼层
写在蓝牙网关里 出错了
微信图片_20240301224858.png
回复

使用道具 举报

55

主题

299

帖子

5047

积分

元老级技术达人

积分
5047
金钱
4738
HASS币
80
 楼主| 发表于 2024-3-1 23:30:47 | 显示全部楼层
xzmcft 发表于 2024-3-1 22:49
写在蓝牙网关里 出错了

最新版本?看不全,但好像是你的环境问题
回复

使用道具 举报

55

主题

299

帖子

5047

积分

元老级技术达人

积分
5047
金钱
4738
HASS币
80
 楼主| 发表于 2024-3-2 20:45:35 | 显示全部楼层
linoul 发表于 2024-3-1 08:36
话说 可以说下是怎么获取并分析的过程吗?

使用yaml配置打印所有的蓝牙信息,通过rssi信号强度找到开关的mac地址后,修改代码使其按mac过滤。分析其ble广播内容并试图找到规律。内容没有加密的话还是比较容易看出规律的。
回复

使用道具 举报

73

主题

1165

帖子

6641

积分

论坛元老

Rank: 8Rank: 8

积分
6641
金钱
5471
HASS币
30
发表于 2024-3-3 18:53:32 | 显示全部楼层
接入ha后,只有打开和关闭两种状态,怎么判别单击和双击呢?
回复

使用道具 举报

2

主题

25

帖子

202

积分

中级会员

Rank: 3Rank: 3

积分
202
金钱
177
HASS币
0
发表于 2024-3-4 09:27:30 | 显示全部楼层
买了个  sonoff的  minr4(这个应该可以刷把) 准备配个无线开关, 试试楼主的方案, 这个就是我要找的方案, 感谢楼主
回复

使用道具 举报

0

主题

54

帖子

549

积分

高级会员

Rank: 4

积分
549
金钱
495
HASS币
0
发表于 2024-3-4 21:43:34 | 显示全部楼层
esphome:
  name: esp32-ble-tracker
  friendly_name: ESP32 Ble Tracker

esp32:
  board: nodemcu-32s
  framework:
    type: arduino

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "IwRqzxtPneWvz2R7WySU7/v+uUXQsJVsu/VXxxrXjOw="

ota:
  password: "44f013770e04ae7c36b6b794a4e7f8ee"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Esp32-Ble-Tracker"
    password: "PQiEO6DGBUxo"

captive_portal:

web_server:                                            ## web控制,添加了这2行,就可以在网页端打开设备ip;
  port: 80
  version: 2
  include_internal: true

external_components:
  - source: github://ryanh7/esphome-custom-components
    components: [ ptx_yk1 ]

esp32_ble_tracker:
  scan_parameters:
    interval: 300ms
    window: 300ms
    active: false
  on_ble_advertise: # 调试用途,按下无线按钮可查找蓝牙开关MAC地址
    then:
      - lambda: |-
          for (auto data : x.get_manufacturer_datas()) {
            if (data.uuid == esp32_ble_tracker::ESPBTUUID::from_uint16(0x5348)) {
              ESP_LOGD("ptx_yk1", "Found ptx_yk1_qmimb: %s", x.address_str().c_str());
              return;
            }
          }

binary_sensor:
  - platform: ptx_yk1
    mac_address: "A4:C1:38:C2:63:A6" # 蓝牙开关MAC地址,可使用上面的调试代码查找新开关的MAC地址
    name: "BLE Button"
    timeout: 300ms # 可选,蓝牙BLE信号接收的超时时间。取决于信号环境和esp32_ble_tracker的scan_parameters配置。如果时间设置过短,可能会导致长按误判为短按;而时间设置过长则会延迟蓝牙开关的松开判定。
    on_multi_click: # 单击、双击、长按示例配置
      - timing:
          - ON for at most 2s # 短按须少于2秒
          - OFF for at least 1s # 1秒内无按下动作,判定为单击
        then:
          - logger.log: "Clicked" # 配置单击动作
      - timing:
          - ON for at most 2s # 第一次短按须少于2秒
          - OFF for 0s to 1s # 两次短按须间隔1秒以内
          - ON for at most 2s # 第二次短按须少于少于2秒
          - OFF for at least 0s
        then:
          - logger.log: "Double-Clicked" # 配置双击动作
      - timing:
          - ON for at least 2s # 长按须大于2秒
        then:
          - logger.log: "Long-Pressed" # 配置长按动作

sensor:
  # RSSI based on MAC address
  - platform: ble_rssi
    mac_address: A4:C1:38:C2:63:A6
    name: "BLE 英俊"
写入后BLE BUTTON一直时关闭的
回复

使用道具 举报

13

主题

95

帖子

1302

积分

金牌会员

Rank: 6Rank: 6

积分
1302
金钱
1207
HASS币
0
发表于 2024-3-4 22:05:47 | 显示全部楼层
看起来很不错。
枉我花大价钱买的h1却是各种问题
回复

使用道具 举报

55

主题

299

帖子

5047

积分

元老级技术达人

积分
5047
金钱
4738
HASS币
80
 楼主| 发表于 2024-3-4 23:29:30 | 显示全部楼层
xzmcft 发表于 2024-3-4 21:43
写入后BLE BUTTON一直时关闭的

只有按下的时候才会开启,松开就关闭,结合你自己的自动化做配置。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-23 13:37 , Processed in 0.141384 second(s), 32 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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