# 添加自定义功能
创建产品后,需要将产品的功能及特性转换为数字化模型(物模型),在系统中统一管理,这种产品的数字化模型包含属性、服务、事件三个部分,说明如下:
功能类型 | 类型说明 |
属性 | 用于描述设备各方面的状态,属性值可在云端读取和设置。如温度、湿度、开关等。 |
服务 | 用于描述设备可以实现的复杂业务逻辑,可定义多个供云端调用的参数和返回参数,使设备可以执行复杂的任务。如空调设置多个定时开关和温度等。 |
事件 | 用于描述设备运行时上传给云端的事件,可定义多个输出参数,分为信息、告警、故障三种类型。如空调运行发生故障等。 |
# 操作步骤
- 进入项目的产品列表
- 选择相应产品,单击查看。
- 选择功能定义,单击添加自定义功能。
输入功能信息。
- 功能类型:选择功能类型。
- 功能名称:功能的名称,同类型功能的名称在产品内具有唯一性,不能重复。支持中文、英文、日文、数字、中英文括号、其他字符(_、-、@、/、\)的组合,长度不超过 30 个字符。
- 标识符:功能的标识符,对于产品具有唯一性,不能重复。支持英文、数字、下划线(_)的组合,长度不超过 50 个字符。不能使用的系统保留字:set、get、post、time、value。
配置功能参数。
属性:
数据类型:选择属性值的数据类型。点此查看功能参数说明
读写类型:云端对属性值的读写权限类型,有如下 2 种类型:
- 读写:云端可以查询、修改属性值
- 只读:云端可以查询属性值
服务:
调用方式:云端对服务的调用方式,有如下 2 种类型:
- 异步:云端调用服务后直接返回结果(暂只支持异步调用方式)
- 同步:云端调用服务后等待设备回复,设备在规定时间内返回结果,否则调用超时
参数输入:定义服务的输入参数,每个服务不超过 20 个输入参数。点此查看功能参数说明 (opens new window)
参数输出:定义服务的输出参数,每个服务不超过 20 个输出参数。点此查看功能参数说明 (opens new window)
事件:
事件类型:定选择事件的类型,有如下 3 种类型:
- 信息:设备主动上报的普通信息
- 告警:设备发生异常状况时上报的信息
- 故障:设备出现故障时主动上报的信息
参数输出:定义事件的输出参数,每个服务不超过 50 个输出参数。点此查看功能参数说明 (opens new window)
输入功能描述。
- 描述:功能做简要描述,长度不超过 100 个字符。
单击确定即可添加功能。
# 功能参数说明
数据类型 | 字段信息 | 描述 | 示例 |
int(整数型)、 float(单精度浮点型)、double(双精度浮点型) | 取值范围(最小值)、取值范围(最大值) | 定义属性值的取值范围 | 温度最小值:0 温度最大值:100 |
步长 | 定义属性值变化的步长 | 2 | |
单位 | 选择属性的单位 | 无 | |
enum (枚举型) | 枚举项 | 定义属性的多个枚举项编号及其描述 | 0~煮饭 1~煲汤 2~蒸鱼 …… |
bool (布尔型) | 布尔值 | 定义非 0 即 1 的布尔值 | 0~开 1~关 |
text (字符串) | 数据长度 | 定义字符串最大长度,单位为字节 | 设备型号长度不超过 2048 个字节 |
date (时间型) | 时间格式 | 时间格式统一为 String 类型的 UTC 时间戳(毫秒) | 无 |
struct (JSON 对象) | JSON 对象 | 可新增 JSON 参数项 | 无 |
array (数组型) | 元素类型 | 若数据类型为 array,可根据业务需要定义数组的元素类型,有如下 5 种类型: --int:整数型 --float:单精度浮点型 --double:双精度浮点型 --text:字符串 --struct:JSON 对象 | 无 |
元素个数 | 定义数组的元素个数 | 5 |