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

 找回密码
 立即注册
查看: 8578|回复: 7

Home assistant连接米家蓝牙温湿度计 2(LYWSD03MMC)使用经验

[复制链接]

7

主题

30

帖子

489

积分

论坛分享达人

积分
489
金钱
459
HASS币
0
发表于 2022-2-15 09:00:34 | 显示全部楼层 |阅读模式
本帖最后由 bg6cq 于 2022-2-17 08:34 编辑

米家蓝牙温湿度计2(LYWSD03MMC)有多个硬件版本,其主控SOC是ATC1441,
不同的硬件版本内置的温湿度传感器略有不同,我从不同途径一共买了8个,其中2个2021年10月生产的是硬件版本是B1.7,6个2021年11月之后生产的硬件版本是B2.0。

除了使用原厂的固件,还有2个开源固件可以选择,分别是:
https://github.com/atc1441/ATC_MiThermometer
https://github.com/pvvx/ATC_MiThermometer

使用原厂的固件时,有两种方式可以获取温湿度信息:

一种是每次与温湿度计配对读取信息,这个过程不涉及到加密,但每次配对会导致温湿度计耗电多,因此不建议使用。
如果运行Home assistant的设备有蓝牙接口,使用下面的配置可以获取信息:

sensor:
  - platform: mitemp_bt
    mac: "A4:C1:38:8D0:B6"
    name: 温湿度
    force_update: true
    median: 1
    monitored_conditions:
      - temperature
      - humidity
      - battery

另一种方式是获取温湿度计定时广播的数据包从而读取信息。默认激活后,
每隔10分钟左右温湿度计会广播温湿度、电池、信号等信息,这些信息是
分不同的数据包间隔广播的,并不是在一个数据包内一次性携带了所有信息。
这些信息在发送时使用了bind_key(encryption_key)加密,因此需要知道
bind_key才可以获取信息。

这种方式的优点是将温湿度计激活后不再需要与温湿度计蓝牙通信,只要接收
信息即可,比较省电。但需要注意的是,每次激活后bind_key都会发生变化,
一旦用下面介绍的方式激活并获取bind_key,就不可以再用米家app重新激活,
否则bind_key会变化。

如果运行HA的设备有蓝牙接口并且与温湿度计距离很近,可以在HA中使用如下的配置:
(bt_interface是HA设备的蓝牙口MAC)

ble_monitor:
  bt_interface: 'DC:A6:32:297:A1'
  bt_auto_restart: False
  active_scan: False
  discovery: True
  period: 60
  use_median: False
  decimals: 1
  log_spikes: False
  restore_state: False
  report_unknown: False
  devices:
    # sensor
    - mac: 'A4:C1:38:8D0:B6'
      name: 温湿度
      encryption_key: '9def76278a246ed2154351ffe38ec624'
      temperature_unit: C
      use_median: False
      restore_state: default

除了这种方式外,还可以购买ESP32模块,通过ESPHome接入,使用如下的配置:
esphome:
  name: esp32-f3-south-room
  platform: ESP32
  board: nodemcu-32s

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:
  password: "********************************"

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

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Esp32-1 Fallback Hotspot"
    password: "d6Y8ZEdCJN3A"

captive_portal:

esp32_ble_tracker:

sensor:
  - platform: xiaomi_lywsd03mmc
    mac_address: "A4:C1:38:CA:93:AB"
    bindkey: "3a6120ad0a7efd4ef1100dcc4e4c1aed"
    temperature:
      name: "93AB Temperature"
    humidity:
      name: "93AB Humidity"
    battery_level:
      name: "93AB Battery Level"
  - platform: xiaomi_lywsd03mmc
    mac_address: "A4:C1:38:1E:B0:5F"
    bindkey: "d17699fc5676cb60864e6254686eddc3"
    temperature:
      name: "LYWSD03MMC Temperature"
    humidity:
      name: "LYWSD03MMC Humidity"
    battery_level:
      name: "LYWSD03MMC Battery Level"

获取bind_key以及更换固件,可以使用
https://atc1441.github.io/TelinkFlasher.html
https://pvvx.github.io/ATC_MiThermometer/TelinkMiFlasher.html

方法是:点击connect,在系统弹出的蓝牙列表中选择温湿度计,连接后单击 Do Activation即可。
经测试苹果的设备和一些安卓手机无法弹出蓝牙列表,windows一般都可以。

注意1:温湿度计的MAC地址并不是蓝牙连接时显示的那个MAC地址。
要想知道MAC地址,可以使用米家App添加温度计后在在温度计/设置/关于中获得,也可以使用ESPhome的LOG通过收到的广播包获知。


注意2:每次激活或使用米家app激活都会导致bind_key变化,使用这个方法激活后米家app是不能连接温湿度计的。


评分

参与人数 2金钱 +25 收起 理由
乐以歌德 + 5 感谢楼主分享!
+ 20 感谢楼主分享!

查看全部评分

回复

使用道具 举报

1

主题

176

帖子

2266

积分

金牌会员

Rank: 6Rank: 6

积分
2266
金钱
2090
HASS币
0
发表于 2022-2-15 13:17:46 | 显示全部楼层
用ble_monitor接入比较好,数据刷新频率比esp32高一点
回复

使用道具 举报

77

主题

1391

帖子

2万

积分

元老级技术达人

积分
24349
金钱
22918
HASS币
290
发表于 2022-2-15 14:41:19 | 显示全部楼层
感谢分享,用过Esp32的还行。不过还是多模网关的方式简单方便。
回复

使用道具 举报

0

主题

3

帖子

26

积分

新手上路

Rank: 1

积分
26
金钱
23
HASS币
0
发表于 2022-2-15 14:50:47 | 显示全部楼层
:D被识别成笑脸了
回复

使用道具 举报

8

主题

870

帖子

5218

积分

论坛元老

Rank: 8Rank: 8

积分
5218
金钱
4348
HASS币
0
发表于 2022-2-15 20:11:14 | 显示全部楼层
谢谢分享。赞
回复

使用道具 举报

1

主题

9

帖子

34

积分

新手上路

Rank: 1

积分
34
金钱
25
HASS币
0
发表于 2022-2-19 17:52:30 | 显示全部楼层
学习学习
回复

使用道具 举报

10

主题

147

帖子

462

积分

中级会员

Rank: 3Rank: 3

积分
462
金钱
315
HASS币
0
发表于 2022-2-22 09:04:53 | 显示全部楼层
直接用米家的多模网关是不是更便捷一点,不知道耗电怎么样~
回复

使用道具 举报

0

主题

35

帖子

214

积分

中级会员

Rank: 3Rank: 3

积分
214
金钱
179
HASS币
0
发表于 2024-2-29 22:33:47 | 显示全部楼层
多模网关可以接入,小爱音箱也可以接入,但是没有变化曲线。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-25 18:16 , Processed in 0.087380 second(s), 31 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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