发现设备

发现设备协议说明

发现设备消息用于查找用户可用的智能设备、可以使用的场景,有DiscoverAppliancesRequest和DiscoverAppliancesResponse两个指令。DiscoverAppliancesRequest指令是发出查找设备请求,DiscoverAppliancesResponse指令回复查找到的设备。 如果客户平台的用户设备信息变更时,可以通过右转提供的异步接口发送通知,触发更新用户设备信息同步到右转主机。

DiscoverAppliancesRequest

当用户查找设备时,右转主机会将该消息发送给智能家居服务商。另外,用户每次在右转主机刷新或其他情况下获取设备时,此消息会触发一次。

Header信息

属性

取值

name

DiscoverAppliancesRequest

namespace

YouZhuan.ConnectedHome.Discovery

Payload信息

属性

描述

是否必须

accessToken

设备云端获取的access token。

openUid

被授权的开放ID,设备云端需要将该字段与用户账号一一对应起来存储,

其它协议中如果需要携带openUid字段时,则需要返回用户账号对应的openUid值,

请求消息示例

{
    "header": {
        "namespace": "YouZhuan.ConnectedHome.Discovery",
        "name": "DiscoverAppliancesRequest",
        "messageId": "6d6d6e14-8aee-473e-8c24-0d31ff9c17a2",
        "payloadVersion": "1"
    },
    "payload": {
        "accessToken": "[OAuth Token here]",
        "openUid": "account_YouZhuan_company"
    }
}

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。

最后更新于