更新时间:2023-06-15 05:50:16
本文介绍新增场景联动的 API。
新增场景联动,满足条件时可以触发执行设备、设备群的动作,达到场景下的联动效果。
POST: /v1.0/iot-03/automations
body
说明
参数名 | 类型 | 参数位置 | 是否必填 | 说明 |
---|---|---|---|---|
name | String | true | 场景联动名称 | |
conditions | List | true | 触发条件 | |
actions | List | true | 执行动作 | |
match_type | Integer | true | 匹配类型:
|
|
condition_rule | String | false | 自定义条件规则,当匹配类型 match_type=3,该参数必填。自定义条件规则遵从与或运算公式。每个自动化条件以其order_num为标识码。例如:c1 && c2 的表达式, c1, c2 分别表示 conditions 中 order_num 为 1 和 2 表达式的计算结果 | |
preconditions | List | false | 前置条件,优先级最高 |
preconditions
说明
参数名 | 类型 | 参数位置 | 是否必填 | 说明 |
---|---|---|---|---|
cond_type | String | true | 前置条件类型,当前仅支持时间段限制,固定为 timeCheck | |
display | JSONObject | true | 条件展示,参见 请求参数详细说明 |
conditions
说明
参数名 | 类型 | 参数位置 | 是否必填 | 说明 |
---|---|---|---|---|
entity_type | Integer | true | 条件类型:
|
|
display | JSONObject | true | 条件展示 | |
order_num | Integer | true | 条件排序,从 1 开始 | |
entity_id | String | true | 执行动作实体:
|
actions
说明
参数名 | 类型 | 参数位置 | 是否必填 | 说明 |
---|---|---|---|---|
entity_id | String | true | 目标 ID:
|
|
executor_property | List | true | 执行动作参数,当action_executor=warnReport时,不用传 | |
action_executor | String | true | 执行动作类别:
|
executor_property
说明
参数名 | 类型 | 参数位置 | 是否必填 | 说明 |
---|---|---|---|---|
code | String | true | 指令 Code | |
value | Object | true | 指令 Value |
参数名 | 类型 | 说明 |
---|---|---|
result | String | 场景联动 ID |
POST: /v1.0/iot-03/automations
{
"name": "xxx",
"match_type": 3,
"condition_rule": "c1||c2||c3",
"preconditions": [
{
"cond_type": "timeCheck",
"display": {
"start": "01:00",
"end": "23:00",
"time_interval": "custom",
"loops": "1111111",
"time_zone_id": "Asia/Shanghai"
}
}
],
"conditions": [
{
"entity_id": "vdevo33333333333333",
"entity_type": 1,
"order_num": 1,
"display": {
"code": "switch_led",
"operator": "==",
"value": true
}
},
{
"entity_id": "1001803662567473213",
"entity_type": 3,
"order_num": 2,
"display": {
"code": "sunsetrise",
"operator": "==",
"value": "sunset"
}
},
{
"entity_id": "timer",
"entity_type": 6,
"order_num": 3,
"display": {
"date": "20210616",
"loops": "1111111",
"time": "16:16",
"time_zone_id": "Asia/Shanghai"
}
}
],
"actions": [
{
"entity_id": "140433911111111111",
"action_executor": "deviceGroupDpIssue",
"executor_property": [
{
"code": "switch_led",
"value": true
}
]
},
{
"entity_id": "vdevo33333333333333",
"action_executor": "dpIssue",
"executor_property": [
{
"code": "bright_value",
"value": 50
}
]
}
]
}
{
"result": "xxxxxx",
"t": 1111111111111,
"success": true
}
参考 错误码。
参数名 | 类型 | 说明 | 必填 |
---|---|---|---|
code | String | 设备的 statusCode | 是 |
operator | String | 操作符,参见 Code的数据类型和操作符的映射说明 | 是 |
value | Object | Code 的取值 | 是 |
参数名 | 类型 | 说明 | 必填 |
---|---|---|---|
code | String | 天气条件对应的 Key,例如温度 temp | 是 |
operator | String | 操作符,参见 Code的数据类型和操作符的映射说明 | 是 |
value | String | 天气条件对应的 Key 对应 Code 的取值 | 是 |
参数名 | 类型 | 说明 | 必填 |
---|---|---|---|
date | String | 触发日期,格式为yyyyMMdd,例如20191125 | 是 |
loops | String | 由 0 和 1 组成的 7 位数字。0 表示不执行,1 表示执行。第 1 位为周日,依次表示周一至周六。例如,0011000表示每周二,周三执行 | 是 |
time | String | 触发时间,24 小时制,示例:14:00 | 是 |
timezone_id | String | 时区 ID,示例:Asia/Shanghai | 是 |
参数名 | 类型 | 说明 | 必填 |
---|---|---|---|
start | String | 开始时间,time_interval=custom时自定义,其余默认00:00,24小时制 | 否 |
end | String | 结束时间,time_interval=custom时自定义,其余默认23:59,24小时制 | 否 |
time_interval | String | custom:自定义;allDay:全天;daytime:白天;night:夜间 | 是 |
loops | String | 由 0 和 1 组成的 7 位数字。0 表示不执行,1 表示执行。第 1 位为周日,依次表示周一至周六。例如,0011000表示每周二,周三执行 | 是 |
time_zone_id | String | 时区 ID,示例:Asia/Shanghai | 是 |
type | operator |
---|---|
Boolean | “==” |
Integer | “>”,“==”,“<” |
Enum | “==” |
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