sorrypqa 发表于 2024-3-1 11:11:21

crazymouse 发表于 2024-3-1 10:10
牛逼啊,一直在等这个,这玩意儿的性价比太高了,就等esphome继承了,哈哈,这下有的玩了 ...
看了没有8M闪存都不敢玩esp32_ble_tracker,4M闪存的要炸了



crazymouse 发表于 2024-3-1 16:15:38

sorrypqa 发表于 2024-3-1 11:11
看了没有8M闪存都不敢玩esp32_ble_tracker,4M闪存的要炸了

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

xzmcft 发表于 2024-3-1 22:49:26

写在蓝牙网关里 出错了

ryanh7 发表于 2024-3-1 23:30:47

xzmcft 发表于 2024-3-1 22:49
写在蓝牙网关里 出错了

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

ryanh7 发表于 2024-3-2 20:45:35

linoul 发表于 2024-3-1 08:36
话说 可以说下是怎么获取并分析的过程吗?

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

xuyang 发表于 2024-3-3 18:53:32

接入ha后,只有打开和关闭两种状态,怎么判别单击和双击呢?

haipi 发表于 2024-3-4 09:27:30

买了个sonoff的minr4(这个应该可以刷把) 准备配个无线开关, 试试楼主的方案, 这个就是我要找的方案, 感谢楼主

xzmcft 发表于 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一直时关闭的

梅林听风 发表于 2024-3-4 22:05:47

看起来很不错。
枉我花大价钱买的h1却是各种问题

ryanh7 发表于 2024-3-4 23:29:30

xzmcft 发表于 2024-3-4 21:43
写入后BLE BUTTON一直时关闭的

只有按下的时候才会开启,松开就关闭,结合你自己的自动化做配置。
页: 1 [2] 3 4 5 6
查看完整版本: 平头熊蓝牙开关接入esphome/ha