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

[经验分享] 亚太智能门接入homeassistant 具体方法

[复制链接]

42

主题

131

回帖

1292

积分

金牌会员

积分
1292
金钱
1119
HASS币
0
发表于 2024-9-21 10:48:20 | 显示全部楼层 |阅读模式
本帖最后由 user1075 于 2025-3-19 13:40 编辑

首先先说一下 亚太智能门,淘宝上可以看的到具体信息,跟小米的智能门一样的功能,只是远程控制是靠微信小程序,接入原理就是通过小黄鸟电脑版,抓取数据包,在通过NODE-RED 接入到HA

第一步数据分析:

1、获取设备状态信息 (可以获取到 设备状态消息,门铃消息,告警消息)

我以设备状态消息为例来说,通过小黄鸟电脑版获取去智能门的基础数据(数据格式为json对象),通过function功能节点提取 需要状态,我提取的是电池电量,门状态及时间
(1)获取到数据:
    1726884672010.png
(2)数据处理

// 确保响应数据存在
if (msg.payload && msg.payload.data && msg.payload.data.products && msg.payload.data.products.length > 0) {
    const product = msg.payload.data.products[0]; // 假设只处理第一个产品

    // 提取所需的字段
    const battery = product.battery;
    const locked = product.locked;
    const syncTime = product.syncTime;
    var locked_text
// 将逻辑值转换为文本
if (locked ===true)
   {locked_text="已锁"}
else {locked_text= "门已开"}
    // 创建三个独立的消息,及topic
    const msgBattery = { payload: battery ,topic: "door-battery"};
    const msgLocked = { payload: locked_text ,topic: "door-locked"};
    const msgSyncTime = { payload: syncTime ,topic: "door-syncTime"};

    // 发送多个消息
    return [msgBattery, msgLocked, msgSyncTime];
} else {
    // 如果数据格式不符合预期,发送错误消息
    node.error("无效的响应数据格式", msg);
    return null;
}

2、获取临时密码: 小程序获取临时密码时需要输入管理员密码才能生成,因此我们需要用小程序去生成临时密码的时候 抓包 获取到 带有管理员密码的请求体及请求头部信息,去模拟收到生成密码的动作,来获取临时密码

1726885344160.png

3、获取猫眼视频: 小程序进行猫眼视频界面,通过抓包获取到数据,可以获取到2中数据格式:1 .flv 可以通过vlc播放器 获取实时猫眼画面,2,rtmp 推流地址。 根据需求接入到 HA中
例如 添加按钮 来发送视频请求后获取视频链接来获取监控画面

1726886075512.png
1726885738527.png

4.远程开锁功能:这款产品的远程开锁功能,只有有人按门铃后,远程开锁功能才能启动。因此 这里就比较麻烦,首先你需要实时的获取门铃消息,然后发送视频通话请求后,获取到KEY 然后在加入管理员密码才能远程开门
具体流程:

1726886336084.png


以上就是门锁接入的流程和思路,其他产品设备 只要能抓到包,方法类似。  

我现在还没有解决的是 当有人按门铃时,小程序时通过微信服务通知,发送通知的 ,我无法通过抓包获取,因此门铃消息目前只有不停的请求门铃消息列表,然后对比系统时间来判断是否是最新消息,
请问各位大佬有没有更好的思路和方法。
还有猫眼视频 如何在HA的UI中显示


如需要具体流程可以回复我



ad6ae34e9540e66f05e02ffa6e6de0d.jpg

123.zip

148 Bytes, 阅读权限: 255, 下载次数: 0

回复

使用道具 举报

10

主题

298

回帖

2143

积分

金牌会员

盐城智能大神

积分
2143
金钱
1835
HASS币
10
QQ
发表于 2024-9-21 13:43:32 | 显示全部楼层
流程发下哈,我有个叮咚智能的
回复

使用道具 举报

innx 

22

主题

163

回帖

2644

积分

论坛DIY达人

积分
2644
金钱
2454
HASS币
30
发表于 2024-9-21 16:27:55 | 显示全部楼层
有人按门铃后,远程开锁功能才能启动。门铃里面加一个无线开关
回复

使用道具 举报

42

主题

131

回帖

1292

积分

金牌会员

积分
1292
金钱
1119
HASS币
0
 楼主| 发表于 2024-9-21 22:46:54 | 显示全部楼层
innx 发表于 2024-9-21 16:27
有人按门铃后,远程开锁功能才能启动。门铃里面加一个无线开关

一体化的门,加不了
回复

使用道具 举报

42

主题

131

回帖

1292

积分

金牌会员

积分
1292
金钱
1119
HASS币
0
 楼主| 发表于 2024-9-23 15:42:18 | 显示全部楼层
motoyu 发表于 2024-9-21 13:43
流程发下哈,我有个叮咚智能的

还要完善一下,到时候发给你
回复

使用道具 举报

sfk 手机认证

0

主题

26

回帖

832

积分

高级会员

积分
832
金钱
806
HASS币
0
发表于 2025-3-9 23:13:21 | 显示全部楼层
亚太智能门,感谢分享!求流程
回复

使用道具 举报

42

主题

131

回帖

1292

积分

金牌会员

积分
1292
金钱
1119
HASS币
0
 楼主| 发表于 2025-3-19 13:30:09 | 显示全部楼层
sfk 发表于 2025-3-9 23:13
亚太智能门,感谢分享!求流程

目前流程有个缺陷没解决,厂家的小程序授权密钥 会变化,目前抓包 也没找到相应的解决办法,如果需要,我发给你你研究一下,是否可以解决
回复

使用道具 举报

42

主题

131

回帖

1292

积分

金牌会员

积分
1292
金钱
1119
HASS币
0
 楼主| 发表于 2025-3-19 13:33:04 | 显示全部楼层
user1075 发表于 2025-3-19 13:30
目前流程有个缺陷没解决,厂家的小程序授权密钥 会变化,目前抓包 也没找到相应的解决办法,如果需要,我 ...

已经添加附件
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2025-5-1 13:57 , Processed in 1.117776 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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