# 音量

以下这些消息类型，以增加或减少的形式设置设备音量。

- SetVolumeRequest
- SetVolumeConfirmation
- IncrementVolumeRequest
- IncrementVolumeConfirmation
- DecrementVolumeRequest
- DecrementVolumeConfirmation
- MuteRequest
- MuteConfirmation
- UnmuteRequest
- UnmuteConfirmation



## SetVolumeRequest

**示例语句**：   
“小微，{设备名}音量调到50”
“小微，{设备名}音量调到最大”   
**目的**：请求以指定的值（最小值-最大值）调整指定设备的音量。 从Smart Home Skill API发送到技能适配器。

**Header**

| 属性      | 值                |
| --------- | ----------------- |
| name      | SetVolumeRequest  |
| namespace | SmartHome.Control |

**Payload**

| 属性                                 | 描述                                                         | 是否必需             |
| ------------------------------------ | ------------------------------------------------------------ | -------------------- |
| accessToken                          | 与客户的设备云账户相关的访问令牌。                           | 是                   |
| appliance object                     | 执行操作的设备。                                             | 是                   |
| appliance.applianceID                | 设备标识符。 标识符在技术适配器的域内的最终用户拥有的所有设备上必须是唯一的。 此外，标识符需要在同一设备的多个发现请求之间保持一致。 标识符可以包含任何字母或数字和以下特殊字符：_ - = # ; : ? @ &。 该值不能超过256个字符。 | 是                   |
| appliance.additionalApplianceDetails | 提供关于技能适配器使用的设备的附加信息的字符串名称/值对。 该属性的内容不能超过5000字节。 而且，Smart Home Skill API即不理解也不使用这些数据。 | 是，但列表可以为空。 |
| volume                               | 音量（deviceVolumeMin-deviceVolumeMax)(来源于发现设备时，厂商上传)。 | 否                   |

- SetVolumeRequest*示例：

```
    {
        "header": {
            "messageId": "9422676d-2356-4aa7-aa88-c642f12bfcd6",
            "name": "SetVolumeRequest",
            "namespace": "SmartHome.Control",
            "payloadVersion":"2"
        },
        "payload": {
            "accessToken": "[OAuth token here]",
            "appliance": {
                "additionalApplianceDetails": {},
                "applianceId": "[Device ID]"
            },
            "volume": {
                "value": 50
            }
        }
    }
```



## SetVolumeConfirmation

***小微响应示例*：“好的”   
**目的**：表示设备已成功调整了设备音量。 这是对* SetVolumeRequest*的预期响应，并从技能适配器发送到Smart Home Skill API。

**Header**

| 属性      | 值                    |
| --------- | --------------------- |
| name      | SetVolumeConfirmation |
| namespace | SmartHome.Control     |

**Payload**

| 属性               | 描述                           | 是否必需 |
| ------------------ | ------------------------------ | -------- |
| status 对象        | 调整了指定的音量后设备的状态。 | 是       |
| status.volumeValue | 当前设备的音量。               | 是       |
| status.deviceMute | 当前设备是否静音               | 是       |

*SetVolumeConfirmation*示例：

```
    {
        "header": {
            "messageId": "9422676d-2356-4aa7-aa88-c642f12bfcd6",
            "name": "SetVolumeConfirmation",
            "namespace": "SmartHome.Control",
            "payloadVersion":"2"
        },
        "payload": {
            "status": {
                "volumeValue": 50，
                "deviceMute":false
            }
        }
    }
```



## IncrementVolumeRequest

**示例语句**：   
“小微，{设备名}音量调高点” 
“小微，{设备名}音量调高10”     
**目的**：增加设备的音量。 从Smart Home Skill API发送到技能适配器。

**Header**

| 属性      | 值                     |
| --------- | ---------------------- |
| name      | IncrementVolumeRequest |
| namespace | SmartHome.Control      |

**Payload**

| 属性                                 | 描述                                                         | 是否必需             |
| ------------------------------------ | ------------------------------------------------------------ | -------------------- |
| accessToken                          | 与客户的设备云账户相关的访问令牌。                           | 是                   |
| appliance object                     | 执行操作的设备。                                             | 是                   |
| appliance.applianceID                | 设备标识符。 标识符在技术适配器的域内的最终用户拥有的所有设备上必须是唯一的。 此外，标识符需要在同一设备的多个发现请求之间保持一致。 标识符可以包含任何字母或数字和以下特殊字符：_ - = # ; : ? @ &。 该值不能超过256个字符。 | 是                   |
| appliance.additionalApplianceDetails | 提供关于技能适配器使用的设备的附加信息的字符串名称/值对。 该属性的内容不能超过5000字节。 而且，Smart Home Skill API即不理解也不使用这些数据。 | 是，但列表可以为空。 |
| deltaVolume                          | 增加的音量。                                                 | 否                   |

- IncrementVolumeRequest*示例：

