> For the complete documentation index, see [llms.txt](https://doc.youzhuan.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.youzhuan.net/dev-link-host/zhi-neng-jia-ju-xie-yi/fa-xian-she-bei.md).

# 发现设备

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

## DiscoverAppliancesRequest

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

### Header信息

| **属性**    | **取值**                           |
| --------- | -------------------------------- |
| name      | DiscoverAppliancesRequest        |
| namespace | YouZhuan.ConnectedHome.Discovery |

### Payload信息

| **属性**      | **描述**                                                                                     | **是否必须** |
| ----------- | ------------------------------------------------------------------------------------------ | -------- |
| accessToken | 设备云端获取的access token。                                                                       | 是        |
| openUid     | <p>被授权的开放ID，设备云端需要将该字段与用户账号一一对应起来存储，</p><p>其它协议中如果需要携带openUid字段时，则需要返回用户账号对应的openUid值，</p> | 是        |

### 请求消息示例

```markup
{
    "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                                    | <p>以对象数组返回客户关联设备云帐户的设备、场景。</p><p>如客户关联帐户没有设备、场景则返回空数组。</p><p>如果在发现过程中出现错误，字段值设置为null,</p>                                                                                                                                                               | 是        |
| discoveredAppliance.applianceTypes                      | [支持的设备](/dev-link-host/zhi-neng-jia-ju-xie-yi/mu-qian-zhi-chi-de-she-bei.md)、场景类型。                                                                                                                                                                      | 是        |
| discoveredAppliance.applianceId                         | 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外，标识符需要在同一设备的多个发现请求之间保持一致。                                                                                                                                                                                                  | 是        |
| discoveredAppliance.modelName                           | 设备型号名称                                                                                                                                                                                                                                                  | 是        |
| discoveredAppliance.version                             | 供应商提供的设备版本                                                                                                                                                                                                                                              | 是        |
| discoveredAppliance.friendlyName                        | 用户用来识别设备的名称                                                                                                                                                                                                                                             | 是        |
| discoveredAppliance.friendlyDescription                 | 设备相关的描述                                                                                                                                                                                                                                                 | 是        |
| discoveredAppliance.isReachable                         | 设备当前是否能够到达true表示设备当前可以到达，false表示当前设备不能到达。                                                                                                                                                                                                               | 是        |
| discoveredAppliance.actions                             | 设备支持的操作类型数组。详细情况请参见[ 设备操作类型](/dev-link-host/zhi-neng-jia-ju-xie-yi/zhi-chi-de-cao-zuo-lei-xing.md)。                                                                                                                                                     | 是        |
| discoveredAppliance.additionalApplianceDetails          | 提供给设备云使用，存放设备或场景相关的附加信息，是键值对。                                                                                                                                                                                                                           | 是        |
| discoveredAppliance.manufacturerName                    | 设备厂商的名字                                                                                                                                                                                                                                                 | 是        |
| discoveredAppliance.attributes                          | 设备的属性信息。当设备没有属性信息时，协议中不需要传入该字段。详细信息请参考[设备属性](https://dueros.baidu.com/didp/doc/dueros-bot-platform/dbp-smart-home/protocol/attributes.md)及[设备属性上报](https://dueros.baidu.com/didp/doc/dueros-bot-platform/dbp-smart-home/protocol/attributes-report.md)。 | 是        |
| discoveredAppliance.attribute.name                      | 属性名称                                                                                                                                                                                                                                                    | 是        |
| discoveredAppliance.attribute.value                     | 属性值                                                                                                                                                                                                                                                     | 是        |
| discoveredAppliance.attribute.scale                     | 属性值的单位名称，支持数字、字母和下划线                                                                                                                                                                                                                                    | 是        |
| discoveredAppliance.attribute.timestampOfSample         | 属性值取样的时间戳，单位是秒                                                                                                                                                                                                                                          | 是        |
| discoveredAppliance.attribute.uncertaintyInMilliseconds | 属性值取样的时间误差，单位是ms。如果设备使用的是轮询时间间隔的取样方式，那么uncertaintyInMilliseconds就等于时间间隔。如温度传感器每1秒取样1次，那么uncertaintyInMilliseconds的值就是1000。                                                                                                                              | 是        |
