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

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

[技术探讨] 绿米D200接入HA

[复制链接]

3

主题

73

帖子

438

积分

中级会员

Rank: 3Rank: 3

积分
438
金钱
365
HASS币
0
发表于 2024-2-2 11:03:38 | 显示全部楼层
Necroneco 发表于 2024-2-1 23:17
门锁消息可以参考我的这个提交改 https://github.com/Necroneco/Aqa ... 79a2544110abdf4b32a
或者直接拉 ...

好的,非常感谢你的帮助
回复

使用道具 举报

3

主题

73

帖子

438

积分

中级会员

Rank: 3Rank: 3

积分
438
金钱
365
HASS币
0
发表于 2024-2-2 11:52:23 | 显示全部楼层
本帖最后由 feifei006 于 2024-2-2 11:54 编辑
Necroneco 发表于 2024-2-1 23:17
门锁消息可以参考我的这个提交改 https://github.com/Necroneco/Aqa ... 79a2544110abdf4b32a
或者直接拉 ...

传感器
Automatic Lock-Up
已锁定
Away Mode
未知
Battery
60 %
Key Id
未知
Latch State
已解锁
Lock
已关闭
Lock Event
自动上锁



我就是把你这整个目录都覆盖了,然后重启了,不过我的提示是这个,和你这个文件里面的内容也不一样,是什么情况?
比如,你的lock是下面这样
"lock": {
        "default": "Lock state changed",
        "0": "Door is open",
        "1": "Door is closed",
        "2": "Door is not close",
        "3": "Doorbell is ringing",
        "4": "Lock is damaged",
        "5": "Door is conceal",
        "0": "门已开",  # "Door is open",
        "1": "门已关",  # "Door is closed",
        "2": "门未关",  # "Door is not close",
        "3": "有人按门铃",  # "Doorbell is ringing",
        "4": "门锁被破坏",  # "Lock is damaged",
        "5": "门虚掩",  # "Door is conceal",
        "6": "Other 1",
        "7": "Other 2"},


我的显示是:已关闭,不是上在的任何一种,是什么情况呢
回复

使用道具 举报

2

主题

164

帖子

1324

积分

金牌会员

Rank: 6Rank: 6

积分
1324
金钱
1160
HASS币
0
发表于 2024-2-2 13:53:25 | 显示全部楼层
feifei006 发表于 2024-2-2 11:52
传感器
Automatic Lock-Up
已锁定

这个Lock对应的是门的状态,你把它名字改成门吧。

这些大段的数字到中文英文,都是给 Lock Event 用的
回复

使用道具 举报

3

主题

73

帖子

438

积分

中级会员

Rank: 3Rank: 3

积分
438
金钱
365
HASS币
0
发表于 2024-2-2 15:52:40 | 显示全部楼层
Necroneco 发表于 2024-2-2 13:53
这个Lock对应的是门的状态,你把它名字改成门吧。

这些大段的数字到中文英文,都是给 Lock Event 用的 ...

就是说这个文件只是给Lock Event用的,不是上面几个的提示?
回复

使用道具 举报

2

主题

164

帖子

1324

积分

金牌会员

Rank: 6Rank: 6

积分
1324
金钱
1160
HASS币
0
发表于 2024-2-6 10:14:03 | 显示全部楼层
feifei006 发表于 2024-2-2 15:52
就是说这个文件只是给Lock Event用的,不是上面几个的提示?

差不多是这么个意思。另外几个都是 binary_sensor 吧?你直接改类型(device_class)就行了,前端描述就会跟着变的
回复

使用道具 举报

2

主题

99

帖子

671

积分

高级会员

Rank: 4

积分
671
金钱
572
HASS币
0
发表于 2024-2-19 13:55:46 | 显示全部楼层
Necroneco 发表于 2024-2-6 10:14
差不多是这么个意思。另外几个都是 binary_sensor 吧?你直接改类型(device_class)就行了,前端描述就会 ...

感谢大佬指路

我也有一把 D200,苦于前端露出的传感器太少,昨晚还在试图从 Lock Event 的历史数据中寻找规律,大佬的指引直接打开一条全新的通路!

