场景自动化开发指南
更新时间:2025-09-29 17:14:01
平台支持通过App实现场景自动化功能,即支持C端用户(消费者)配置场景自动化任务。
场景节点介绍
节点名称 | 描述 |
---|---|
mode | any:表示任何一个条件满足就执行动作。目前仅支持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
表示事件条件匹配。参数描述如下。
参数 | 类型 | 描述 |
---|---|---|
productKey | String | 产品的Key。 |
deviceName | String | 设备的名称。 |
identifier | String | 物模型定义属性的标识符。 |
propertyName | String | 设备事件中定义取值的path。 |
compareType | String | 比较类型,如>、<、>=、==、<=、!=、in 等。详见compareType支持类型 |
compareValue | Object | 比较的值。 |
示例如下。
{
"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
表示属性条件匹配。参数描述如下。
参数 | 类型 | 描述 |
---|---|---|
productKey | String | 产品的Key。 |
deviceName | String | 设备的名称。 |
identifier | String | 物模型定义属性的标识符。 |
propertyName | String | 设备属性匹配属性取值的path。 |
compareType | String | 比较类型,如>、<、>=、==、<=、!=、in 等。详见compareType支持类型 |
compareValue | Object | 比较的值。 |
示例如下。
{
"uri": "condition/device/property",
"params": {
"productKey": "pk1",
"deviceName": "dn1",
"identifier": "powerstate",
"propertyName": "value",
"compareType": "==",
"compareValue": "0"
}
}
action节点介绍
uri: /action/device/setProperty
表示设置设备属性。参数描述如下。
参数 | 类型 | 描述 |
---|---|---|
productKey | String | 产品的Key。 |
deviceName | String | 设备的名称。 |
identifier | String | 物模型定义属性的标识符。 |
args | String | 具体需要设置的值数据 |
示例如下。
{
"uri":"action/device/setProperty",
"params":{
"productKey":"pk2",
"deviceName":"dn2",
"identifier":"powerstate",
"args": "{\"value\": 1}"
}
}
uri: /action/device/invokeService
表示调用设备服务。参数描述如下。
参数 | 类型 | 描述 |
---|---|---|
productKey | String | 产品的Key。 |
deviceName | String | 设备的名称。 |
identifier | String | 物模型定义服务的标识符。 |
args | String | 服务所需要的参数 |
示例如下。
{
"uri":"action/device/invokeService",
"params":{
"productKey":"pk2",
"deviceName":"dn2",
"identifier":"Reboot",
"args": "{}"
}
}