```
    {
        "header": {
            "messageId": "9422676d-2356-4aa7-aa88-c642f12bfcd6",
            "name": "IncrementVolumeRequest",
            "namespace": "SmartHome.Control",
            "payloadVersion":"2"
        },
        "payload": {
            "accessToken": "[OAuth token here]",
            "appliance": {
                "additionalApplianceDetails": {},
                "applianceId": "[Device ID]"
            },
            "deltaVolume": {
                "value": 10
            }
        }
    }
```



## IncrementVolumeConfirmation

***小微响应示例*：“好的”   
**目的**：表示成功增加了设备音量。 这是对*IncrementVolumeRequest*的预期响应，并从技能适配器发送到Smart Home Skill API。

**Header**

| 属性      | 值                          |
| --------- | --------------------------- |
| name      | IncrementVolumeConfirmation |
| namespace | SmartHome.Control           |

**Payload**

| 属性               | 描述                     | 是否必需 |
| ------------------ | ------------------------ | -------- |
| status 对象        | 调整了音量后设备的状态。 | 是       |
| status.volumeValue | 当前设备的音量。         | 是       |
| status.deviceMute | 当前设备是否静音               | 是       |

- IncrementVolumeConfirmation*示例：

```
    {
        "header": {
            "messageId": "9422676d-2356-4aa7-aa88-c642f12bfcd6",
            "name": "IncrementVolumeConfirmation",
            "namespace": "SmartHome.Control",
            "payloadVersion":"2"
        },
        "payload": {
            "status": {
                "volumeValue": 50,
                "deviceMute":false
            }
        }
    }
```



## DecrementVolumeRequest

**示例语句**：   
“小微，{设备名}音量调低点” 
“小微，{设备名}音量调低10”   
**目的**：降低设备的音量。 从Smart Home Skill API发送到技能适配器。

**Header**

| 属性      | 值                     |
| --------- | ---------------------- |
| name      | DecrementVolumeRequest |
| namespace | SmartHome.Control      |

**Payload**

| 属性                                 | 描述                                                         | 是否必需             |
| ------------------------------------ | ------------------------------------------------------------ | -------------------- |
| accessToken                          | 与客户的设备云账户相关的访问令牌。                           | 是                   |
| appliance object                     | 执行操作的设备。                                             | 是                   |
| appliance.applianceID                | 设备标识符。 标识符在技术适配器的域内的最终用户拥有的所有设备上必须是唯一的。 此外，标识符需要在同一设备的多个发现请求之间保持一致。 标识符可以包含任何字母或数字和以下特殊字符：_ - = # ; : ? @ &。 该值不能超过256个字符。 | 是                   |
| appliance.additionalApplianceDetails | 提供关于技能适配器使用的设备的附加信息的字符串名称/值对。 该属性的内容不能超过5000字节。 而且，Smart Home Skill API即不理解也不使用这些数据。 | 是，但列表可以为空。 |
| deltaVolume                          | 降低的音量。                                                 | 否                   |

*DecrementVolumeRequest*示例：

```
    {
        "header": {
            "messageId": "9422676d-2356-4aa7-aa88-c642f12bfcd6",
            "name": "DecrementVolumeRequest",
            "namespace": "SmartHome.Control",
            "payloadVersion":"2"
        },
        "payload": {
            "accessToken": "[OAuth token here]",
            "appliance": {
                "additionalApplianceDetails": {},
                "applianceId": "[Device ID]"
            },
            "deltaVolume": {
                "value": 10
            }
        }
    }
```



## DecrementVolumeConfirmation

***小微响应示例*：“好的”   
**目的**：表示设备成功降低了设备音量。 这是对* DecrementVolumeRequest*的预期响应，并从技能适配器发送到Smart Home Skill API。

**Header**

| 属性      | 值                          |
| --------- | --------------------------- |
| name      | DecrementVolumeConfirmation |
| namespace | SmartHome.Control           |

**Payload**

| 属性               | 描述                     | 是否必需 |
| ------------------ | ------------------------ | -------- |
| status 对象        | 调整了音量后设备的状态。 | 是       |
| status.volumeValue | 当前设备的音量。         | 是       |
| status.deviceMute | 当前设备是否静音               | 是       |

*DecrementVolumeConfirmation*示例：

```
    {
        "header": {
            "messageId": "9422676d-2356-4aa7-aa88-c642f12bfcd6",
            "name": "DecrementVolumeConfirmation",
            "namespace": "SmartHome.Control",
            "payloadVersion":"2"
        },
        "payload": {
            "status": {
                "volumeValue": 50,
                "deviceMute":false
            }
        }
    }
```



## MuteRequest

**示例语句**：  
“小微，{设备名}静音”   
**目的**：请求设备静音。 从Smart Home Skill API发送到技能适配器。

**Header**

| 属性      | 值                |
| --------- | ----------------- |
| name      | MuteRequest       |
| namespace | SmartHome.Control |

**Payload**

