场景实例

更新时间:2019-03-04 19:31:00

概述

设备服务是与设备相关的一组服务接口,为用户提供设备的查询、控制和关系服务能力。

场景是一组设备联动规则,联动规则分trigger condition action三部分

  • trigger是触发器,列在trigger中的每一项有任一项满足时就会尝试触发场景执行;

  • condition是边界条件,当trigger触发后,如果列在condition中的每一项条件全部满足的时候,才会触发场景;

  • action是执行器,它是被控制的功能的集合,其中每一项在场景执行时会并发执行;被控制的功能包括设置物的属性,调用物的服务,向移动端发消息,触发其他场景执行,控制其他场景部署,向三方mq发消息等功能。

一个场景必须要包含action部分,而trigger,condition部分不是必选的。场景的trigger、condition、action格式参考“场景创建”接口的示例。

创建场景,是为了能够自动调用设备服务、设置设备属性、给App发消息、触发其他场景、上报设备消息。不过我们也支持手动触发场景。在手动触发场景的时候,会无视trigger的存在直接尝试触发场景,不过依然会判断是否满足condition中的条件。

本文档整体分为两部分

第一部分数据定义,这些数据结构会频繁在接口中使用;
第二部分接口定义,说明接口的入参、出参和示例。

接口分为四大类:

基本操作接口

接口名 简介
创建场景 创建具有TCA能力的场景。
删除场景 删除一个场景。
更新场景的基本信息 更新场景基本信息,指场景名,图标,描述,修改他们并不会影响场景的运行状态。
查询场景 查询所有场景,以分页列表的方式返回。
获取场景 获取的是场景全量信息,包含基本信息+tca+场景状态。

执行和部署

接口名 简介
执行场景 手动触发一个场景。
在云端部署/撤销场景 撤销场景会停止场景的自动运行;再次部署会开启这个场景让它自动执行。

TCA相关接口

接口名 简介
获取符合TCA功能的设备列表 在全租户下查找可以作为tca的设备列表景。
查询符合TCA条件的用户设备 分页查询用户所有可以作为tca的设备列表。
更新场景TCA 更新场景,更改tca意味着场景的执行规则改变,更新之后,场景将按新的规则运行。

关系维护接口

接口名 简介
绑定用户和场景 建立用户与场景的逻辑关系。
解绑用户和场景 解除用户与场景的逻辑关系。
查询用户的场景 查询指定用户下绑定的所有场景。
查询场景的用户 查询指定的场景下绑定的所有用户。

数据定义

DeviceTca

参数 类型 描述
iotId String 设备iotId
nickName String 设备昵称
image String 产品品类图标

SceneDesign

参数 类型 描述
sceneId String 场景ID
name String 场景名称
icon Integer 场景图标
status Integer 创建状态
enable Boolean true已部署
false未部署

接口定义

创建场景

场景执行的前提条件是:具有trigger,condition,action的设备连到阿里云IoT。其中trigger的最大条目数是100,condition的最大条目数是5,action的最大条目数是100。

场景创建后不会执行,需要调用“在云端部署/撤销场景”接口让场景真正运行起来。

示例描述了trigger,condition,action支持的所有格式

/home/paas/scene/create
  • 版本1.0.0

入参

字段名 类型 必填 备注
operator JSONObject 操作员,见“身份信息”定义。
name String 场景名称
icon String 场景图标
triggers JSONArray 场景的trigger
conditions JSONArray 场景的condition
actions JSONArray 场景的action
description String 自定义场景描述

出参

返回结果使用通用结果类型,data域是字符串,见下表的说明:

参数 类型 描述
sceneId String 创建的场景ID

示例

例:

当前的操作员的用户ID是1111299939433,使用了三方账号体系。

创建场景:

请求参数如下:

请求示例

