更新时间:2021-11-15 09:23:06下载pdf
通过自定义模板系统,用户可以为一批空间批量生成场景和联动。
系统选择池会开放一系列选择维度,帮助用户精确选择空间下需要的设备、群组,并组建成智能的场景联动。也可以选择子场景和联动组成更复杂的场景联动。
并且在SaaS 端,在自定义模板的基础上,系统构建开放出更高级的办公行业模板,教育行业模板,节律模板和节目模板,这些更上层的模板将组装为多个精心设计的自定义模板。
请求方式 | API | 描述 |
---|---|---|
GET | /v1.0/iot-02/smart/support-selector | 获取系统支持的选择属性 |
GET | /v1.0/iot-02/smart/template-list | 获取模板列表 |
GET | /v1.0/iot-02/smart/template/{id} | 通过模板 ID 获取模板 |
POST | /v1.0/iot-02/smart/template/simple-save | 简易自定义模板创建 |
POST | /v1.0/iot-02/smart/template/save | 普通自定义模板创建 |
POST | /v1.0/iot-02/smart/template/senior-save | 高级自定义模板创建 |
POST | /v1.0/iot-02/smart/template/remove/{id} | 自定义模板删除 |
POST | /v1.0/iot-02/smart/template/generate/{id} | 模板调用 |
功能描述
获取系统支持的选择属性,和产品库中添加的产品有关。
这些属性可作为创建模板的一些选项,此接口非必须作为创建模板的模型参考。
接口地址
GET /v1.0/iot-02/smart/support-selector
请求参数
参数名 | 类型 | 参数类型 | 说明 | 是否必需 |
---|---|---|---|---|
pid | String | body | 产品PID | 否 |
topCategory | String | body | 一级品类 | 否 |
roomId | String | body | 区域ID | 否 |
返回参数
参数名 | 类型 | 说明 |
---|---|---|
code | Integer | 响应码(详情见错误码章节),成功时为空 |
success | Boolean | 是否成功:(true:成功,false:失败) |
msg | String | 请求失败的信息,成功时为空 |
t | Long | 返回时间戳,13 位 |
result | Object | 返回结果 |
result参数说明
{
"product": [ //产品品类
{
"code": "String //属性code",
"name": "String //属性名称"
}
],
"topCategory": [ //一级品类
{
"code": "String //属性code",
"name": "String //属性名称"
}
],
"secondCategory": [ //二级品类
{
"code": "String //属性code",
"name": "String //属性名称"
}
],
"thirdCategory": [ //三级品类
{
"code": "String //属性code",
"name": "String //属性名称"
}
],
"purpose": [ //设备用途
{
"code": "String //属性code",
"name": "String //属性名称"
}
]
}
请求示例
{
"topCategory": "一级品类",
"pid": "产品PID",
"roomId": "区域ID"
}
响应示例
{
"result": {
"product": [
{
"code": "pbkktyh5i59sj6nm",
"name": "A60 RGB+CCT WIFI+Bluetooth"
},
{
"code": "sosdczdl",
"name": "RGBCW"
}
],
"secondCategory": [
{
"code": "dj",
"name": "光源"
}
],
"thirdCategory": [
{
"code": "wf_ble_dj",
"name": "Wi-Fi_BLE照明"
},
{
"code": "zig_dj",
"name": "Zigbee照明"
}
],
"topCategory": [
{
"code": "zm",
"name": "照明"
}
]
},
"success": true,
"t": 1629976090010
}
功能描述
获取用户创建的模板列表,包含用户创建的和系统内置的
接口地址
GET /v1.0/iot-02/smart/template-list
请求参数
参数名 | 类型 | 参数类型 | 说明 | 是否必需 |
---|---|---|---|---|
page | int | body | 页码参数 | 否 |
pageSize | int | body | 每页记录数量 | 否 |
templateName | String | body | 模板名称 | 否 |
templateType | int | body |
|
否 |
返回参数
参数名 | 类型 | 说明 |
---|---|---|
code | Integer | 响应码(详情见错误码章节),成功时为空 |
success | Boolean | 是否成功:(true:成功,false:失败) |
msg | String | 请求失败的信息,成功时为空 |
t | Long | 返回时间戳,13 位 |
result | Object | 返回结果 |
result参数说明
{
"templateId": "String //模板ID",
"templateName": "String //模板名称",
"templateLabel": "String //模板标签",
"templateType": "int //类型 1:场景模板 2.日程模板 3.联动模板 ",
"category": "String //模板类别",
"preConditionExpr": "String //前置条件表达式",
"extendInfo": "String //扩展信息",
"userNum": "int //模板使用次数",
"matchType": "int //1:任意条件触发,2:全部条件满足触发",
"ranking": "int //排名",
"remark": "String //备注",
"configs": [
{
"selector": "String //选择器",
"selectorType": "int //选择器种类,1:设备选择器 2.群组选择器 3.场景选择器 4.自动化选择器",
"strategyExpr": "String //策略表达式",
"strategyType": "int //策略类型"
}
]
}
请求示例
{
"page":1,
"pageSize":10,
"templateName":"xxx"
}
响应示例
{
"result": {
"current": 1,
"hitCount": false,
"optimizeCountSql": true,
"orders": [],
"pages": 0,
"records": [
{
"category": "",
"extendInfo": "",
"matchType": 0,
"preConditionExpr": "",
"ranking": 0,
"remark": "",
"templateId": "1432526379668254720",
"templateLabel": "",
"templateName": "道凡场景模板1",
"templateType": 1,
"userNum": 0
}
],
"searchCount": true,
"size": 10,
"total": 0
},
"success": true,
"t": 1630555370694
}
功能描述
通过模板ID获取单个模板详情
接口地址
GET /v1.0/iot-02/smart/template/{id}
请求参数
参数名 | 类型 | 参数类型 | 说明 | 是否必需 |
---|---|---|---|---|
id | String | url | 请添加备注 | 否 |
返回参数
参数名 | 类型 | 说明 |
---|---|---|
code | Integer | 响应码(详情见错误码章节),成功时为空 |
success | Boolean | 是否成功:(true:成功,false:失败) |
msg | String | 请求失败的信息,成功时为空 |
t | Long | 返回时间戳,13 位 |
result | Object | 返回结果 |
result参数说明
同获取模板列表接口
功能描述
简易自定义模板创建,用于生成场景,匹配规则单组。
接口地址
POST /v1.0/iot-02/smart/template/simple-save
请求参数
参数名 | 类型 | 参数类型 | 说明 | 是否必需 |
---|---|---|---|---|
templateId | String | body | 模板ID修改使用 | 否 |
templateName | String | body | 模板名称 | 是 |
templateLabel | String | body | 模板标签 | 否 |
remark | String | body | 模板备注 | 否 |
rule.name | String | body | 名称 | 否 |
rule.pid | String | body | 产品PID | 否 |
rule.thirdCategory | String | body | 三级品类 | 否 |
rule.dps | Object | body | 动作DP,dpCode:dpValue键值对 | 否 |
返回参数
参数名 | 类型 | 说明 |
---|---|---|
code | Integer | 响应码(详情见错误码章节),成功时为空 |
success | Boolean | 是否成功:(true:成功,false:失败) |
msg | String | 请求失败的信息,成功时为空 |
t | Long | 返回时间戳,13 位 |
result | Object | 返回结果 |
请求示例
{
"templateName": "测试场景模板",
"rule":{
"name":"RGBCW",
"pid":"sosdczdl",
"dps":{"swith_led":true}
}
}
响应示例
{
"result": "1433683021394890752",//模板ID
"success": true,
"t": 1630651643529
}
功能描述
普通自定义模板创建,用于生成场景,匹配规则多组,执行对象可匹配单设备和群组包含延迟动作。
接口地址
POST /v1.0/iot-02/smart/template/save
请求参数
参数名 | 类型 | 参数类型 | 说明 | 是否必需 |
---|---|---|---|---|
templateId | String | body | 模板ID修改使用 | 否 |
templateName | String | body | 模板名称 | 是 |
templateLabel | String | body | 模板标签 | 否 |
remark | String | body | 模板备注 | 否 |
deviceRules.name | String | body | 名称 | 否 |
deviceRules.pid | String | body | 产品PID | 否 |
deviceRules.thirdCategory | String | body | 三级品类 | 否 |
deviceRules.topCategory | String | body | 一级品类 | 否 |
deviceRules.secondCategory | String | body | 二级品类 | 否 |
deviceRules.devicePurpose | String | body | 设备用途 | 否 |
deviceRules.dps | Object | body | 动作DP dpCode:dpValue键值对 | 否 |
deviceRules.anyMatch | Boolean | body | 是否支持任意匹配,设备用途,设备名称,设备品类3项支持任意匹配 | 否 |
deviceRules.delayTime | int | body | 动作延时时间,单位秒 | 否 |
deviceRules.delayOnce | Boolean | body | true:统一添加一次延时 false:每个对象间逐一添加延时 默认true | 否 |
groupRules.name | String | body | 名称 | 否 |
groupRules.pid | String | body | 产品PID | 否 |
groupRules.thirdCategory | String | body | 三级品类 | 否 |
groupRules.dps | Object | body | 动作DP dpCode:dpValue键值对 | 否 |
groupRules.delayTime | int | body | 动作延时时间,单位秒 | 否 |
groupRules.delayOnce | Boolean | body | true:统一添加一次延时 false:每个对象间逐一添加延时 默认true | 否 |
返回参数
参数名 | 类型 | 说明 |
---|---|---|
code | Integer | 响应码(详情见错误码章节),成功时为空 |
success | Boolean | 是否成功:(true:成功,false:失败) |
msg | String | 请求失败的信息,成功时为空 |
t | Long | 返回时间戳,13 位 |
result | Object | 返回结果 |
请求示例
{
"templateName": "测试场景模板1",
"templateType": 1,
"deviceRules":[{
"name":"RGBCW",
"pid":"sosdczdl",
"dps":{"swith_led":true},
"devicePurpose":"office"
"nextActionDelayTime":30
}],
"groupRules":[{
"name":"RGBCW",
"pid":"sosdczdl",
"dps":{"swith_led":true},
"nextActionDelayTime":30
}]
}
响应示例
{
"result": "1433683021394890752",//模板ID
"success": true,
"t": 1630651643529
}
功能描述
高级自定义模板创建,可生成场景,日程和联动。
执行规则包含单设备,群组,场景触发,自动化启停,延迟动作。
触发规则包含设备动作,定时规则,日出日落规则。
接口地址
POST /v1.0/iot-02/smart/template/senior-save
请求参数
说明:该接口非必填参数很多,您可以在对接工作人员时咨询如何通过少量参数满足您的需求。
参数名 | 类型 | 参数类型 | 说明 | 是否必需 |
---|---|---|---|---|
templateId | String | body | 模板ID修改使用 | 否 |
templateName | String | body | 模板名称 | 是 |
templateLabel | String | body | 模板标签 | 否 |
templateType | int | body |
|
否 |
remark | String | body | 模板备注 | 否 |
validityPeriod | String | body | 按7123456顺序标记,例:0001100,每周三、四; | 否 |
matchType | int | body | 1 满足任意条件触发 2满足所有条件触发 | 否 |
deviceRules.name | String | body | 名称 | 否 |
deviceRules.pid | String | body | 产品PID | 否 |
deviceRules.thirdCategory | String | body | 三级品类 | 否 |
deviceRules.topCategory | String | body | 一级品类 | 否 |
deviceRules.secondCategory | String | body | 二级品类 | 否 |
deviceRules.devicePurpose | String | body | 设备用途 | 否 |
deviceRules.dps | Object | body | 动作DP dpCode:dpValue键值对 | 否 |
deviceRules.anyMatch | Boolean | body | 是否支持任意匹配,设备用途,设备名称,设备品类3项支持任意匹配 | 否 |
deviceRules.delayTime | int | body | 动作延时时间,单位秒 | 否 |
deviceRules.delayOnce | Boolean | body | true:统一添加一次延时 false:每个对象间逐一添加延时 默认true | 否 |
groupRules.name | String | body | 名称 | 否 |
groupRules.pid | String | body | 产品PID | 否 |
groupRules.thirdCategory | String | body | 三级品类 | 否 |
groupRules.dps | Object | body | 动作DP dpCode:dpValue键值对 | 否 |
groupRules.delayTime | int | body | 下一动作延时时间,单位秒 | 否 |
groupRules.delayOnce | Boolean | body | true:统一添加一次延时 false:每个对象间逐一添加延时 默认true | 否 |
sceneRules.templateId | String | body | 场景使用的模板 | 否 |
sceneRules.name | String | body | 场景名称 | 否 |
sceneRules.delayTime | int | body | 动作延时时间,单位秒 | 否 |
sceneRules.delayOnce | Boolean | body | true:统一添加一次延时 false:每个对象间逐一添加延时 默认true | 否 |
linkageRules.templateId | String | body | 自动化使用的模板 | 否 |
linkageRules.name | String | body | 自动化名称 | 否 |
linkageRules.executeType | int | body | 1:启用 2.停用 | 否 |
deviceConditionRules.name | String | body | 名称 | 否 |
deviceConditionRules.pid | String | body | 产品PID | 否 |
deviceConditionRules.thirdCategory | String | body | 三级品类 | 否 |
deviceConditionRules.exprs.dpId | String | body | DPID | 否 |
deviceConditionRules.exprs.operator | String | body | 操作符 等于==,大于>,小于< | 否 |
deviceConditionRules.exprs.dpValue | Object | body | dpvlaue | 否 |
timerRules.loops | String | body | 周期,按周日、周一…顺序标记,例:0001100,表示:每周三、四 | 否 |
timerRules.timezoneId | String | body | 时区 | 否 |
timerRules.time | String | body | 时间,格式HH:mm | 否 |
timerRules.date | String | body | 日期,格式yyyymmdd | 否 |
envRules.sunsetrise | String | body | 日出触发 sunrise 日落触发 sunset | 否 |
envRules.cityId | String | body | 触发城市ID | 否 |
返回参数
参数名 | 类型 | 说明 |
---|---|---|
code | Integer | 响应码(详情见错误码章节),成功时为空 |
success | Boolean | 是否成功:(true:成功,false:失败) |
msg | String | 请求失败的信息,成功时为空 |
t | Long | 返回时间戳,13 位 |
result | Object | 返回结果 |
请求示例
{
"templateName": "高级场景模板",
"templateType": 1,
"validityPeriod": "0001100",
"matchType":1,
"deviceRules":[{
"name":"RGBCW",
"pid":"sosdczdl",
"devicePurpose":"office",
"dps":{"swith_led":true}
}],
"groupRules":[{
"name":"RGBCW",
"pid":"sosdczdl",
"dps":{"swith_led":true}
}],
"conditionRule":{
"name":"RGBCW",
"pid":"sosdczdl",
"exprs":[{
"dpId":"1",
"operator":"==",
"dpValue":"true"
}]
},
"timerRule":{
}
}
响应示例
{
"result": "1433683021394890752",//模板ID
"success": true,
"t": 1630651643529
}
功能描述
用户删除自己创建的模板。
接口地址
POST /v1.0/iot-02/smart/template/remove/{id}
请求参数
参数名 | 类型 | 参数类型 | 说明 | 是否必需 |
---|---|---|---|---|
id | String | url | 请添加备注 | false |
返回参数
参数名 | 类型 | 说明 |
---|---|---|
code | Integer | 响应码(详情见错误码章节),成功时为空 |
success | Boolean | 是否成功:(true:成功,false:失败) |
msg | String | 请求失败的信息,成功时为空 |
t | Long | 返回时间戳,13 位 |
result | Object | 返回结果 |
result参数说明
true/false
请求示例
{
"id": "1433683021394890752"
}
功能描述
将模板应用到具体的空间,生成场景日程联动。
接口地址
POST /v1.0/iot-02/smart/template/generate/{id}
请求参数
参数名 | 类型 | 参数类型 | 说明 | 是否必需 |
---|---|---|---|---|
roomId | String | body | 请添加备注 | 否 |
id | String | url | 请添加备注 | 否 |
返回参数
参数名 | 类型 | 说明 |
---|---|---|
code | Integer | 响应码(详情见错误码章节),成功时为空 |
success | Boolean | 是否成功:(true:成功,false:失败) |
msg | String | 请求失败的信息,成功时为空 |
t | Long | 返回时间戳,13 位 |
result | Object | 返回结果 |
result参数说明
生成的场景联动ID
请求示例
{
"roomId": ""
}
功能描述
判断模板是否适用于空间,匹配的模板可应用生成场景联动。
接口地址
POST /v1.0/iot-02/smart/template/check
请求参数
参数名 | 类型 | 参数类型 | 说明 | 是否必需 |
---|---|---|---|---|
templateId | String | body | 模板ID | 否 |
roomIds | List |
body | 空间ID列表 | 否 |
返回参数
参数名 | 类型 | 说明 |
---|---|---|
code | Integer | 响应码(详情见错误码章节),成功时为空 |
success | Boolean | 是否成功:(true:成功,false:失败) |
msg | String | 请求失败的信息,成功时为空 |
t | Long | 返回时间戳,13位 |
result | Object | 返回结果 |
result参数说明
[{
"mathType": "0 不匹配,1 匹配, 2 部分匹配",
"roomId": "空间ID"
}]
请求示例
{
"templateId": "1435599419729842176",
"roomIds": [
"1291653765719515136"
]
}
响应示例
{
"result": [
{
"mathType": 0,
"roomId": "1291653765719515136"
}
],
"success": true,
"t": 1631169202643
}
错误码
以下为该接口常见的业务异常,更多的异常错误,请参见全局错误码。
错误码 | 说明 |
---|---|
500 | 系统错误 |
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