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

 找回密码
 立即注册
查看: 1366|回复: 10

[基础教程] 抄作业,将鹿客智能门锁通过esphome蓝牙代理接入HA

[复制链接]

3

主题

18

帖子

140

积分

注册会员

Rank: 2

积分
140
金钱
122
HASS币
0
发表于 2024-8-6 22:55:37 | 显示全部楼层 |阅读模式
抄袭XCray大佬:xiaomi_ble组件:米家系蓝牙门锁接入HA的最佳方式,适配之路本教程抄袭XCray大佬的文章,本人的是鹿客classic 2s,与大佬的榉树门锁略有差别,本方法可适用于鹿客其他款门锁。
准备工作,论坛搜索,不赘述

1、准备esp32c3,刷esphome蓝牙代理
2、老毛子米家app,重新绑定门锁,获取门锁beacon_key


正式开始:
1、在/usr/src/homeassistant/homeassistant/components/xiaomi_ble/device_trigger.py文件中增加
"Lockin-Classic2s": TRIGGER_MODEL_DATA[LOCK_FINGERPRINT],
2、在/usr/local/lib/python3.12/site-packages/xiaomi_ble/devices.py文件中增加
    0x0504: DeviceEntry(
        name="Door Lock",
        model="Lockin-Classic2s",
    ),

3、在上述文件中增加代码后,HA自带的xiaomi_ble就可正常识别到鹿客classic 2s,门锁每隔一段时间会发送电量信息,其他信息得操作门锁时才发送
4、鹿客classic 2s从屋内开门时不会发送信息,关门时发送,造成xiaomi_ble自带的门状态实体无法正常识别到门的状态,需在/usr/local/lib/python3.12/site-packages/xiaomi_ble/parser.py文件中进行简单修改,在这个文件大概158行,有下列代码
下载.png
此代码是处理蓝牙消息“门”相关部分,在if语句前增加一段事件发送代码,从屋内关门时发送关门事件,从而识别到从屋内开门,具体代码为:
    device.fire_event(
        key=EventDeviceKeys.LOCK,
        event_type="lock_inside_the_door",
        event_properties=None,
    )


下载0.png
[hide无内容[

评分

参与人数 1金钱 +12 收起 理由
隔壁的王叔叔 + 12 高手,这是高手!

查看全部评分

回复

使用道具 举报

10

主题

1332

帖子

4250

积分

论坛元老

Rank: 8Rank: 8

积分
4250
金钱
2918
HASS币
0
发表于 2024-8-6 23:14:36 | 显示全部楼层
我擦,牛逼啊,我的鹿客s30 pro,也通过修改代码接进去了,但是不太完美,童锁,反锁,被撬不显示,我不会分析了,求大佬帮帮忙啊!
回复

使用道具 举报

3

主题

18

帖子

140

积分

注册会员

Rank: 2

积分
140
金钱
122
HASS币
0
 楼主| 发表于 2024-8-6 23:37:52 | 显示全部楼层
隔壁的王叔叔 发表于 2024-8-6 23:14
我擦,牛逼啊,我的鹿客s30 pro,也通过修改代码接进去了,但是不太完美,童锁,反锁,被撬不显示,我不会 ...

你说的这些,都在/usr/local/lib/python3.12/site-packages/xiaomi_ble/parser.py文件里改改就行,def0006是指纹,def0007是门,def000b是门外开门,你看看代码就知道怎么改了,照着里面抄就行
回复

使用道具 举报

23

主题

329

帖子

1396

积分

金牌会员

Rank: 6Rank: 6

积分
1396
金钱
1067
HASS币
10
发表于 2024-8-7 07:06:42 来自手机 | 显示全部楼层
本帖最后由 kkk123 于 2024-8-7 07:09 编辑

鹿客x3-h
这个可以吗
回复

使用道具 举报

3

主题

18

帖子

140

积分

注册会员

Rank: 2

积分
140
金钱
122
HASS币
0
 楼主| 发表于 2024-8-7 07:16:30 | 显示全部楼层
kkk123 发表于 2024-8-7 07:06
鹿客x3-h
这个可以吗

没试过,个人认为带蓝牙的鹿客,差别都不大
回复

使用道具 举报

3

主题

79

帖子

617

积分

高级会员

Rank: 4

积分
617
金钱
538
HASS币
0
发表于 2024-8-7 08:53:33 | 显示全部楼层
esp32c3,刷esphome蓝牙代理,就不需要米家蓝牙网关了是吗? esphome蓝牙代理就当米家的蓝牙网关对吧。
回复

使用道具 举报

10

主题

1332

帖子

4250

积分

论坛元老

Rank: 8Rank: 8

积分
4250
金钱
2918
HASS币
0
发表于 2024-8-7 10:04:03 | 显示全部楼层
fke9991 发表于 2024-8-6 23:37
你说的这些,都在/usr/local/lib/python3.12/site-packages/xiaomi_ble/parser.py文件里改改就行,def000 ...

你该的小米ble,我改的是ble估计大差不差
回复

使用道具 举报

10

主题

1332

帖子

4250

积分

论坛元老

Rank: 8Rank: 8

积分
4250
金钱
2918
HASS币
0
发表于 2024-8-7 12:59:44 | 显示全部楼层
识别是识别了,没信息
回复

使用道具 举报

10

主题

1332

帖子

4250

积分

论坛元老

Rank: 8Rank: 8

积分
4250
金钱
2918
HASS币
0
发表于 2024-8-7 13:44:59 | 显示全部楼层
大佬,改完了,只有3个属性,一个电量,一个电池电压,一个信号强度,其他的都没有,怎么搞?我也按照xray大佬的帖子修改了一下。
回复

使用道具 举报

23

主题

329

帖子

1396

积分

金牌会员

Rank: 6Rank: 6

积分
1396
金钱
1067
HASS币
10
发表于 2024-8-9 14:17:13 | 显示全部楼层
本帖最后由 kkk123 于 2024-8-10 09:07 编辑

一头雾水,第一个文件修改添加到什么位置呢?还有那个接入key从哪里获取?老毛子小米app是什么
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-24 06:53 , Processed in 0.057561 second(s), 35 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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