{
    "operator":{
        "hid":"1111299939433",
        "hidType":"OPEN"
    },
    "icon":"https://g.aliplus.com/scene_icons/default.png",
    "name":"红外检测状态 有人 - 触发报警 ",
    "triggers":[
        {
            "params":{
                "cron":"按 http://crontab.org/ 填写",
                "cronType":"linux"
            },
            "uri":"trigger/timer"
        },
        {
            "params":{
                "iotId":"xxxxxxxx",
                "propertyName":"switch",
                "compareType":">, >=, ==, !=, in等",
                "compareValue":1
            },
            "uri":"trigger/device/property"
        },
        {
            "params":{
                "iotId":"xxxxxxxx",
                "eventCode":"aaaaa",
                "propertyName":"switch",
                "compareType":">, >=, ==, !=, in等",
                "compareValue":1
            },
            "uri":"trigger/device/event"
        }
    ],
    "condintios":[
        {
            "params":{
                "iotId":"xxxxxxxx",
                "propertyName":"switch",
                "compareType":">, >=, ==, !=, in等",
                "compareValue":1
            },
            "uri":"condition/device/property"
        },
        {
            "params":{
                "format":"HH:mm",
                "beginDate":"8:30",
                "endDate":"23:00",
                "timezoneID":"Asia/Shanghai",
                "repeat":"1,2,3"
            },
            "uri":"condition/timeRange"
        }
    ],
    "actions":[
        {
            "uri":"action/device/setProperty",
            "params":{
                "iotId":"xxxxxxxxxxx",
                "propertyItems":{
                    "WorkMode":4,
                    "LightSwitch":1
                },
                "propertyNamesItems":{
                    "WorkMode":{
                        "abilityName":"工作模式",
                        "valueName":"生活",
                        "valueType":"enum"
                    },
                    "LightSwitch":{
                        "abilityName":"主灯开关",
                        "valueName":"开启",
                        "valueType":"enum"
                    }
                }
            }
        },
        {
            "params":{
                "iotId":"xxxxxxxx",
                "serviceName":"online",
                "serviceArgs":{
                    "WorkMode":4,
                    "LightSwitch":1
                }
            },
            "uri":"action/device/invokeService"
        },
        {
            "uri":"action/automation/setSwitch",
            "params":{
                "automationRuleId":"string",
                "switchStatus":0
            }
        },
        {
            "uri":"action/scene/trigger",
            "params":{
                "sceneId":"string"
            }
        },
        {
            "params":{
                "customData":{
                    "message":"进入小区 , 向手机发送通知"
                },
                "msgTag":"IlopBusiness_CustomMsg"
            },
            "uri":"action/mq/send"
        }
    ]
}

关于周期执行条件condition/timeRange

作用是指定场景在一周内的某天的某个时间段中允许场景执行
{
    "params":{
        "format":"HH:mm",
        "beginDate":"8:30",
        "endDate":"23:00",
        "timezoneID":"Asia/Shanghai",
        "repeat":"1,2,3"
    },
    "uri":"condition/timeRange"
}
这是一个周期性的限定条件,一个场景中只有一个这种condition
其中"format": "HH:mm"是固定格式,
"beginDate": "8:30"指condition生效期从一天的早上830开始
"endDate": "23:00"指condition的生效期到晚上2300结束
"timezoneID": "Asia/Shanghai"目前是固定格式,暂时不支持其他时区
"repeat": "1,2,3"表示一周内的周123允许执行,支持1~7表示周一到周日 用‘,’分割

关于定时触发器 trigger/timer

trigger中只支持最多一个定时触发器
{
    "params": {
        "cron": "cron表达式",
        "cronType": "linux"
    },
    "uri": "trigger/timer"
} 
cron表达式有5级维度,支持的最小粒度是分,最大到月,即 
 # ┌──────────── minute
 # │ ┌────────── hour
 # │ │ ┌──────── day of month
 # │ │ │ ┌────── month
 # │ │ │ │ ┌──── day of week
 # │ │ │ │ │
 # │ │ │ │ │
 # * * * * *
支持周期触发的格式,按cron表达式的定义
0/5 * * * * 表示从每小时的0分开始,每5分钟执行一次

Cron的取值

field value
minute 0-59
hour 0-23
day of month 1-31
month 1-12 (or names)
day of week 0-7 (or names, 0 or 7 are sunday)