短暂的观察有以下所得,大佬指正一下我的理解是否正确:
1. utils.py 应该是决定锁能吐出什么信息,以及这些信息在前端用什么类型露出。其中那些类似13.37.85这些参数,就是所谓的DPs,有几个 DP,锁就能且只能吐出这么多信息,除非有人找出更多的 DP 。2. 然后就是前端露出的控制,主要是将文件中第三个参数从‘none’改成类似‘sensor’或‘binary_sensor’之类的,重启后就能得到对应的传感器。
3. 然后,也观察了一下lock_data.py这个文件,这文件应该是用来渲染 D200 中那个 Lock 传感器内部的 Notification属性的内容吧?

暂时就看出了这一点“门道”。还有两个关键问题想请教大佬:
1. utils.py 中有两个传感器,Key ID 和 Lock Event,他们都没有其他传感器的类似13.37.85这些参数,那这两个传感器的内容到底是如何赋值的?我们能控制这些赋值吗?已经确认能通过 lock_data.py控制 Lock 传感器的 Notification 属性渲染,进而影响 Lock Event 的输出,但 Lock Event 为什么能直接拷贝输出 Lock 的 Notification 属性呢?同样,Key ID 的赋值又是从哪里来的?我们能控制吗?
2. 通过 utils.py露出的传感器中,那个 Lock 传感器也很特别,它拥有包括 Notification 在内的很多属性,它的属性我们能增删吗?推而广之,其他的传感器是否也能用类似的方法“组装”成一个拥有多个属性的传感器吗?
回复

使用道具 举报

2

主题

164

帖子

1324

积分

金牌会员

Rank: 6Rank: 6

积分
1324
金钱
1160
HASS币
0
发表于 2024-2-20 10:22:30 | 显示全部楼层
grunner 发表于 2024-2-19 13:55
感谢大佬指路

我也有一把 D200,苦于前端露出的传感器太少,昨晚还在试图从 Lock Event 的历 ...

因为其实每个属性变化都会遍历所有params,所以即使它不声明资源名字(13.17.85这种),也是可以读别的字段的数据的。

key id 在 sensor.py 里搜 GatewayKeyIDSensor,数据来源是 unlock by ... 的那一堆
lock event 在 sensor.py 里搜 GatewayLockEventSensor

然后他那个lock吧,我是觉得不太好,我改了个 binary_sensor 的版本,用来代表门的状态。

我最近可能有点时间来整理一下,开个PR把这些改动合进去。
回复

使用道具 举报

2

主题

99

帖子

671

积分

高级会员

Rank: 4

积分
671
金钱
572
HASS币
0
发表于 2024-2-20 14:20:17 | 显示全部楼层
Necroneco 发表于 2024-2-20 10:22
因为其实每个属性变化都会遍历所有params,所以即使它不声明资源名字(13.17.85这种),也是可以读别的字段 ...

谢大佬!继续学习去。。。

目前这个版本确实有很多令人迷惑的地方,door/lock 不分,我看了一下,原始版本是两年前的了,可能用的人少,就没人跟进。我还有一把小米的自动锁,在 xiaomi gateway3 里面表达的就很清晰。
回复

使用道具 举报

3

主题

73

帖子

438

积分

中级会员

Rank: 3Rank: 3

积分
438
金钱
365
HASS币
0
发表于 2024-2-24 09:57:10 | 显示全部楼层
Necroneco 发表于 2024-2-6 10:14
差不多是这么个意思。另外几个都是 binary_sensor 吧?你直接改类型(device_class)就行了,前端描述就会 ...

你好,昨天用你的最新的文件替换了,现在门锁状态提示有点问题,可以显示门未关,门已天,门关上后就显示为未知,请问是什么情况?
传感器
电池    53%
反锁状态    已解锁
离家模式   未知
门      已关闭
Lock Event 未知
Auto Locking 已锁定
回复

使用道具 举报

2

主题

164

帖子

1324

积分

金牌会员

Rank: 6Rank: 6

积分
1324
金钱
1160
HASS币
0
发表于 2024-2-26 13:06:19 | 显示全部楼层
feifei006 发表于 2024-2-24 09:57
你好,昨天用你的最新的文件替换了,现在门锁状态提示有点问题,可以显示门未关,门已天,门关上后就显示 ...

感谢提醒,合并的时候有一处漏改了,你可以再更新一下。具体来说是 core/lock_data.py 这个文件。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-5-20 06:41 , Processed in 0.701930 second(s), 30 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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