1. 前提
- ESPHOME - ESP32
- 获得按呗的MAC地址(安卓手机可通过BLE Sniffer)
2. 实现
给 ESP32 刷好 ESPHOME,完成配网,连接上 HA API 后
#esp32.yaml
esp32_ble_tracker:
on_ble_advertise:
- mac_address: XX:XX:XX:XX:XX:XX # 你的天猫按呗 MAC
then:
- if:
condition:
binary_sensor.is_on: tmall_button
then:
- binary_sensor.template.publish:
id: tmall_button
state: OFF
else:
- binary_sensor.template.publish:
id: tmall_button
state: ON
binary_sensor:
- platform: template
id: tmall_button
name: tmall_button
filters:
- delayed_on_off: 1000ms
3. 废话
- 如果不用这种方法,按呗只能通过天猫精灵 - 自定义技能 - HA 网关(论坛技能或其他自定义部件)来接入,依靠外网访问,可靠性不佳。
- 按呗的 BLE 报文似乎是不规范的,无法获得 service UUIDs,无法识别双击和长按。
|