发现设备
发现设备协议说明
发现设备消息用于查找用户可用的智能设备、可以使用的场景,有DiscoverAppliancesRequest和DiscoverAppliancesResponse两个指令。DiscoverAppliancesRequest指令是发出查找设备请求,DiscoverAppliancesResponse指令回复查找到的设备。 如果客户平台的用户设备信息变更时,可以通过右转提供的异步接口发送通知,触发更新用户设备信息同步到右转主机。
DiscoverAppliancesRequest
当用户查找设备时,右转主机会将该消息发送给智能家居服务商。另外,用户每次在右转主机刷新或其他情况下获取设备时,此消息会触发一次。
Header信息
属性 | 取值 |
name | DiscoverAppliancesRequest |
namespace | YouZhuan.ConnectedHome.Discovery |
Payload信息
属性 | 描述 | 是否必须 |
accessToken | 设备云端获取的access token。 | 是 |
openUid | 被授权的开放ID,设备云端需要将该字段与用户账号一一对应起来存储, 其它协议中如果需要携带openUid字段时,则需要返回用户账号对应的openUid值, | 是 |
请求消息示例
DiscoverAppliancesResponse
当用户请求智能家居服务查找可用设备或可用场景时,智能家居服务需要返回DiscoverAppliancesResponse消息。 如果查找到设备时,会返回设备的相关信息,包括actions、applianceTypes、additionalApplianceDetails、applianceId、friendlyDescription、friendlyName等属性信息。如果没有找到设备时,会返回空数组。
Header信息
属性 | 取值 |
name | DiscoverAppliancesResponse |
namespace | YouZhuan.ConnectedHome.Discovery |
Payload信息
设备信息
属性 | 描述 | 是否必须 |
discoveredAppliances | 以对象数组返回客户关联设备云帐户的设备、场景。 如客户关联帐户没有设备、场景则返回空数组。 如果在发现过程中出现错误,字段值设置为null, | 是 |
discoveredAppliance.applianceTypes | 支持的设备、场景类型。 | 是 |
discoveredAppliance.applianceId | 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外,标识符需要在同一设备的多个发现请求之间保持一致。 | 是 |
discoveredAppliance.modelName | 设备型号名称 | 是 |
discoveredAppliance.version | 供应商提供的设备版本 | 是 |
discoveredAppliance.friendlyName | 用户用来识别设备的名称 | 是 |
discoveredAppliance.friendlyDescription | 设备相关的描述 | 是 |
discoveredAppliance.isReachable | 设备当前是否能够到达true表示设备当前可以到达,false表示当前设备不能到达。 | 是 |
discoveredAppliance.actions | 设备支持的操作类型数组。详细情况请参见 设备操作类型。 | 是 |
discoveredAppliance.additionalApplianceDetails | 提供给设备云使用,存放设备或场景相关的附加信息,是键值对。 | 是 |
discoveredAppliance.manufacturerName | 设备厂商的名字 | 是 |
discoveredAppliance.attributes | 是 | |
discoveredAppliance.attribute.name | 属性名称 | 是 |
discoveredAppliance.attribute.value | 属性值 | 是 |
discoveredAppliance.attribute.scale | 属性值的单位名称,支持数字、字母和下划线 | 是 |
discoveredAppliance.attribute.timestampOfSample | 属性值取样的时间戳,单位是秒 | 是 |
discoveredAppliance.attribute.uncertaintyInMilliseconds | 属性值取样的时间误差,单位是ms。如果设备使用的是轮询时间间隔的取样方式,那么uncertaintyInMilliseconds就等于时间间隔。如温度传感器每1秒取样1次,那么uncertaintyInMilliseconds的值就是1000。 | 是 |
最后更新于