修改联动规则

更新时间:2024-09-10 01:49:16

本文介绍修改联动规则的 API。

接口描述

修改联动规则。

接口地址

PUT: /v2.0/cloud/scene/rule/{rule_id}

请求参数

参数名类型参数位置是否必填说明
rule_idStringuritrue联动规则 ID。

body 说明

参数名类型参数位置是否必填说明
space_idString true联动关联空间 ID。
nameString false联动规则的名称。
decision_exprString false条件表达式。
  • and:且。
  • or:或。
  • c1&c2:自定义表达式。
conditionsList false条件集合。
actionsList false动作集合。
effective_timeEffectiveTime false生效时间。

effective_time 说明

参数名类型参数位置是否必填说明
startString true开始时间。
endString true结束时间。
loopsString true联动规则触发周期,由 01 组成的 7 位数字。0 表示不执行,1 表示执行。第 1 位为周日,依次表示周一至周六。例如,0011000 表示每周二和周三执行。
time_zone_idString true时区 ID。

conditions 说明

参数名类型参数位置是否必填说明
entity_idString true条件对象 ID。
entity_typeString true条件对象类型。
  • timer:定时。
  • weather:天气条件。
  • device_report:设备上报。
codeInteger true条件编码,不可重复。
exprExpr true计算表达式。

actions 说明

参数名类型参数位置是否必填说明
entity_idString true动作对象 ID。
action_executorString true动作对象类型。
  • delay:延时。
  • device_issue:设备指令下发。
  • device_group_issue:群组指令下发。
executor_propertyExecutorProperty true动作明细。

expr 说明

参数名类型参数位置是否必填说明
status_codeString true状态集 code。当 entity_typedevice_report 时,此参数必填。
comparatorString true比较表达式。当 entity_typedevice_reportweather 时,此参数必填。
  • ==:等于。
  • >:大于。
  • <:小于。
status_valueObject true状态集 value。当 entity_typedevice_report 时,此参数必填。
dateString false联动规则触发日期。
timeString true联动规则触发时间。
loopsString false联动规则触发周期,由 01 组成的 7 位数字。0 表示不执行,1 表示执行。第 1 位为周日,依次表示周一至周六。例如,0011000 表示每周二和周三执行。
time_zone_idString true时区 ID。
weather_codeString true状态集 code。当 entity_typeweather 时,此参数必填。
weather_valueObject true状态集 value。当 entity_typeweather 时,此参数必填。

executor_property 说明

参数名类型参数位置是否必填说明
function_codeString true指令 code。当 action_executordevice_issuedevice_group_issue 时,此参数必填。
function_valueObject true指令 value。当 action_executordevice_issuedevice_group_issue 时,此参数必填。
delay_secondsInteger true延时时间。当 action_executordelay 时,此参数必填。

返回参数

参数名类型说明
resultBoolean联动规则修改是否成功。

请求示例

PUT: /v2.0/cloud/scene/rule/***
{
  "space_id": "150***",
  "name": "测试场景",
  "type": "automation",
  "decision_expr": "or",
  "effective_time": {
    "start": "00:00",
    "end": "23:00",
    "loops": "1111111",
    "timezone_id": "Asia/Shanghai"
  },
  "conditions": [
    {
      "code": 1,
      "entity_id": "****",
      "entity_type": "device_report",
      "expr": {
        "status_code": "switch_1",
        "comparator": "==",
        "status_value": true
      }
    }
  ],
  "actions": [
    {
      "entity_id": "****",
      "action_executor": "device_issue",
      "executor_property": {
        "function_code": "switch_1",
        "function_value": true
      }
    }
  ]
}

返回示例

{
    "tid": "****",
    "result": true,
    "t": 1677741828415,
    "success": true
}

错误码

参考 错误码

调用频率限制

参考 调用频率限制