返回示例

{
    "code":200,
    "message":"success",
    "data":{
        "sceneId":"xxxxxxxxxxxxxxx"
    }
}

删除场景

/home/paas/scene/delete
  • 版本1.0.0

入参

字段名 类型 必填 备注
operator JSONObject 操作员,见“身份信息”定义。
sceneId String 待删除的场景ID

出参

返回结果使用通用结果类型,不使用data域,无值。

示例

例:

当前的操作员的用户ID是1111299939433,使用了三方账号体系。

要删除的场景ID是d4p61ikfvmgaaobd

请求参数如下:

请求示例

{
    "operator": {
        "hid": "1111299939433",
        "hidType": "OPEN"
    },
    "sceneId": "d4p61ikfvmgaaobd"
}

返回示例

{
    "code": 200,
    "message": "success"
}

更新场景的基本信息

更新场景基本信息,指场景名,图标,描述,修改他们并不会影响场景的运行状态。

/home/paas/scene/baseinfo/update
  • 版本1.0.0

入参

字段名 类型 必填 备注
operator JSONObject 操作员,见“身份信息”定义。
name String 房屋名称
icon String 场景图标
description String 用户自定义描述
sceneId String 场景ID

出参

返回结果使用通用结果类型,不使用data域,无值。

示例

例:

当前的操作员的用户ID是1111299939433,使用了三方账号体系。

要更新的场景ID是d4p61ikfvmgaaobd

  • 名称更新为newSceneName

  • 图标更新为 https://at.cn

  • 描述更新为 “new description

请求参数如下:

请求示例

{
    "operator":{
        "hid":"1111299939433",
        "hidType":"OPEN"
    },
    "sceneId":"d4p61ikfvmgaaobd",
    "name":"newSceneName",
    "icon":"https://at.cn",
    "description":"new description"
}

返回示例

{
    "code":200,
    "message":"success"
}

查询场景

查询所有场景,以分页列表的方式返回。

查询的范围是创建出的所有场景。

/home/paas/scene/list

版本1.0.0

入参

字段名 类型 必填 备注
operator JSONObject 操作员,见“身份信息”定义。
pageNo Integer 请求的页码,详细见“分页参数”定义。
pageSize Integer 每页的记录数,详细见“分页参数”定义。

出参

返回结果使用通用结果类型,data域是对象,见下表的详细说明:

参数 类型 描述
data JSONArray 列表,见SceneDesign定义
total Integer 总记录数
pageNo Integer 请求的页码,详细见“分页参数”定义。
pageSize Integer 请求的页码,详细见“分页参数”定义。

示例

例:

当前的操作员的用户ID是1111299939433,使用了三方账号体系。

请求参数如下:

请求示例

{
    "operator": {
        "hid": "1111299939433",
        "hidType": "OPEN"
    },
    "pageNo": 1,
    "pageSIze": 10
}

返回示例

{
    "code": 200,
    "message": "success",
    "data": {
        "data": [{
            "icon": "https://g.aliplus.com/scene_icons/default.png",
            "name": "红外检测状态 有人 - 触发报警 ",
            "status": 1,
            "description": "aaaa",
            "enable": true,
            "sceneId": "xxxxxxxxxxxxxxxx"
        }],
        "total": 1,
        "pageSize": 10,
        "pageNo": 1
    }
}

获取场景

获取的是场景全量信息,包含基本信息+tca+场景状态。基本信息和tca在上面的接口已经描述了。

关于场景状态,由status表示:

  • 当status=1时表示场景在正常运行

  • 当status=2时表示场景存在异常状态没有正常运行

比如tca中的某一个设备不在线会触发status==2

/home/paas/scene/get
  • 版本1.0.0

入参

字段名 类型 必填 备注
operator JSONObject 操作员,见“身份信息”定义。
sceneId String 场景ID

出参

返回结果使用通用结果类型,data域是对象,见下表的详细说明:

