# 色温

以下指令请求并响应可调白光的色温变化。 可调的白光是一种光，您可以调整白色的“温度”。 色温值用开尔文测量。 Smart Home Skill API支持2200K（暖白）至7000K（冷白）的值，其中2700K相当于柔和的白色紧凑型荧光灯或LED灯。
- SetColorTemperatureRequest
- SetColorTemperatureConfirmation
- IncrementColorTemperatureRequest 
- IncrementColorTemperatureConfirmation 
- DecrementColorTemperatureRequest 
- DecrementColorTemperatureConfirmation

需要注意的是：

增量色温请求是当客户要求更冷色温时发送的指令，这导致更高的色温值。

相反降低色温的请求是当客户要求更暖的光线时发出的指令，这导致较低的色温值。



## SetColorTemperatureRequest

**示例语句**：
“小微，设置客厅灯为暖光”   
**目的**：请求将指定设备的色温更改为指定设置。从Smart Home Skill API发送到技能适配器。下表列出了智能家居技巧API会发送的一些可能的色温请求和相关值。如果您的照明设备不支持请求的值，建议您将设备设置为最接近的值。   

| 白色色调 | 温度值（开氏度） |
| -------- | ---------------- |
| 暖光     | 2200             |
| 柔光     | 2700             |
| 白光     | 4000             |
| 日光     | 5500             |
| 冷光     | 7000             |

**Header**

| 属性      | 值                         |
| --------- | -------------------------- |
| name      | SetColorTemperatureRequest |
| namespace | SmartHome.Control          |

**Payload**

| 属性                                 | 描述                                                         | 是否必需             |
| ------------------------------------ | ------------------------------------------------------------ | -------------------- |
| accessToken                          | 与客户的设备云账户相关的访问令牌。                           | 是                   |
| appliance object                     | 执行操作的设备。                                             | 是                   |
| appliance.applianceID                | 设备标识符。 标识符在技术适配器的域内的最终用户拥有的所有设备上必须是唯一的。 此外，标识符需要在同一设备的多个发现请求之间保持一致。 标识符可以包含任何字母或数字和以下特殊字符：_ - = # ; : ? @ &。 该值不能超过256个字符。 | 是                   |
| appliance.additionalApplianceDetails | 提供关于技能适配器使用的设备的附加信息的字符串名称/值对。 该属性的内容不能超过5000字节。 而且，Smart Home Skill API即不理解也不使用这些数据。 | 是，但列表可以为空。 |
| colorTemperature                     | 对象描述为灯设置的色温。以开尔文度表示。                     | 否                   |
| colorTemperature.value               | 以开尔文度表示所请求的色温的整数。有效范围为1000～10000(含)。 | 是                   |
| degree                               | 对象描述为色温设置的程度。                                   | 否                   |
| degree.value                         | 描述控制的程度。对应的值为string类型的max或者min。           | 是                   |

*SetColorTemperatureRequest*示例：

```
{
  "header": {
    "messageId": "9422676d-2356-4aa7-aa88-c642f12bfcd6",
    "name": "SetColorTemperatureRequest",
    "namespace": "SmartHome.Control",
    "payloadVersion": "2"
  },
  "payload": {
    "accessToken": "[OAuth Token here]",
    "appliance": {
      "additionalApplianceDetails": {},
      "applianceId": "[Device ID]"
    },
    "colorTemperature": {
      "value": 2700
    },
    "degree": {
      "value": "min"
    }
  }
}
```



## SetColorTemperatureConfirmation

**小微响应示例**：“好的”   
**目的**：表示设备已成功更改为要求的色温。对*SetColorTemperatureRequest*的预期响应，并从技能适配器发送到Smart Home Skill API。

**Header**

| 属性      | 值                              |
| --------- | ------------------------------- |
| name      | SetColorTemperatureConfirmation |
| namespace | SmartHome.Control               |

**Payload**

