联动配置规则

概述

自动化:用户可自定义设置触发条件(Conditions)和执行动作(Actions),当满足触发条件时,自动执行设定的动作。

场景:用户可自定义设置场景中需要执行的动作(Actions),当人为触发该场景时,按顺序执行设定的动作。

条件集:用户可自定义设置触发条件(Conditions),支持多个“AND”和“OR”条件的组合触发。

联动创建方式

通过系统定义的actionDefinition或triggerDefinition来进行创建

通过联动配置查询接口,可通过物模型查询系统预设的条件和动作配置来进行创建。

通过自定义设备属性来进行创建

用户可通过物模型的设备属性,来自定义配置需要的联动规则。

  • 通用触发条件(Conditions)

请求参数(condition说明)(完整请求参数请参考创建自动化接口。)

名称 类型 是否必须 描述
triggerDefinitionId String 固定参数; TD.custom_1
subjectId String 对象ID (如设备id、自动化id) (与model至少必填一个)
model String 物模型
triggerDefinitionId String 触发id;固定参数 TD.custom_1
beginTime String 开始时段
endTime String 结束时段
params Array(Object) 参数,详见params说明

请求参数(params说明)

名称 类型 是否必须 描述
paramId String 参数id;固定值为PD.custom.trigger
value String 具体要判断的属性,JSONArrayString,详见value说明

请求参数(value说明)

名称 类型 是否必须 描述
rid String 具体要操作的资源id
value String 操作值
op String 操作比较符
小于:0
大于:1
小于等于:2
大于等于:3
等于:4
上一次不等于现在等于:5
上一次小于等于现在大于:6
上一次大于等于现在小于:7
eventType int 事件类型
0-只能用于触发执行
1-只能用于条件判断不能触发执行
2-既可以用于触发执行也可以用于条件判断

示例:照度高于3000lux 单击打开插座

{
    "intent": "config.linkage.create",
    "data": {
    "name": "123456",
    "positionId": "xxxx",
    "conditions": {
        "condition": [
        {
            "triggerDefinitionId": "TD.custom_1",
            "subjectId": "lumi.158d000xxxxxx",
            "model": "lumi.sen_ill.agl01",
            "params": [
                {
                    "value": "{\"rid\":\"0.2.85\",\"op\":1,\"value\":\"3000\",\"eventType\":1}",  
                    "paramId": "PD.custom.trigger"
                }
            ]
        }
    ],
    "relation": "1"
    },
    "actions": {
        "action": [
        {
            "actionDefinitionId": "AD.lumi.plug.open",
            "subjectId": "lumi.158d00xxxxxx",
            "model": "lumi.plug.maeu01",
            "params": []
        }
    ]
}}
}
  • 通用触发动作(Actions)

请求参数(action说明)(完整请求参数请参考创建自动化接口。)

名称 类型 是否必须 描述
subjectId String 对象ID (如设备id、场景id)(与model至少必填一个)
model String 物模型
actionDefinitionId String 动作id; 固定参数; AD.custom_1
delayTime String 延时时间,0-59秒,0-59分
delayTimeUnit String 延时单位,1-秒;2-分钟
params Array(Object) 参数,详见params说明

请求参数(params说明)

名称 类型 是否必须 描述
paramId String 参数id;固定值为PD.custom.exec
value String 具体要执行的属性,JSONArrayString,详见value说明

请求参数(value说明)

名称 类型 是否必须 描述
rid String 具体要操作的资源id
value String 操作值

示例:照度高于3000lux 网关播放音乐,设置音量为40%,设置背景音乐为10

{
    "intent":"config.linkage.create",
    "data":{
        "name":"123456",
        "positionId":"xxxx",
        "conditions":{
            "condition":[
                {
                    "triggerDefinitionId":"TD.lumi.sen_ill.agl01.illumination_higher",
                    "subjectId":"lumi.158d000xxxxxx",
                    "model":"lumi.sen_ill.agl01",
                    "params":[
                        {
                            "value":"3000",
                            "paramId":"PD.illumination"
                        }
                    ]
                }
            ],
            "relation":"1"
        },
        "actions":{
            "action":[
                {
                    "actionDefinitionId":"AD.custom_1",
                    "subjectId":"lumi.158d00xxxxxx",
                    "model":"lumi.gateway.iragl01",
                    "params":[
                        {
                            "paramId":"PD.custom.exec",
                            "value": "[{\"rid\":\"14.3.85\",\"value\":\"10\"},{\"rid\":\"14.3.1000\",\"value\":\"40\"}]"
                        }
                    ]
                }
            ]
        }
    }
}

