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

 找回密码
 立即注册
查看: 396|回复: 4

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

[复制链接]

36

主题

136

帖子

1041

积分

金牌会员

Rank: 6Rank: 6

积分
1041
金钱
905
HASS币
0
发表于 2024-9-21 10:48:20 | 显示全部楼层 |阅读模式
本帖最后由 user1075 于 2024-9-21 10:51 编辑

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

使用道具 举报

6

主题

243

帖子

1701

积分

金牌会员

Rank: 6Rank: 6

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

使用道具 举报

21

主题

179

帖子

2472

积分

论坛DIY达人

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

使用道具 举报

36

主题

136

帖子

1041

积分

金牌会员

Rank: 6Rank: 6

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

一体化的门,加不了
回复

使用道具 举报

36

主题

136

帖子

1041

积分

金牌会员

Rank: 6Rank: 6

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

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

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-23 19:58 , Processed in 0.188162 second(s), 29 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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