文档中心 > AliGenie开发者平台

设备发现

更新时间:2018/02/07 访问次数:61843

设备发现

设备发现请求:

{
  "header":{
      "namespace":"AliGenie.Iot.Device.Discovery",
      "name":"DiscoveryDevices",
      "messageId":"1bd5d003-31b9-476f-ad03-71d471922820",
      "payLoadVersion":1
   },
   "payload":{
       "accessToken":"access token"
    }
  }

一、 插座(包括多孔插座、单孔插座)、万能遥控器品类发现响应:

1.1 单孔插座发现响应

1.1.1 未负载设备情况(即未插上设备)

{
	"header": {
		"namespace": "AliGenie.Iot.Device.Discovery",
		"name": "DiscoveryDevicesResponse",
		"messageId": "1bd5d003-31b9-476f-ad03-71d471922820",
		"payLoadVersion": 1
	},
	"payload": {
		"devices": [{
			"deviceId": "34ea34cf2e63",
			"deviceName": "单孔插座",
			"deviceType": "outlet",
			"zone": "",
			"brand": "",
			"model": "",
			"icon": "https://git.cn-hangzhou.oss-cdn.aliyun-inc.com/uploads/aicloud/aicloud-proxy-service/41baa00903a71c97e3533cf4e19a88bb/image.png",
			"properties": [{
				"name": "powerstate",
				"value": "off"
			}],
			"actions": [
				"TurnOn",
				"TurnOff"
			],
			"extensions": {
				"extension1": "",
				"extension2": ""
			}
		}]
	}
}

1.1.2.负载设备情况

{
	"header": {
		"namespace": "AliGenie.Iot.Device.Discovery",
		"name": "DiscoveryDevicesResponse",
		"messageId": "1bd5d003-31b9-476f-ad03-71d471922820",
		"payLoadVersion": 1
	},
	"payload": {
		"devices": [{
			"deviceId": "34ea34cf2e63",
			"deviceName": "单孔插座",
			"deviceType": "outlet",
			"zone": "",
			"brand": "",
			"model": "",
			"icon": "https://git.cn-hangzhou.oss-cdn.aliyun-inc.com/uploads/aicloud/aicloud-proxy-service/41baa00903a71c97e3533cf4e19a88bb/image.png",
			"properties": [{
				"name": "powerstate",
				"value": "off"
			}],
			"actions": [
				"TurnOn",
				"TurnOff"
			],
			"extensions": {
				"extension1": "",
				"extension2": ""
			}
		}, {
			"deviceId": "34ea34cf2eff",
			"deviceName": "灯",
			"deviceType": "light",
			"zone": "",
			"brand": "",
			"model": "",
			"icon": "https://git.cn-hangzhou.oss-cdn.aliyun-inc.com/uploads/aicloud/aicloud-proxy-service/41baa00903a71c97e3533cf4e19a88bb/image.png",
			"properties": [{
				"name": "powerstate",
				"value": "off"
			}],
			"actions": [
				"TurnOn",
				"TurnOff"
			],
			"extensions": {
				"parentId": "34ea34cf2e63", 
				"extension1": "",
				"extension2": ""
			}
		}]
	}
}

说明:当单口插座负载设备时extensions必须返回parentId关联插座且负载设备的actions只支持TurnOn和TurnOff,若接入方技能已经上线还未改造对线上设备不影响。

1.2 多孔插座发现响应

1.2.1 未负载设备情况(即未插上设备)

{
	"header": {
		"namespace": "AliGenie.Iot.Device.Discovery",
		"name": "DiscoveryDevicesResponse",
		"messageId": "1bd5d003-31b9-476f-ad03-71d471922820",
		"payLoadVersion": 1
	},
	"payload": {
		"devices": [{
				"deviceId": "34ea34cf2e64",
				"deviceName": "多孔插座",
				"deviceType": "outlet",
				"zone": "",
				"brand": "",
				"model": "",
				"icon": "https://git.cn-hangzhou.oss-cdn.aliyun-inc.com/uploads/aicloud/aicloud-proxy-service/41baa00903a71c97e3533cf4e19a88bb/image.png",
				"properties": [{
					"name": "powerstate",
					"value": "off"
				}],
				"actions": [
					"TurnOn",
					"TurnOff"
				],
				"extensions": {
					"extension1": "",
					"extension2": ""
				}
			},
			{
				"deviceId": "34ea34cf2egg",
				"deviceName": "单孔插座",
				"deviceType": "outlet",
				"zone": "",
				"brand": "",
				"model": "",
				"icon": "https://git.cn-hangzhou.oss-cdn.aliyun-inc.com/uploads/aicloud/aicloud-proxy-service/41baa00903a71c97e3533cf4e19a88bb/image.png",
				"properties": [{
					"name": "powerstate",
					"value": "off"
				}],
				"actions": [
					"TurnOn",
					"TurnOff"
				],
				"extensions": {
					"parentId": "34ea34cf2e64",
					"extension1": "",
					"extension2": ""
				}
			},
			{
				"deviceId": "34ea34cf2egff",
				"deviceName": "单孔插座",
				"deviceType": "outlet",
				"zone": "",
				"brand": "",
				"model": "",
				"icon": "https://git.cn-hangzhou.oss-cdn.aliyun-inc.com/uploads/aicloud/aicloud-proxy-service/41baa00903a71c97e3533cf4e19a88bb/image.png",
				"properties": [{
					"name": "powerstate",
					"value": "off"
				}],
				"actions": [
					"TurnOn",
					"TurnOff"
				],
				"extensions": {
					"parentId": "34ea34cf2e64",
					"extension1": "",
					"extension2": ""
				}
			}
		]
	}
}

