车控SOA信号流程查看说明
主要说明如何通过:
- SC 文档:车控系统需求 系统需求7- 语音控制方向盘加热和雨刮
- SOA 信号定义 SOA 服务接口定义表格 MS11(E2/E3 备份 | 弃用)
- 关于异常值的 TTS 回复以产品定义的表格为准 语音控制类功能&配置清单
查找到汽车小爱 APP(其他 APP 通用)中如何使用系统中间件(mi.car:vehicle.support)提供的信号 API。
一个车控设备通常涉及三个信号
- 1 车控设备状态信号 propId
- 2 车控设备使能信号 propId,与车控状态信号 propId 一致
- 3 车控设备异常信号 propId
以”打开方向盘加热”需求中的信号 SteerWhlHeatFcnSts、SteerWhlHeatFcnAvlSts、SteerWhlHeatFcnNotAvlRsn 为例。

1 SC 文档中功能总览信号列表,找到信号描述
SteerWhlHeatFcnSts对应方向盘加热状态SteerWhlHeatFcnAvlSts对应方向盘加热可用状态

2 SOA 文档中的 A 列和 C 列找到系统中间件的信号 propId
2.1 SteerWhlHeatFcnSts 对应方向盘加热状态
在 SOA 表中全局搜索 SteerWhlHeatFcnSts:
- SOA 信号(SignalName,M 列):
SteerWhlHeatFcnSts - SOA 文档中的 tab 对应中间件信号的类:
Body对应mi.car.config.Body—— 需要通过信号名字全局 excel 查找 - 中间件信号 propId(Area1 + Area2,A + C 列):
StreeringWheel + HEAT对应中间件信号Body.STEERING_WHEEL_HEAT。通过mi.car:vehicle.support源码中 Body 类可找到对应信号 propId 定义 - JAVA API NAME(E 列):待后续补充,对应的中间件信号 api name,能直接对应到代码里面的下划线的
STEERING_WHEEL_HEAT,不需要看 SC 文档的猜测 - ValueForCockpit(Y 列)对应信号的值:通过代码中 propId 对应的信号的
ValueDef注解,可找到信号返回值的范围
📷 [图片: Java 代码片段] — 定义方向盘加热状态信号。
STEERING_WHEEL_HEAT值为0x503,属于MiVehiclePropertyGroup.MI_CAR、MiVehicleArea.GLOBAL、VehiclePropertyType.INT32、MiVehicleZone.BODY。ValueDef注解中 range 被@Range(from = 0, to = 3)标识,值范围 0-3。(原图 authcode 失效,无法下载,详见文末说明)
文档中说明了数据范围 0-3,没有说明哪个档位是最大、哪个是最小。需要结合 SC 系统需求文档中找对应说明:具体档位调节:
“方向盘加热调到最高/最低/中间档位”
“方向盘加热调到 OFF/Level1/Level2/Level3”
关于信号的值:
- 本地执行通过接口
Signal的value字段获取 - 系统能力 SDK 通过中间件提供的
CarPropertyValue的value字段获取
2.2 SteerWhlHeatFcnAvlSts 对应方向盘加热可用状态
在 SOA 表中全局搜索 SteerWhlHeatFcnAvlSts:
- SOA 信号(SignalName,M 列):
SteerWhlHeatFcnAvlSts - SOA 文档中的 tab 对应中间件信号的类:
Body对应mi.car.config.Body - 中间件信号 propId(Area1 + Area2,A + C 列):
StreeringWheel + HEAT对应中间件信号Body.STEERING_WHEEL_HEAT(与状态信号同一个 propId) - JAVA API NAME(E 列):待后续补充
- ValueForCockpit(Y 列)对应信号的值:
0 = available;1 = unavailable
关于使能信号的值:
- 本地执行通过接口
Signal的status字段获取 - 系统能力 SDK 通过中间件提供的
CarPropertyValue的status字段获取
3 SOA 文档中查找异常信号对应中间件信号的值
SC 系统需求文档中有关于异常信号的描述:

SteerWhlHeatFcnNotAvlRsn
在 SOA 表中全局搜索 SteerWhlHeatFcnNotAvlRsn:
- SOA 信号(SignalName,M 列):
SteerWhlHeatFcnNotAvlRsn - SOA 文档中的 tab 对应中间件信号的类:
Body对应mi.car.config.Body - 中间件信号 propId(Area1 + Area2,A + C 列):
StreeringWheel + HeatException对应中间件信号Body.STEERING_WHEEL_HEAT_EXCEPTION - JAVA API NAME(E 列):待后续补充,对应代码下划线名
STEERING_WHEEL_HEAT_EXCEPTION - ValueForCockpit(Y 列)对应信号的值:
0 - 5。代码中mi.car.config.Body定义的异常信号枚举可以引用到异常信号值定义
📷 [图片: Java 代码片段] — 定义中间件信号
Body.STEERING_WHEEL_HEAT_EXCEPTION的属性。value通过@ValueDef注解引用SteeringWheelHeatException.class(异常信号枚举);STEERING_WHEEL_HEAT_EXCEPTION = 0x504。(原图 authcode 失效,无法下载,详见文末说明)

关于异常信号的值:
- 本地执行通过接口
Signal的exceptionCode字段获取 - 系统能力 SDK 通过中间件提供的
CarPropertyValue的value字段获取
4 产品定义回复 TTS 与信号异常值关联
📷 [图片: 第4节标题占位] — 原文止于标题”产品定义回复 TTS 与信号异常值关联”,正文内容未在源文档中给出。
本地化处理说明
- 图片来源:飞书 docx
X4rSdQucYofcWZxaaUNcEAMMnN2b,6 张图中 4 张通过 authcode 下载成功并转存至图床(minio.898311.xyz);2 张(STEERING_WHEEL_HEAT 定义代码、STEERING_WHEEL_HEAT_EXCEPTION 定义代码)authcode 服务端返回 400,已用详细描述性占位> 📷 **[图片: ...]**替代,文字内容已由 alt 文本完整转述。 - 关联文档:3 个 cite 已转为飞书直链(1 docx + 2 sheets)。
- & → &、合并多余空行、保留代码标识与列表层级。