| 属性                        | 描述                                                         | 是否必需 |
| --------------------------- | ------------------------------------------------------------ | -------- |
| status对象                  | 指示颜色更改后设备的状态。此对象是必需的，但请注意，如果无法查询设备的状态，或者不希望引起查询的额外延迟，则可以返回*SetColorTemperatureRequest*中发送的值。 | 是       |
| status.colorTemperature对象 | 表示颜色变化后设备的色温。                                   | 是       |
| colorTemperature.value      | 表示以开尔文度为单位的色温设置的整数。有效范围为1000〜10000（含）。 | 是       |

*SetColorTemperatureConfirmation*示例：

```
{
  "header": {
    "messageId": "9422676d-2356-4aa7-aa88-c642f12bfcd6",
    "name": "SetColorTemperatureConfirmation",
    "namespace": "SmartHome.Control",
    "payloadVersion": "2"
  },
  "payload": {
    "status": {
      "colorTemperature": {
        "value": 2700
      }
    }
  }
}
```



## IncrementColorTemperatureRequest

**示例语句**：   
“小微，把客厅灯设置的更冷一些”   
**目的**：要求将指定设备的色温设置为较冷的灯光设置，这意味着提高设备的开尔文温度值。从Smart Home Skill API发送到技能适配器。此指令不指定特定设置，但要求相对于当前设备设置的更冷/更白的设置。您可以根据当前的设置，功能和其他值选择多少调整指定设备的设置。如果设备不能进一步增加，请将其设置为其最大色温。如果您收到此指令，并且指定的设备当前设置为颜色，则应返回NotSupportedInCurrentModeError，将currentDeviceMode设置为COLOR。

**Header**

| 属性      | 值                               |
| --------- | -------------------------------- |
| name      | IncrementColorTemperatureRequest |
| namespace | SmartHome.Control                |

**Payload**

| 属性                                 | 描述                                                         | 是否必需             |
| ------------------------------------ | ------------------------------------------------------------ | -------------------- |
| accessToken                          | 与客户的设备云账户相关的访问令牌。                           | 是                   |
| appliance object                     | 执行操作的设备。                                             | 是                   |
| appliance.applianceID                | 设备标识符。 标识符在技术适配器的域内的最终用户拥有的所有设备上必须是唯一的。 此外，标识符需要在同一设备的多个发现请求之间保持一致。 标识符可以包含任何字母或数字和以下特殊字符：_ - = # ; : ? @ &。 该值不能超过256个字符。 | 是                   |
| appliance.additionalApplianceDetails | 提供关于技能适配器使用的设备的附加信息的字符串名称/值对。 该属性的内容不能超过5000字节。 而且，Smart Home Skill API即不理解也不使用这些数据。 | 是，但列表可以为空。 |

*IncrementColorTemperatureRequest*示例：

```
{
  "header": {
    "messageId": "9422676d-2356-4aa7-aa88-c642f12bfcd6",
    "name": "IncrementColorTemperatureRequest",
    "namespace": "SmartHome.Control",
    "payloadVersion": "2"
  },
  "payload": {
    "accessToken": "[OAuth Token here]",
    "appliance": {
      "additionalApplianceDetails": {},
      "applianceId": "[Device ID]"
    }
  }
}
```



## IncrementColorTemperatureConfirmation

**小微响应示例**：“好的”   
**目的**：表示设备已成功提高了色温。对*IncrementColorTemperatureRequest*的预期响应，并从技能适配器发送到Smart Home Skill API。

**Header**

| 属性      | 值                                    |
| --------- | ------------------------------------- |
| name      | IncrementColorTemperatureConfirmation |
| namespace | SmartHome.Control                     |

**Payload**

| 属性                        | 描述                                                         | 是否必需 |
| --------------------------- | ------------------------------------------------------------ | -------- |
| status对象                  | 指示色温提高后设备的状态。                                   | 是       |
| status.colorTemperature对象 | 表示色温提高后设备的色温。                                   | 是       |
| colorTemperature.value      | 表示以开尔文度为单位的色温设置的整数。有效范围为1000〜10000（含）。 | 是       |