字段名 类型 备注
name String 房屋名称
icon String 场景图标
description String 用户自定义描述
triggers JSONArray 场景trigger
conditions JSONArray 场景condition
actions JSONArray 场景action
sceneId String 场景ID
enable Boolean true已部署 false未部署
description String 场景描述
status Integer 1场景正常运行,2场景未运行

示例

例:

当前的操作员的用户ID是1111299939433,使用了三方账号体系。

目标场景ID是d4p61ikfvmgaaobd

请求参数如下:

请求示例

{
    "operator": {
        "hid": "1111299939433",
        "hidType": "OPEN"
    },
    "sceneId": "d4p61ikfvmgaaobd"
}

返回示例

{
    "code": 200,
    "data": {
        "icon": "https://g.aliplus.com/scene_icons/default.png",
        "name": "红外检测状态 有人 - 触发报警 ",
        "triggers": [{
                "params": {
                    "cron": "按 http://crontab.org/ 填写",
                    "cronType": "linux"
                },
                "uri": "trigger/timer"
            },
            {
                "params": {
                    "iotId": "xxxxxxxx",
                    "propertyName": "switch",
                    "compareType": ">, >=, ==, !=, in等",
                    "compareValue": 1
                },
                "uri": "trigger/device/property"
            },
            {
                "params": {
                    "iotId": "xxxxxxxx",
                    "eventCode": "aaaaa",
                    "propertyName": "switch",
                    "compareType": ">, >=, ==, !=, in等",
                    "compareValue": 1
                },
                "uri": "trigger/device/event"
            }
        ],
        "condintios": [{
            "params": {
                "iotId": "xxxxxxxx",
                "propertyName": "switch",
                "compareType": ">, >=, ==, !=, in等",
                "compareValue": 1
            },
            "uri": "condition/device/property"
        }, {
            "params": {
                "format": "HH:mm",
                "beginDate": "8:30",
                "endDate": "23:00",
                "timezoneID": "Asia/Shanghai",
                "repeat": "1,2,3"
            },
            "uri": "condition/timeRange"
        }],
        "actions": [{
                "uri": "action/device/setProperty",
                "params": {
                    "iotId": "xxxxxxxxxxx",
                    "propertyItems": {
                        "WorkMode": 4,
                        "LightSwitch": 1
                    },
                    "propertyNamesItems": {
                        "WorkMode": {
                            "abilityName": "工作模式",
                            "valueName": "生活",
                            "valueType": "enum"
                        },
                        "LightSwitch": {
                            "abilityName": "主灯开关",
                            "valueName": "开启",
                            "valueType": "enum"
                        }
                    }
                }
            },
            {
                "params": {
                    "iotId": "xxxxxxxx",
                    "serviceName": "online",
                    "serviceArgs": {
                        "WorkMode": 4,
                        "LightSwitch": 1
                    }
                },
                "uri": "action/device/invokeService"
            },
            {
                "uri": "action/automation/setSwitch",
                "params": {
                    "automationRuleId": "string",
                    "switchStatus": 0
                }
            },
            {
                "uri": "action/scene/trigger",
                "params": {
                    "sceneId": "string"
                }
            }
        ],
        "status": 1,
        "description": "aaaa",
        "enable": true,
        "sceneId": "xxxxxxxxxxxxxxxx"
    },
    "message": "success"
}

执行场景

手动触发一个场景。

/home/paas/scene/instance/run
  • 版本1.0.0

入参

字段名 类型 必填 备注
operator JSONObject 操作员,见“身份信息”定义。
sceneId String 场景ID

出参

返回结果使用通用结果类型,不使用data域,无值。

示例

例:

当前的操作员的用户ID是1111299939433,使用了三方账号体系。

目标场景ID是d4p61ikfvmgaaobd

请求参数如下:

请求示例

{
    "operator":{
        "hid":"1111299939433",
        "hidType":"OPEN"
    },
    "sceneId":"d4p61ikfvmgaaobd"
}

返回示例

{
    "code":200,
    "message":"success"
}

在云端部署/撤销场景

有的时候,想让场景停止自动运行,那么用这个接口把场景从云端撤回部署。

当想再次开启这个场景让它自动执行,就用这个接口把场景部署起来。