说明:多孔插座未插上时返回多孔插座本身以及将其下的多个插口作为单孔插座返回,若接入方技能已经上线还未改造对线上设备不影响。

1.2.2.负载设备情况

{
	"header": {
		"namespace": "AliGenie.Iot.Device.Discovery",
		"name": "DiscoveryDevicesResponse",
		"messageId": "1bd5d003-31b9-476f-ad03-71d471922820",
		"payLoadVersion": 1
	},
	"payload": {
		"devices": [{
				"deviceId": "34ea34cf2e64",
				"deviceName": "多孔插座",
				"deviceType": "outlet",
				"zone": "",
				"brand": "",
				"model": "",
				"icon": "https://git.cn-hangzhou.oss-cdn.aliyun-inc.com/uploads/aicloud/aicloud-proxy-service/41baa00903a71c97e3533cf4e19a88bb/image.png",
				"properties": [{
					"name": "powerstate",
					"value": "off"
				}],
				"actions": [
					"TurnOn",
					"TurnOff"
				],
				"extensions": {
					"extension1": "",
					"extension2": ""
				}
			},
			{
				"deviceId": "34ea34cf2egg",
				"deviceName": "灯",
				"deviceType": "light",
				"zone": "",
				"brand": "",
				"model": "",
				"icon": "https://git.cn-hangzhou.oss-cdn.aliyun-inc.com/uploads/aicloud/aicloud-proxy-service/41baa00903a71c97e3533cf4e19a88bb/image.png",
				"properties": [{
					"name": "powerstate",
					"value": "off"
				}],
				"actions": [
					"TurnOn",
					"TurnOff"
				],
				"extensions": {
					"parentId": "34ea34cf2e64",
					"extension1": "",
					"extension2": ""
				}
			},
			{
				"deviceId": "34ea34cf2egff",
				"deviceName": "单孔插座",
				"deviceType": "outlet",
				"zone": "",
				"brand": "",
				"model": "",
				"icon": "https://git.cn-hangzhou.oss-cdn.aliyun-inc.com/uploads/aicloud/aicloud-proxy-service/41baa00903a71c97e3533cf4e19a88bb/image.png",
				"properties": [{
					"name": "powerstate",
					"value": "off"
				}],
				"actions": [
					"TurnOn",
					"TurnOff"
				],
				"extensions": {
					"parentId": "34ea34cf2e64",
					"extension1": "",
					"extension2": ""
				}
			}
		]
	}
}

说明:以上多孔插座是两个孔,一个孔插上了灯,一个孔未插上设备则返回单孔插座,若接入方技能已经上线还未改造对线上设备不影响。

1.3 万能遥控器发现响应

1.3.1 未负载设备情况(即未关联设备)

{
	"header": {
		"namespace": "AliGenie.Iot.Device.Discovery",
		"name": "DiscoveryDevicesResponse",
		"messageId": "1bd5d003-31b9-476f-ad03-71d471922820",
		"payLoadVersion": 1
	},
	"payload": {
		"devices": [{
			"deviceId": "34ea34cf2e66",
			"deviceName": "万能遥控器",
			"deviceType": "telecontroller",
			"zone": "",
			"brand": "",
			"model": "",
			"icon": "https://git.cn-hangzhou.oss-cdn.aliyun-inc.com/uploads/aicloud/aicloud-proxy-service/41baa00903a71c97e3533cf4e19a88bb/image.png",
			"properties": [{
				"name": "powerstate",
				"value": "off"
			}],
			"extensions": {
				"extension1": "",
				"extension2": ""
			}
		}]
	}
 }

1.3.2.负载设备情况