本地化规则

当自动化或场景满足本地化条件时,会下发到网关本地执行,即当没有网络的情况下,也可以正常触发执行。

当前不满足本地化的规则有:

  • 当多个网关处于不同局域网内;
  • 当触发条件的设备来自于多个网关,如网关A下的人体传感器检测到有人且网关B下的插座开着;
  • 当执行动作为云端场景时;
  • 当执行动作为云端自动化开启或关闭时。

示例

示例1:定时每天12:00网关播放音乐

{
    "intent": "config.linkage.create",
    "data": {
    "name": "123456",
    "positionId": "xxxx",
    "conditions": {
        "condition": [
        {
            "triggerDefinitionId": "TD.app.timer.timer",
            "subjectId": "",
            "model": "app.timer.v1",
            "params": [
                {
                    "value": "00 10 * * 1,2,3,4,5,6,0",
                    "paramId": "PD.timer"
                }
            ]
        }
    ],
    "relation": 1
    },
    "actions": {
        "action": [
        {
            "actionDefinitionId": "AD.lumi.gateway.music",
            "subjectId": "lumi.158d0xxxxxxxx",
            "model": "lumi.gateway.iragl01",
            "params": [
                {
                    "value": "10",
                    "paramId": "PD.musicIndex"
                },
                {
                    "value": 40,
                    "paramId": "PD.vol"
                }
            ]
        }
    ]
}}}

示例2:有人经过的时候触发场景执行

{
    "intent": "config.linkage.create",
    "data": {
    "name": "123456",
    "positionId": "xxxx",
    "conditions": {
        "condition": [
        {
            "triggerDefinitionId": "TD.lumi.sensor_motion.motion",
            "subjectId": "lumi.158d000xxxxxx",
            "params": []
        }
    ],
    "relation": "0"
    },
    "actions": {
        "action": [
        {
            "actionDefinitionId": "AD.app.scene.exc",
            "subjectId": "AL.xxxxxxxx",
            "params": []
        }
    ]
}}}

示例3:门开着且有人经过的时候,关闭插座

{
    "intent": "config.linkage.create",
    "data": {
    "name": "123456",
    "positionId": "xxxx",
    "conditions": {
        "condition": [
        {
            "triggerDefinitionId": "TD.lumi.sensor_motion.motion",
            "subjectId": "lumi.158d000xxxxxx",
            "model": "lumi.motion.agl02",
            "params": []
        },
        {
            "triggerDefinitionId": "TD.lumi.sensor_magnet.opening",
            "subjectId": "lumi.158d000xxxxxx",
            "model": "lumi.magnet.agl02",
            "params": []
        }
    ],
    "relation": "0"
    },
    "actions": {
        "action": [
        {
            "actionDefinitionId": "AD.lumi.plug.close",
            "subjectId": "lumi.158d00xxxxxx",
            "model": "lumi.plug.maeu01",
            "params": []
        }
    ]
}}}

示例4:门打开或者有人经过的时候,关闭插座

{
    "intent": "config.linkage.create",
    "data": {
    "name": "123456",
    "positionId": "xxxx",
    "conditions": {
        "condition": [
        {
            "triggerDefinitionId": "TD.lumi.sensor_motion.motion",
            "subjectId": "lumi.4cf8cdf3c738348",
            "model": "lumi.motion.agl02",
            "params": []
        },
        {
            "triggerDefinitionId": "TD.lumi.sensor_magnet.open",
            "subjectId": "lumi.4cf8cdf3c738170",
            "model": "lumi.magnet.agl02",
            "params": []
        }
    ],
    "relation": 1
    },
    "actions": {
        "action": [
        {
            "actionDefinitionId": "AD.lumi.plug.open",
            "subjectId": "lumi.4cf8cdf3c7464cc",
            "model": "lumi.plug.maeu01",
            "params": []
        }
    ]
}}}
Copyright © 2023 深圳绿米联创科技有限公司 all right reserved,powered by Gitbook文档修改时间: 2024-09-27 21:51:47

results matching ""

    No results matching ""