Skip to main content

设备发现

fsp/discover 只返回设备级最小元数据,不返回完整技能 Schema。

请求

响应

稳定引用必须使用 device_id,不得使用显示名称定位设备。

渐进式披露

FSP 把技能信息分为三个读取层级: 摘要只能用于发现和筛选。调用 writeinvoke 类技能前,调用方必须取得对应完整详情;调用 read 类技能时也必须按完整详情校验输入参数。

获取技能定义

请求

params 不得携带未声明字段。detail_level=summary 时不得携带 command_ids。未知 command_id 必须返回错误,不得静默忽略。

技能摘要响应

摘要中的每项技能必须足以支持检索,但不得省略 request_class。调用方据此判断后续需要采用的安全校验级别。

技能详情响应

对象、控制和系统是同一项技能的三个说明维度,不是三组独立能力或三套设备接口。
示例中的数值只用于解释字段结构,不构成所有设备的通用限制。设备技能必须给出自身真实的范围、枚举、单位和跨字段约束。

响应字段

摘要条目

完整条目

完整技能在摘要字段基础上必须增加以下三个维度: control.parameters 必须与 control.input_schema 表达同一组参数;control.returns 必须与 control.output_schema 表达同一组输出。两个 Schema 必须符合 JSON Schema 2020-12。Schema 不能表达的跨字段、对象状态和物理约束必须写入 preconditionsconstraintssafety_fences

分类约束

条件读取

if_revision 只适用于调用方已经完整缓存的相同披露级别和相同 command_ids 集合。修订号相同时,服务端返回:
首次读取、缓存不完整或筛选条件变化时不得发送 if_revisionif_revision 不匹配不是错误,服务端必须返回当前结果。

错误响应

错误响应不得包含其他设备的技能、状态或内部实现信息。

修订规则

以下变化必须产生新的能力修订号:
  • 新增、删除或修改技能;
  • 修改技能的对象、控制或系统任一维度;
  • 修改请求分类、参数、返回值、前置条件、安全围栏或验证规则;
  • 修改会影响调用方行为的适配映射。
设备当前忙闲状态和任务进度不改变能力修订号。

事实地位

完整 FSP 技能定义是设备接口事实来源。由其生成的设备技能说明、函数定义或其他模型可读内容不得改变对象属性、控制参数、请求分类、强制约束、系统安全围栏和结果验证规则。