更新时间:2023-07-14 03:01:15下载pdf
本文介绍添加自动化的 API。
可添加不同条件或动作的自动化。条件个数上限 10 个,动作个数上限 50 个。
POST: /v2.0/iot-03/automations
body
说明
参数名 | 类型 | 参数位置 | 是否必填 | 说明 |
---|---|---|---|---|
name | String | true | 自动化名称。 | |
dsl | AutomationDsl | true | 自动化规则语言。 | |
preconditions | Preconditions | false | 自动化前置条件。 |
preconditions
说明
参数名 | 类型 | 参数位置 | 是否必填 | 说明 |
---|---|---|---|---|
trigger_type | String | false | 触发类型。目前只有 timeCheck 。 | |
precondition_trigger_rule | Object | false | 前置条件触发规则。见 precondition_trigger_rule 详细说明。 |
dsl
说明
参数名 | 类型 | 参数位置 | 是否必填 | 说明 |
---|---|---|---|---|
conditions | List | true | 自动化条件列表。 | |
conditions_rule | String | true | 自动化条件匹配规则。
| |
actions | List | true | 自动化动作列表。 |
conditions
说明
参数名 | 类型 | 参数位置 | 是否必填 | 说明 |
---|---|---|---|---|
trigger_type | String | true | 触发类型。
| |
trigger_id | String | true | 条件触发 ID。 条件触发类型 trigger_type 为 deviceReport 时,trigger_id 为设备 ID。条件触发类型 trigger_type 为 timer 时,trigger_id 固定为 timer 。条件触发类型 trigger_type 为 weather 时,trigger_id 固定为城市 ID。 | |
trigger_rule | Object | true | 条件触发规则。见 trigger_rule 详细说明。 | |
rule_num | Integer | true | 触发条件编号,用于条件匹配规则自定义条件计算。取值范围为1~条件的个数,且不能重复。 |
actions
说明
参数名 | 类型 | 参数位置 | 是否必填 | 说明 |
---|---|---|---|---|
execution_type | String | true | 执行类型。
| |
execution_rule | Object | true | 执行规则。见 execution_rule 详细说明。 |
参数名 | 类型 | 说明 |
---|---|---|
result | String | 自动化 ID。 |
POST: /v2.0/iot-03/automations
{
"name": "这是一个自动化",
"dsl": {
"conditions": [
{
"trigger_type": "deviceReport",
"trigger_id": "vdevo16292691746****",
"trigger_rule": {
"status_code": "switch_led",
"comparator": "==",
"status_value": true
},
"rule_num": 1
},
{
"trigger_type": "timer",
"trigger_id": "timer",
"trigger_rule": {
"timer_format": "18:00 11 09 * 2021"
},
"rule_num": 2
},
{
"trigger_type": "weather",
"trigger_id": "101069444120988****",
"trigger_rule": {
"weather_code": "temp",
"comparator": "==",
"weather_value": 20
},
"rule_num": 3
}
],
"conditions_rule": "or",
"actions": [
{
"execution_type": "delay",
"execution_rule": {
"delay_seconds": 60
}
},
{
"execution_type": "deviceIssue",
"execution_rule": {
"execution_id": "vdevo16292691746****",
"function_code": "bright_value",
"function_value": 20
}
},
{
"execution_type": "deviceGroupIssue",
"execution_rule": {
"execution_id": "144790134147200****",
"function_code": "switch_1",
"function_value": true
}
}
]
},
"preconditions": {
"trigger_type": "timeCheck",
"precondition_trigger_rule": {
"timer_format": "09:00-23:00 * * 0,1,2,3 *"
}
}
}
{
"result": "WeapZf6D1qI6****",
"t": 1635426480637,
"success": true
}
参考 错误码。
trigger_rule
详细说明trigger_type
为 deviceReport
时:参数名 | 类型 | 说明 | 必填 |
---|---|---|---|
status_code | String | 设备指令 | 是 |
comparator | String | 比较符 | 是 |
status_value | Object | 设备指令值 | 是 |
trigger_type
为 timer
时:参数名 | 类型 | 说明 | 必填 |
---|---|---|---|
timer_format | String | 定时触发时间。支持两种格式:
| 是 |
trigger_type
为 weather
时:参数名 | 类型 | 说明 | 必填 |
---|---|---|---|
weather_code | String | 天气码 | 是 |
comparator | String | 比较符 | 是 |
weather_value | Object | 天气码值 | 是 |
execution_rule
详细说明execution_type
为 delay
时:参数名 | 类型 | 说明 | 必填 |
---|---|---|---|
delay_seconds | Long | 延时时间,取值范围 1~5 * 60 * 60,单位:秒 | 是 |
execution_type
为 deviceIssue
或 deviceGroupIssue
时:参数名 | 类型 | 说明 | 必填 |
---|---|---|---|
execution_id | String | 设备或设备群组 ID | 是 |
function_code | String | 设备或设备群组指令码 | 是 |
function_value | Object | 设备或设备群组指令值 | 是 |
precondition_trigger_rule
详细说明参数名 | 类型 | 描述 | 必填 |
---|---|---|---|
timer_format | String | 定时格式。格式为: [hour:min]-[hour:min] [day of month] [month] [day of week] [year],例如:09:30-18:00 * * 0,1,2,3,4,5,6 * (每周上午 9 点半到下午 6 点) | 否 |
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