添加自动化

更新时间:2023-12-07 03:33:57下载pdf

本文介绍添加自动化的 API。

接口描述

为家庭添加自动化功能。

接口地址

POST: /v1.0/homes/{home_id}/automations

请求参数

参数名类型参数位置是否必填说明
home_idStringuritrue家庭 ID。

body 说明

参数名类型参数位置是否必填说明
automation_idStringbodyfalse自动化 ID。
nameStringbodytrue自动化名称。
match_typeIntegerbodytrue匹配类型。
  • 1:任意条件满足触发
  • 2:全部条件满足触发
backgroundStringbodytrue背景图片。
conditionsListbodytrue条件集合。
actionsListbodytrue动作集合。

conditions 说明

参数名类型参数位置是否必填说明
entity_idStringbodytrue实体 ID。可能是设备 ID、天气、温度等
entity_typeIntegerbodytrue条件对象类型。
  • 1:设备上报
  • 3:天气
  • 6:定时触发
  • 15:自动化外部条件
order_numIntegerbodytrue顺序码,不可重复。
displayExprbodytrue计算表达式。

actions 说明

参数名类型参数位置是否必填说明
entity_idStringbodyfalse实体 ID。可能是设备 ID、天气、温度等
action_executorStringbodytrue动作对象类型。
  • dpIssue:设备指令下发
  • externalAction:外部动作执行
  • delay:延时动作执行
  • deviceGroupDpIssue:设备分组指令下发
  • ruleDisable:禁用指定的自动化
  • ruleEnable:启用指定的自动化
  • ruleTrigger:触发指定的自动化
executor_propertyExecutorPropertybodytrue动作明细。

display 说明

参数名类型参数位置是否必填说明
codeStringbodytrue状态集 code。当 entity_type13 时,此参数必填。如果entity_type3 时,值需要定义为以下值之一$temp、$humidity、$condition、$pm25、$aqi、$windSpeed、$sunsetrise,更详细的天气内容请查询提天气码 API
operatorStringbodytrue比较表达式。当 entity_type13 时,此参数必填。
  • ==:等于
  • >:大于
  • <:小于
valueObjectbodytrue状态集 value。当 entity_type13 时,此参数必填。
dateStringbodyfalse自动化规则触发日期。
timeStringbodytrue自动化规则触发时间。
loopsStringbodyfalse触发周期,由 01 组成的 7 位数字。0 表示不执行,1 表示执行。第 1 位为周日,依次表示周一至周六。例如,0011000 表示每周二,周三执行。
timezone_idStringbodytrue时区 ID。

executor_property 说明

参数名类型参数位置是否必填说明
$function_codeStringbodyfalse指令 code。当 action_executordpIssuedeviceGroupDpIssue 时,此参数必填。此参数是一个变量,具体name应该为标准指令code,例如switch_1,value值为标准指令值,例如true。
hoursIntegerbodyfalse延时时间,单位为小时。当 action_executordelay 时,此参数必填。
minutesIntegerbodyfalse延时时间,单位为分钟。当 action_executordelay 时,此参数必填。
secondsIntegerbodyfalse延时时间,单位为秒。当 action_executordelay 时,此参数必填。

返回参数

参数名类型说明
resultString返回结果自动化 ID 。

请求示例

POST: /v1.0/homes/242****/automations
{
  "conditions": [
    {
      "display": {
        "code": "switch_1",
        "operator": "==",
        "value": true,
        "time": "14:00",
        "timezone_id": "Asia/Shanghai"
      },
      "entity_id": "vdevo15725982542****",
      "entity_type": 1,
      "order_num": 1
    }
  ],
  "actions": [
    {
      "action_executor": "delay",
      "executor_property": {
        "hours": "0",
        "minutes": "0",
        "seconds": "5"
      }
    },
    {
      "action_executor": "dpIssue",
      "entity_id": "vdevo15725982542****",
      "executor_property": {
        "switch_1": true
      }
    }
  ],
  "background": "https://images.tuyacn.com/smart/rule/cover/bedr***.png",
  "match_type": 1,
  "name": "测试自动化"
}

返回示例

{
    "tid": "2c1fc5cf7f4511ee82774ab24801****",
    "result": "ALAuMez3r2JM****",
    "t": 1699564556521,
    "success": true
}

错误码

参考 错误码