部署的含义是让场景在满足trigger/condition的时候会触发action,如果撤销部署了,即便trigger/condition都满足,也不会触发action。

/home/paas/scene/switch/update
  • 版本1.0.0

入参

字段名 类型 必填 备注
operator JSONObject 操作员,见“身份信息”定义。
enable Boolean true 部署场景
false 撤销部署
sceneId String 场景ID

出参

返回结果使用通用结果类型,不使用data域,无值

示例

例:

当前的操作员的用户ID是1111299939433,使用了三方账号体系。

要撤销的场景ID是d4p61ikfvmgaaobd

请求参数如下:

请求示例

{
    "operator":{
        "hid":"1111299939433",
        "hidType":"OPEN"
    },
    "sceneId":"d4p61ikfvmgaaobd",
    "enable":false
}

返回示例

{
    "code":200,
    "message":"success"
}

获取符合TCA功能的设备列表

能够加入场景中的设备是有限制的,只有特定的设备才能加入到tca当中,这个接口就是在全租户下查找可以作为tca的设备列表。

/home/paas/scene/device/tenant/tca/list
  • 版本1.0.0

入参

字段名 类型 必填 备注
operator JSONObject 操作员,见“身份信息”定义。
pageNo Integer 请求的页码,详细见“分页参数”定义。
pageSize Integer 每页的记录数,详细见“分页参数”定义。
flowType Integer 数值型枚举
1:查trigger
2:查condition
3:查action
name String 用这个值在设备昵称中模糊查询,比如name="灯"
会查nickName为"台灯","二楼台灯",“灯罩”的设备

出参

返回结果使用通用结果类型,data域是对象,见下表的详细说明:

字段名 类型 描述
data JSONArray 设备列表,见DeviceTca定义
pageNo Integer 请求的页码,详细见“分页参数”定义。
pageSize Integer 请求的页码,详细见“分页参数”定义。
total Integer 总记录数

示例

例:

当前的操作员的用户ID是1111299939433,使用了三方账号体系。

查询支持Trigger的设备。

查询第2页,每页10个设备。

请求参数如下:

请求示例

{
    "operator":{
        "hid":"1111299939433",
        "hidType":"OPEN"
    },
    "flowType":1,
    "pageSize":10,
    "pageNo":2
}

返回示例

{
    "code":200,
    "message":"success",
    "data":{
        "data":[
            {
                "iotId":"xxxxxxx",
                "image":"https://xxx",
                "nickName":"昵称"
            },
            {
                "iotId":"xxxxxxx",
                "image":"https://xxx",
                "nickName":"昵称"
            }
        ],
        "pageSize":10,
        "pageNo":2,
        "total":12
    }
}

查询符合TCA条件的用户设备

这个接口就是在用户所有的设备中查出可以作为tca的设备列表。

/home/paas/device/user/tca/list
  • 版本1.0.0

入参

字段名 类型 必填 备注
operator JSONObject 操作员,见“身份信息”定义。
target JSONObject 设备的归属用户,见“身份信息”定义。
flowType Integer 1:查trigger
2:查condition
3:查action

出参

返回结果使用通用结果类型,data域是字符串,见下表的说明:

参数 类型 描述
data JSONArray 设备列表,见DeviceTca定义

示例

例:

当前的操作员的用户ID是1111299939433,使用了三方账号体系。

查询22858512781用户下可以做trigger的设备

请求的参数如下:

请求示例

{
    "operator":{
        "hid":"1111299939433",
        "hidType":"OPEN"
    },
    "target":{
        "hid":"22858512781",
        "hidType":"OPEN"
    },
    "flowType":1
}

返回示例

{
    "code":200,
    "message":"success",
    "data":[
        {
            "iotId":"bndtgf8mrgx1n99vz86xh5tahbyutis4",
            "image":"https://xxx",
            "nickName":"昵称"
        },
        {
            "iotId":"ecqnuj9vfttzvk5gcvdgh7r2seap8vsb",
            "image":"https://xxx",
            "nickName":"昵称"
        }
    ]
}

更新场景TCA

