# 颜色

以下指令要求并响应对可变色光的色调的变化。 照明颜色以色相，饱和度，亮度（HSB）值进行测量。

- SetColorRequest 

- SetColorConfirmation 



## SetColorRequest

**示例语句**：   
“小微, 帮我设置{设备名}的灯光颜色为白色”   
“小微, 卧室灯颜色设置为白色”   
**目的**：在指定的设备上请求照明颜色更改。 从Smart Home Skill API 发送到技能适配器。

**Header**

| 属性      | 值                |
| --------- | ----------------- |
| name      | SetColorRequest   |
| namespace | SmartHome.Control |

**Payload**

| 属性                                 | 描述                                                         | 是否必需             |
| ------------------------------------ | ------------------------------------------------------------ | -------------------- |
| accessToken                          | 与客户的设备云账户相关的访问令牌。                           | 是                   |
| appliance object                     | 执行操作的设备。                                             | 是                   |
| appliance.applianceID                | 设备标识符。 标识符在技术适配器的域内的最终用户拥有的所有设备上必须是唯一的。 此外，标识符需要在同一设备的多个发现请求之间保持一致。 标识符可以包含任何字母或数字和以下特殊字符：_ - = # ; : ? @ &。 该值不能超过256个字符。 | 是                   |
| appliance.additionalApplianceDetails | 提供关于技能适配器使用的设备的附加信息的字符串名称/值对。 该属性的内容不能超过5000字节。 而且，Smart Home Skill API即不理解也不使用这些数据。 | 是，但列表可以为空。 |
| color object                         | 描述为灯设置的颜色。 在色相，饱和度，亮度（HSB）颜色模型中指定。 | 是                   |
| color.hue                            | double类型，表示需要设置的色调。 有效范围为0.00〜360.00（含）。 | 是                   |
| color.saturation                     | double类型，表示需要设置的饱和度。 有效范围为0.0000至1.0000（含）。 | 是                   |
| color.brightness                     | double类型，表示需要设置的亮度。 有效范围为0.0000至1.0000（含）。 | 是                   |

*SetColorRequest*示例：

```
{
  "header": {
    "messageId": "9422676d-2356-4aa7-aa88-c642f12bfcd6",
    "namespace": "SmartHome.Control",
    "name": "SetColorRequest",
    "payloadVersion": "2"
  },
  "payload": {
    "accessToken": "[OAuth Token here]",
    "appliance": {
      "applianceId": "[Device ID for RGB-capable bulb]",
      "additionalApplianceDetails": {}
    },
    "color": {
      "hue": 0.0,
      "saturation": 1.0000,
      "brightness": 1.0000
    }
  }
}
```



## SetColorConfirmation

**小微响应示例**：“好的”   
**目的**：表示设备已成功更改为请求的颜色。 对SetColorRequest的预期响应，并从技能适配器发送到Smart Home Skill API。

**Header**

| 属性      | 值                   |
| --------- | -------------------- |
| name      | SetColorConfirmation |
| namespace | SmartHome.Control    |

**Payload**

| 属性                | 描述                                                         | 是否必需 |
| ------------------- | ------------------------------------------------------------ | -------- |
| status object       | 指示颜色更改后设备的状态。 此对象是必需的，但请注意，如果无法查询设备的状态，或者不希望引起查询的额外延迟，则可以返回SetColorRequest中发送的值。 | 是       |
| status.color object | 表示颜色变化后设备的颜色。                                   | 是       |
| color.hue           | double类型，表示设置后的色调。 有效范围为0.00〜360.00（含）。 | 是       |
| color.saturation    | double类型，表示设置后的饱和度。 有效范围为0.0000至1.0000（含）。 | 是       |
| color.brightness    | double类型，表示设置后的亮度。 有效范围为0.0000至1.0000（含）。 | 是       |

*SetColorConfirmation*示例：

```
{
  "header": {
    "messageId": "9422676d-2356-4aa7-aa88-c642f12bfcd6",
    "namespace": "SmartHome.Control",
    "name": "SetColorConfirmation",
    "payloadVersion": "2"
  },
  "payload": {
    "status": {
      "color": {
        "hue": 0.0,
         "saturation": 1.0000,
         "brightness": 1.0000
      }
    }
  }
}
```
