本帖最后由 yezivv 于 2025-1-19 21:12 编辑
最近在尝试将一汽大众ID.4 CROZZ接入Home Assistant,通过分析一汽大众APP的通信,发现了一些关键点。目前已经通过Node-RED和MQTT初步实现了车辆状态信息的接入,不过还在测试阶段,可能会遇到一些问题。所以想和大家分享一下进展,也希望能向有经验的朋友请教,进一步完善这个方案。 一、当前进展目前只测试了电车(油车接口可能不同),实现了以下功能:
通过一汽大众的APP服务API获取车辆状态信息,包括: 二、准备工作安装Node-RED和MQTT
确保你的Home Assistant已经安装并配置好Node-RED和MQTT插件。 申请高德地图Web服务API
需要在高德开放平台申请用于Web服务的key,用于车辆位置信息的直接展示。 一汽大众App账号
由于一汽大众App不支持多终端登录,建议使用家人的账号注册App,并通过授权的方式共享车辆控制权限。
三、接入步骤1. 抓包获取关键数据通过抓包工具(如Stream等)分析一汽大众APP的通信,抓包的时候注意这个域名:oneapp-api.faw-vw.com。车辆的信息来自于类似以下消息: 自己抓包的时候多注意以下关键数据: securityCode:登录时需要的安全码。 Did:设备ID。 User-Agent:请求头中的用户代理信息。
登录成功后,会返回一个accessToken,后续请求都需要携带这个accessToken。 2. Node-RED配置 3. Home Assistant配置
# MQTT 配置
mqtt: !include mqtt.yaml
在\config文件夹中创建mqtt.yaml文件,定义MQTT传感器(见下文)。
四、注意事项测试阶段问题
目前仍在测试中,可能存在数据不稳定或功能不完善的情况。目前尚不清楚securityCode的有效期,因此需要定期检查和更新。 API调用限制
注意API的调用频率限制,避免频繁调用导致账号被封禁。建议合理设置请求间隔,避免触发风控机制。 账号限制
一汽大众App同一个账号只能单终端登录,因此建议使用家人的账号注册App,并通过授权的方式共享车辆控制权限。
五、Node-RED流和mqtt.yaml文件
flows.rar
(6.87 KB, 下载次数: 2)
六、贴几张图吧以下是实现过程中的一些截图,供大家参考:
|