发现设备
发现设备协议说明
最后更新于
发现设备消息用于查找用户可用的智能设备、可以使用的场景,有DiscoverAppliancesRequest和DiscoverAppliancesResponse两个指令。DiscoverAppliancesRequest指令是发出查找设备请求,DiscoverAppliancesResponse指令回复查找到的设备。 如果客户平台的用户设备信息变更时,可以通过右转提供的异步接口发送通知,触发更新用户设备信息同步到右转主机。
当用户查找设备时,右转主机会将该消息发送给智能家居服务商。另外,用户每次在右转主机刷新或其他情况下获取设备时,此消息会触发一次。
当用户请求智能家居服务查找可用设备或可用场景时,智能家居服务需要返回DiscoverAppliancesResponse消息。 如果查找到设备时,会返回设备的相关信息,包括actions、applianceTypes、additionalApplianceDetails、applianceId、friendlyDescription、friendlyName等属性信息。如果没有找到设备时,会返回空数组。
设备信息
属性
取值
name
DiscoverAppliancesRequest
namespace
YouZhuan.ConnectedHome.Discovery
属性
描述
是否必须
accessToken
设备云端获取的access token。
是
openUid
被授权的开放ID,设备云端需要将该字段与用户账号一一对应起来存储,
其它协议中如果需要携带openUid字段时,则需要返回用户账号对应的openUid值,
是
属性
取值
name
DiscoverAppliancesResponse
namespace
YouZhuan.ConnectedHome.Discovery
属性
描述
是否必须
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。
是