tca指trigger+condition+action

更新场景tca意味着场景的执行规则改变,更新之后,场景将按新的规则运行。

/home/paas/scene/tca/update
  • 版本1.0.0

入参

字段名 类型 必填 备注
operator JSONObject 操作员,见“身份信息”定义。
sceneId String 场景ID
triggers JSONArray 场景trigger
conditions JSONArray 场景condition
actions JSONArray 场景action

出参

返回结果使用通用结果类型,不使用data域,无值。

示例

例:

当前的操作员的用户ID是1111299939433,使用了三方账号体系。

要更新的场景ID是d4p61ikfvmgaaobd

要更新的TCA属性如下。

请求参数如下:

请求示例

A{
    "operator":{
        "hid":"1111299939433",
        "hidType":"OPEN"
    },
    "sceneId":"d4p61ikfvmgaaobd",
    "triggers":[
        {
            "params":{
                "cron":"按 http://crontab.org/ 填写",
                "cronType":"linux"
            },
            "uri":"trigger/timer"
        },
        {
            "params":{
                "iotId":"xxxxxxxx",
                "propertyName":"switch",
                "compareType":">, >=, ==, !=, in等",
                "compareValue":1
            },
            "uri":"trigger/device/property"
        },
        {
            "params":{
                "iotId":"xxxxxxxx",
                "eventCode":"aaaaa",
                "propertyName":"switch",
                "compareType":">, >=, ==, !=, in等",
                "compareValue":1
            },
            "uri":"trigger/device/event"
        }
    ],
    "condintios":[
        {
            "params":{
                "iotId":"xxxxxxxx",
                "propertyName":"switch",
                "compareType":">, >=, ==, !=, in等",
                "compareValue":1
            },
            "uri":"condition/device/property"
        },
        {
            "params":{
                "format":"HH:mm",
                "beginDate":"8:30",
                "endDate":"23:00",
                "timezoneID":"Asia/Shanghai",
                "repeat":"1,2,3"
            },
            "uri":"condition/timeRange"
        }
    ],
    "actions":[
        {
            "uri":"action/device/setProperty",
            "params":{
                "iotId":"xxxxxxxxxxx",
                "propertyItems":{
                    "WorkMode":4,
                    "LightSwitch":1
                },
                "propertyNamesItems":{
                    "WorkMode":{
                        "abilityName":"工作模式",
                        "valueName":"生活",
                        "valueType":"enum"
                    },
                    "LightSwitch":{
                        "abilityName":"主灯开关",
                        "valueName":"开启",
                        "valueType":"enum"
                    }
                }
            }
        },
        {
            "params":{
                "iotId":"xxxxxxxx",
                "serviceName":"online",
                "serviceArgs":{
                    "WorkMode":4,
                    "LightSwitch":1
                }
            },
            "uri":"action/device/invokeService"
        },
        {
            "uri":"action/automation/setSwitch",
            "params":{
                "automationRuleId":"string",
                "switchStatus":0
            }
        },
        {
            "uri":"action/scene/trigger",
            "params":{
                "sceneId":"string"
            }
        },
        {
            "params":{
                "customData":{
                    "message":"进入小区 , 向手机发送通知"
                },
                "msgTag":"IlopBusiness_CustomMsg"
            },
            "uri":"action/mq/send"
        }
    ]
}

返回示例

{
    "code":200,
    "message":"success"
}

绑定用户和场景

建立用户与场景的逻辑关系。

/home/paas/user/scene/bind
  • 版本1.0.0

入参

字段名 类型 必填 备注
operator JSONObject 操作员,见“身份信息”定义。
sceneId String 场景ID
target JSONObject 绑定的用户

出参

返回结果使用通用结果类型,不使用data域,无值。

示例

例:

当前的操作员的用户ID是1111299939433,使用了三方账号体系。

  • 目标场景ID是d4p61ikfvmgaaobd

  • 要绑定的用户ID是3008045502161

请求参数如下:

请求示例