| 属性                                 | 描述                                                         | 是否必需             |
| ------------------------------------ | ------------------------------------------------------------ | -------------------- |
| accessToken                          | 与客户的设备云账户相关的访问令牌。                           | 是                   |
| appliance object                     | 执行操作的设备。                                             | 是                   |
| appliance.applianceID                | 设备标识符。 标识符在技术适配器的域内的最终用户拥有的所有设备上必须是唯一的。 此外，标识符需要在同一设备的多个发现请求之间保持一致。 标识符可以包含任何字母或数字和以下特殊字符：_ - = # ; : ? @ &。 该值不能超过256个字符。 | 是                   |
| appliance.additionalApplianceDetails | 提供关于技能适配器使用的设备的附加信息的字符串名称/值对。 该属性的内容不能超过5000字节。 而且，Smart Home Skill API即不理解也不使用这些数据。 | 是，但列表可以为空。 |

*MuteRequest*示例：

```
    {
        "header": {
            "messageId": "9422676d-2356-4aa7-aa88-c642f12bfcd6",
            "name": "MuteRequest",
            "namespace": "SmartHome.Control",
            "payloadVersion":"2"
        },
        "payload": {
            "accessToken": "[OAuth token here]",
            "appliance": {
                "additionalApplianceDetails": {},
                "applianceId": "[Device ID]"
            }
        }
    }
```



## MuteConfirmation

**小微响应示例**：“好的”   
**目的**：表示设备已静音。 对于成功的MuteRequest，技能适配器对Smart Home Skill API的预期响应。

**Header**

| 属性      | 值                |
| --------- | ----------------- |
| name      | MuteConfirmation  |
| namespace | SmartHome.Control |

**Payload**

| 属性               | 描述                     | 是否必需 |
| ------------------ | ------------------------ | -------- |
| status 对象        | 调整了音量后设备的状态。 | 是       |
| status.volumeValue | 当前设备的音量。         | 是       |
| status.deviceMute | 当前设备是否静音               | 是       |

*MuteConfirmation*示例：

```
    {
        "header": {
            "messageId": "9422676d-2356-4aa7-aa88-c642f12bfcd6",
            "name": "MuteConfirmation",
            "namespace": "SmartHome.Control",
            "payloadVersion":"2"
        },
        "payload": {
            "status": {
                "volumeValue": 50,
                "deviceMute":true
            }
        }
    }
```



## UnmuteRequest

**示例语句**：  
“小微，{设备名}取消静音”   
目的：请求设备取消静音。 从Smart Home Skill API发送到技能适配器。

**Header**

| 属性      | 值                |
| --------- | ----------------- |
| name      | UnmutefRequest    |
| namespace | SmartHome.Control |

**Payload**

| 属性                                 | 描述                                                         | 是否必需             |
| ------------------------------------ | ------------------------------------------------------------ | -------------------- |
| accessToken                          | 与客户的设备云账户相关的访问令牌。                           | 是                   |
| appliance object                     | 执行操作的设备。                                             | 是                   |
| appliance.applianceID                | 设备标识符。 标识符在技术适配器的域内的最终用户拥有的所有设备上必须是唯一的。 此外，标识符需要在同一设备的多个发现请求之间保持一致。 标识符可以包含任何字母或数字和以下特殊字符：_ - = # ; : ? @ &。 该值不能超过256个字符。 | 是                   |
| appliance.additionalApplianceDetails | 提供关于技能适配器使用的设备的附加信息的字符串名称/值对。 该属性的内容不能超过5000字节。 而且，Smart Home Skill API即不理解也不使用这些数据。 | 是，但列表可以为空。 |

*UnmuteRequest*示例：

```
    {
        "header": {
            "messageId": "9422676d-2356-4aa7-aa88-c642f12bfcd6",
            "name": "UnmuteRequest",
            "namespace": "SmartHome.Control",
            "payloadVersion":"2"
        },
        "payload": {
            "accessToken": "[OAuth token here]",
            "appliance": {
                "additionalApplianceDetails": {},
                "applianceId": "[Device ID]"
            }
        }
    }
```



## UnmuteConfirmation

**小微响应示例**：“好的”   
**目的**：表示设备已取消静音。 对于成功的UnmuteRequest，技能适配器对Smart Home Skill API的预期响应。

**Header**

| 属性      | 值                 |
| --------- | ------------------ |
| name      | UnmuteConfirmation |
| namespace | SmartHome.Control  |

**Payload**

| 属性               | 描述                     | 是否必需 |
| ------------------ | ------------------------ | -------- |
| status 对象        | 调整了音量后设备的状态。 | 是       |
| status.volumeValue | 当前设备的音量。         | 是       |
| status.deviceMute | 当前设备是否静音               | 是       |

*UnmuteConfirmation*示例：

```
    {
        "header": {
            "messageId": "9422676d-2356-4aa7-aa88-c642f12bfcd6",
            "name": "UnmuteConfirmation",
            "namespace": "SmartHome.Control",
            "payloadVersion":"2"
        },
        "payload": {
            "status": {
                "volumeValue": 50,
                "deviceMute":false
            }
        }
    }
```

###
