跳到主要内容

场景自动化开发指南

更新时间:2025-09-29 17:14:01

平台支持通过App实现场景自动化功能,即支持C端用户(消费者)配置场景自动化任务。

场景节点介绍

节点名称描述
modeany:表示任何一个条件满足就执行动作。目前仅支持any
conditions场景的触发条件集合,例如设备属性、设备事件等。目前一个场景仅支持一个触发条件。
actions表示场景被触发时所需执行的动作集合,例如设置设备属性、调用设备服务。一个场景中可以有多个动作,场景中必须至少有一个动作。

示例:

{
"mode":"any",
"conditions":[
{
"uri":"condition/device/event",
"params":{
"productKey":"pk1",
"deviceName":"dn1",
"identifier":"IntelligentAlarm",
"propertyName":"AlarmType",
"compareType":"==",
"compareValue":"2"
}
}
],
"actions":[
{
"uri":"action/device/setProperty",
"params":{
"productKey":"pk2",
"deviceName":"dn2",
"identifier":"powerstate",
"args": "{\"value\": 1}"
}
},
{
"uri":"action/device/invokeService",
"params":{
"productKey":"pk2",
"deviceName":"dn2",
"identifier":"Reboot",
"args": "{}"
}
}
]
}

condition节点介绍

compareType 支持类型

比较类型支持匹配值的类型
==字符串、数字、布尔
>数字
>=数字
<数字
<=数字
!=字符串、数字、布尔
in字符串、数字类型的数组

uri: condition/device/event

表示事件条件匹配。参数描述如下。

参数类型描述
productKeyString产品的Key。
deviceNameString设备的名称。
identifierString物模型定义属性的标识符。
propertyNameString设备事件中定义取值的path。
compareTypeString比较类型,如>、<、>=、==、<=、!=、in等。详见compareType支持类型
compareValueObject比较的值。

示例如下。

{
"uri": "condition/device/event",
"params": {
"productKey": "pk1",
"deviceName": "dn1",
"identifier": "IntelligentAlarm",
"propertyName": "AlarmType",
"compareType": "==",
"compareValue": "1"
}
}
{
"uri": "condition/device/event",
"params": {
"productKey": "pk1",
"deviceName": "dn1",
"identifier": "IntelligentAlarm",
"propertyName": "AlarmType",
"compareType": "in",
"compareValue": [1, 2]
}
}

uri: condition/device/property

表示属性条件匹配。参数描述如下。

参数类型描述
productKeyString产品的Key。
deviceNameString设备的名称。
identifierString物模型定义属性的标识符。
propertyNameString设备属性匹配属性取值的path。
compareTypeString比较类型,如>、<、>=、==、<=、!=、in等。详见compareType支持类型
compareValueObject比较的值。

示例如下。

{
"uri": "condition/device/property",
"params": {
"productKey": "pk1",
"deviceName": "dn1",
"identifier": "powerstate",
"propertyName": "value",
"compareType": "==",
"compareValue": "0"
}
}

action节点介绍

uri: /action/device/setProperty

表示设置设备属性。参数描述如下。

参数类型描述
productKeyString产品的Key。
deviceNameString设备的名称。
identifierString物模型定义属性的标识符。
argsString具体需要设置的值数据

示例如下。

{
"uri":"action/device/setProperty",
"params":{
"productKey":"pk2",
"deviceName":"dn2",
"identifier":"powerstate",
"args": "{\"value\": 1}"
}
}

uri: /action/device/invokeService

表示调用设备服务。参数描述如下。

参数类型描述
productKeyString产品的Key。
deviceNameString设备的名称。
identifierString物模型定义服务的标识符。
argsString服务所需要的参数

示例如下。

{
"uri":"action/device/invokeService",
"params":{
"productKey":"pk2",
"deviceName":"dn2",
"identifier":"Reboot",
"args": "{}"
}
}