{
    "operator": {
        "hid": "1111299939433",
        "hidType": "OPEN"
    },
    "target": {
        "hid": "3008045502161",
        "hidType": "OPEN"
    },
    "sceneId": "d4p61ikfvmgaaobd"
}

返回示例

{
    "code":200,
    "message":"success"
}

解绑用户和场景

解除用户与场景的逻辑关系。

/home/paas/user/scene/unbind
  • 版本1.0.0

入参

字段名 类型 必填 备注
operator JSONObject 操作员,见“身份信息”定义。
target JSONObject 解绑用户
sceneId String 场景ID

出参

返回结果使用通用结果类型,不使用data域,无值。

示例

例:

当前的操作员的用户ID是1111299939433,使用了三方账号体系。

目标场景ID是d4p61ikfvmgaaobd

要解绑的用户ID是3008045502161

请求参数如下:

请求示例

{
    "operator":{
        "hid":"1111299939433",
        "hidType":"OPEN"
    },
    "target":{
        "hid":"3008045502161",
        "hidType":"OPEN"
    },
    "sceneId":"d4p61ikfvmgaaobd"
}

返回示例

{
    "code":200,
    "message":"success"
}

查询用户的场景

/home/paas/user/scene/list
  • 版本1.0.0

入参

字段名 类型 必填 备注
operator JSONObject 操作员,见“身份信息”定义。
target JSONObject 用户,见“身份信息”定义。
pageNo Integer 请求的页码,详细见“分页参数”定义。
pageSize Integer 每页的记录数,详细见“分页参数”定义。

出参

返回结果使用通用结果类型,data域是对象,见下表的详细说明:

参数 类型 描述
data JSONArray 数据列表,见SceneDesign定义
total Integer 总记录数
pageNo Integer 请求的页码,详细见“分页参数”定义。
pageSize Integer 请求的页码,详细见“分页参数”定义。

示例

例:

当前的操作员的用户ID是1111299939433,使用了三方账号体系。

要查询的用户ID是3008045502161

请求参数如下:

请求示例

{
    "operator":{
        "hid":"1111299939433",
        "hidType":"OPEN"
    },
    "target":{
        "hid":"3008045502161",
        "hidType":"OPEN"
    },
    "pageNo":1,
    "pageSIze":10
}

返回示例

{
    "code":200,
    "message":"success",
    "data":{
        "data":[
            {
                "icon":"https://g.aliplus.com/scene_icons/default.png",
                "name":"红外检测状态 有人 - 触发报警 ",
                "status":1,
                "description":"aaaa",
                "enable":true,
                "sceneId":"xxxxxxxxxxxxxxxx"
            }
        ],
        "total":1,
        "pageSize":10,
        "pageNo":1
    }
}

查询场景的用户

查询指定的场景下绑定的所有用户

/home/paas/scene/user/list
  • 当前版本 1.0.0

入参

参数 类型 是否必填 备注
operator JSONObject 三方账号用户id
queryInfo JSONObject 查询条件

operator 参数

名称 类型 是否必填 备注
hid String 账户ID:目前支持三方账户ID
hidType String 账户类型:OPEN(三方账户ID)

queryInfo 参数

字段名 类型 是否必填 备注
sceneId String 场景id

出参

参数 类型 备注
code int iot通用错误码
message string 提示信息
data JSONArray 用户openId列表

示例

例:

当前的操作员的用户ID是1111299939433,使用了三方账号体系。

要查询的场景ID是d4p61ikfvmgaaobd

请求参数如下:

请求示例

{
    "operator": {
    "hid": "1111299939433",
    "hidType": "OPEN"
  },
  "queryInfo": {
     "sceneId": "d4p61ikfvmgaaobd"
  }
}

返回示例

{
    "code": 200,
    "data": {
        "data": [
            "dbaf213c-f9cf-4cd4-9cc4-6897dc4792ff",
            "a756a00f-1972-4880-b395-ee866fd37bb9",
            "f59f1d1c-0dd3-41d0-a582-9705f986bfea",
            "a6ffbff2-9923-47bb-b72b-12c22ee96359"
        ]
    },
    "message": "success"
}

results matching ""

    No results matching ""