*IncrementColorTemperatureConfirmation*示例：

```
{
  "header": {
    "messageId": "9422676d-2356-4aa7-aa88-c642f12bfcd6",
    "name": "IncrementColorTemperatureConfirmation",
    "namespace": "SmartHome.Control",
    "payloadVersion": "2"
  },
  "payload": {
    "status": {
      "colorTemperature": {
        "value": 2700
      }
    }
  }
}
```



## DecrementColorTemperatureRequest

**示例语句**：   
“小微，把客厅灯设置的更暖一些”   
**目的**：要求将指定设备的色温设置为较暖的灯光设置，这意味着降低设备的开尔文温度值。从Smart Home Skill API发送到技能适配器。此指令不指定特定设置，但要求相对于当前设备设置的更暖／更柔的设置。您可以根据当前的设置，功能和其他值选择多少调整指定设备的设置。如果设备不能进一步降低，请将其设置为其最小色温。如果您收到此指令，并且指定的设备当前设置为颜色，则应返回NotSupportedInCurrentModeError，将currentDeviceMode设置为COLOR。 

**Header**

| 属性      | 值                               |
| --------- | -------------------------------- |
| name      | DecrementColorTemperatureRequest |
| namespace | SmartHome.Control                |

**Payload**

| 属性                                 | 描述                                                         | 是否必需             |
| ------------------------------------ | ------------------------------------------------------------ | -------------------- |
| accessToken                          | 与客户的设备云账户相关的访问令牌。                           | 是                   |
| appliance object                     | 执行操作的设备。                                             | 是                   |
| appliance.applianceID                | 设备标识符。 标识符在技术适配器的域内的最终用户拥有的所有设备上必须是唯一的。 此外，标识符需要在同一设备的多个发现请求之间保持一致。 标识符可以包含任何字母或数字和以下特殊字符：_ - = # ; : ? @ &。 该值不能超过256个字符。 | 是                   |
| appliance.additionalApplianceDetails | 提供关于技能适配器使用的设备的附加信息的字符串名称/值对。 该属性的内容不能超过5000字节。 而且，Smart Home Skill API即不理解也不使用这些数据。 | 是，但列表可以为空。 |

*DecrementColorTemperatureRequest*示例：

```
{
  "header": {
    "messageId": "9422676d-2356-4aa7-aa88-c642f12bfcd6",
    "name": "DecrementColorTemperatureRequest",
    "namespace": "SmartHome.Control",
    "payloadVersion": "2"
  },
  "payload": {
    "accessToken": "[OAuth Token here]",
    "appliance": {
      "additionalApplianceDetails": {},
      "applianceId": "[Device ID]",
    }
  }
}
```



## DecrementColorTemperatureConfirmation

**小微响应示例**：“好的”   
**目的**：表示设备已成功降低了色温。对*DecrementColorTemperatureRequest*的预期响应，并从技能适配器发送到Smart Home Skill API。

**Header**

| 属性      | 值                                    |
| --------- | ------------------------------------- |
| name      | DecrementColorTemperatureConfirmation |
| namespace | SmartHome.Control                     |

**Payload**

| 属性                        | 描述                                                         | 是否必需 |
| --------------------------- | ------------------------------------------------------------ | -------- |
| status对象                  | 指示色温降低后设备的状态。                                   | 是       |
| status.colorTemperature对象 | 表示色温降低后设备的色温。                                   | 是       |
| colorTemperature.value      | 表示以开尔文度为单位的色温设置的整数。有效范围为1000〜10000（含）。 | 是       |

*DecrementColorTemperatureConfirmation*示例：

```
{
  "header": {
    "messageId": "9422676d-2356-4aa7-aa88-c642f12bfcd6",
    "name": "DecrementColorTemperatureConfirmation",
    "namespace": "SmartHome.Control",
    "payloadVersion": "2"
  },
  "payload": {
    "status": {
      "colorTemperature": {
        "value": 2700
      }
    }
  }
}
```