{
	"header": {
		"namespace": "AliGenie.Iot.Device.Discovery",
		"name": "DiscoveryDevicesResponse",
		"messageId": "1bd5d003-31b9-476f-ad03-71d471922820",
		"payLoadVersion": 1
	},
	"payload": {
		"devices": [{
				"deviceId": "34ea34cf2e66",
				"deviceName": "万能遥控器",
				"deviceType": "telecontroller",
				"zone": "",
				"brand": "",
				"model": "",
				"icon": "https://git.cn-hangzhou.oss-cdn.aliyun-inc.com/uploads/aicloud/aicloud-proxy-service/41baa00903a71c97e3533cf4e19a88bb/image.png",
				"properties": [{
					"name": "powerstate",
					"value": "off"
				}],
				"extensions": {
					"extension1": "",
					"extension2": ""
				}
			},
			{
				"deviceId": "34ea34cf2eggff",
				"deviceName": "灯",
				"deviceType": "light",
				"zone": "",
				"brand": "",
				"model": "",
				"icon": "https://git.cn-hangzhou.oss-cdn.aliyun-inc.com/uploads/aicloud/aicloud-proxy-service/41baa00903a71c97e3533cf4e19a88bba88bb/image.png",
				"properties": [{
					"name": "powerstate",
					"value": "off"
				},{
					"name": "color",
					"value": "Red"
				}
				],
				"actions": [
					"TurnOn",
					"TurnOff",
					"SetColor"
				],
				"extensions": {
					"parentId": "34ea34cf2e66",
					"extension1": "",
					"extension2": ""
				}
			},
			{
				"deviceId": "34ea34cf2egffgg",
				"deviceName": "空调",
				"deviceType": "aircondition",
				"zone": "",
				"brand": "",
				"model": "",
				"icon": "https://git.cn-hangzhou.oss-cdn.aliyun-inc.com/uploads/aicloud/aicloud-proxy-service/41baa00903a71c97e3533cf4e19a88bb/image.png",
				"properties": [{
					"name": "powerstate",
					"value": "on"
				},{
					"name": "temperature",
					"value": "20"
				}
				],
				"actions": [
					"TurnOn",
					"TurnOff",
					"SetTemperature"
				],
				"extensions": {
					"parentId": "34ea34cf2e66",
					"extension1": "",
					"extension2": ""
				}
			}
		]
	}
}

说明:万能遥控器负载的设备支持的actions请按照负载的设备支持的操作进行返回,若接入方技能已经上线还未改造对线上设备不影响。

二、其他品类设备响应返回

{
  "header":{
      "namespace":"AliGenie.Iot.Device.Discovery",
      "name":"DiscoveryDevicesResponse",
      "messageId":"1bd5d003-31b9-476f-ad03-71d471922820",
      "payLoadVersion":1
   },
   "payload":{
      "devices":[{
      "deviceId":"34ea34cf2e63",
      "deviceName":"light1",
      "deviceType":"light",
      "zone":"",          
      "brand":"",
      "model":"",     
      "icon":"https://git.cn-hangzhou.oss-cdn.aliyun-inc.com/uploads/aicloud/aicloud-proxy-service/41baa00903a71c97e3533cf4e19a88bb/image.png",
      "properties":[{
        "name":"color",
        "value":"Red" 
       }],
      "actions":[
        "TurnOn",
        "TurnOff",
        "SetBrightness",       
        "AdjustBrightness",     
        "SetTemperature",
        "Query"         
     ],
      "extensions":{
         "extension1":"",
         "extension2":""
      }
     }]
   }
}

三、设备发现payload协议说明

payload 协议参数说明:

参数名 参数类型 参数说明
devices JSON Object List 用户设备列表

JSON Object 对象说明

参数名 参数类型 参数说明 返回值是否允许为空
deviceId String 设备Id
deviceType String 设备类型,具体参考AliGenie支持的品类列表
deviceName String 名称
brand String 品牌
model String 型号
zone String 位置 可选
icon String 产品icon(https协议的url链接),像素最好160*160 以免在app显示模糊
properties JSON List 返回当前设备支持的属性状态列表,产品支持的属性列表参考 设备控制与设备状态查询页 的 第二部分 设备状态查询 2.2 章节
actions List 产品支持的操作(注:包括支持的查询操作) ,详情参照 协议简介 中 1.3.2和1.3.3章节 否(万能遥控器除外)
extensions Object 产品扩展属性,为空返回null或者不返回该字段 可选

注:
1.设备名称的取值可参考接口: https://open.bot.tmall.com/oauth/api/aliaslist (key 为品类,value为该品类的别名取值枚举)
2.位置取值可参考接口: https://open.bot.tmall.com/oauth/api/placelist
3.设备支持的actions 需要按照设备的实际情况将支持的操作返回,我们会根据Actions的返回进行控制请求过滤,请开发商务必返回实际的操作actions

FAQ

设备名称可以是品类别名枚举值范围外的名称吗?

dicovery接口什么时候会被调用?

三孔插座,返回正常,但不能控制其中一路

返回
顶部