# 温度

这些消息类型包含温度,并提供获取和设置设备温度的指令。 重要的是要注意,Smart Home Skill API始终将摄氏温度设置传递给您的技能适配器,而您的技能适配器应该以摄氏温度返回温度。 您还需要将温度保存至少两位小数,这能确保内部转换需要的足够精度。

  • GetTemperatureReadingRequest
  • GetTemperatureReadingResponse
  • GetTargetTemperatureRequest
  • GetTargetTemperatureResponse
  • SetTargetTemperatureRequest
  • SetTargetTemperatureConfirmation
  • IncrementTargetTemperatureRequest
  • IncrementTargetTemperatureConfirmation
  • DecrementTargetTemperatureRequest
  • DecrementTargetTemperatureConfirmation

# GetTemperatureReadingRequest

示例语句:
“小微,空调的温度现在是多少?”
目的:请求指定设备的温度读数。 从Smart Home Skill API发送到技能适配器。

Header

属性 值
name GetTemperatureReadingRequest
namespace SmartHome.Query

Payload

属性 描述 是否必需
accessToken 与客户的设备云账户相关的访问令牌。 是
appliance object 执行操作的设备。 是
appliance.applianceID 设备标识符。 标识符在技术适配器的域内的最终用户拥有的所有设备上必须是唯一的。 此外,标识符需要在同一设备的多个发现请求之间保持一致。 标识符可以包含任何字母或数字和以下特殊字符:_-=#;:?@&。 该值不能超过256个字符。 是
appliance.additionalApplianceDetails 提供关于技能适配器使用的设备的附加信息的字符串名称/值对。 该属性的内容不能超过5000字节。 而且,Smart Home Skill API即不理解也不使用这些数据。 是,但列表可以为空。

GetTemperatureReadingRequest示例:

{
        "header": {
            "messageId": "9422676d-2356-4aa7-aa88-c642f12bfcd6",
            "name": "GetTemperatureReadingRequest",
            "namespace": "SmartHome.Query",
            "payloadVersion":"2"
        },
        "payload": {
            "accessToken": "[OAuth token here]",
            "appliance": {
                "applianceId": "[Device ID for the specified thermostat, thermometer, or temperature sensor]",
                "additionalApplianceDetails": { }
            },
       }
}

# GetTemperatureReadingResponse

小微响应示例:“空调的温度是26摄氏度”
目的:说明指定设备的当前温度读数。 对GetTemperatureReadingRequest的预期响应,并从技能适配器发送到Smart Home Skill API。

Header

属性 值
name GetTemperatureReadingResponse
namespace SmartHome.Query

Payload

属性 描述 是否必需
temperatureReading object 表示来自指定设备的温度读数,以摄氏度为单位。 是
temperatureReading.value 浮点数,表示以摄氏度为单位的温度。 是
applianceResponseTimestamp 指示从目标设备检索到温度的最后更新时间。 这有助于表明响应的新鲜度,这可能会影响小微的响应。 该值的精度是特定于设备的,可以由技能适配器估计。 否

GetTemperatureReadingResponse示例:

{
    "header": {
        "messageId": "9422676d-2356-4aa7-aa88-c642f12bfcd6",
        "name": "GetTemperatureReadingResponse",
        "namespace": "SmartHome.Query",
        "payloadVersion":"2"
    },
    "payload": {
        "temperatureReading": {
            "value": 26.00
        }
        "applianceResponseTimestamp": "2017-05-12T00:20:50.52Z"
    }
}

# GetTargetTemperatureRequest

示例语句:
“小微,空调的温度设置到几度了?”
目的:请求指定设备的当前设定温度(设定值)。 从Smart Home Skill API发送到技能适配器。

Header

属性 值
name GetTargetTemperatureRequest
namespace SmartHome.Query

Payload

属性 描述 是否必需
accessToken 与客户的设备云账户相关的访问令牌。 是
appliance object 执行操作的设备。 是
appliance.applianceID 设备标识符。 标识符在技术适配器的域内的最终用户拥有的所有设备上必须是唯一的。 此外,标识符需要在同一设备的多个发现请求之间保持一致。 标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。 该值不能超过256个字符。 是
appliance.additionalApplianceDetails 提供关于技能适配器使用的设备的附加信息的字符串名称/值对。 该属性的内容不能超过5000字节。 而且,Smart Home Skill API即不理解也不使用这些数据。 是,但列表可以为空。

GetTargetTemperatureRequest示例:

{
        "header": {
            "messageId": "9422676d-2356-4aa7-aa88-c642f12bfcd6",
            "name": "GetTargetTemperatureRequest",
            "namespace": "SmartHome.Query",
            "payloadVersion":"2"
        },
        "payload": {
            "accessToken": "[OAuth token here]",
            "appliance": {
                "applianceId": "[Device ID for the specified thermostat, thermometer, or temperature sensor]",
                "additionalApplianceDetails": { }
            },
       }
}

# GetTargetTemperatureResponse

小微响应示例:“空调的设置温度是26摄氏度”
目的:提供指定设备的目标温度设置(设定值)。 对GetTargetTemperatureRequest的预期响应,并从技能适配器发送到Smart Home Skill API。

Header

属性 值
name GetTargetTemperatureResponse
namespace SmartHome.Query

Payload

属性 描述 是否必需
targetTemperature object 表示设备在单设定点模式下以摄氏度设置的目标温度。 否
temperatureReading.value 浮点数,表示目标温度(摄氏度)。 是,当temperatureReading.value存在时
coolingTargetTemperature object 表示制冷的目标温度(设定值),单位为摄像度,当设备具有双设定值时。 通常结合heatingTargetTemperature对象。 否
coolingTargetTemperature.value 浮点数,表示制冷的目标温度,单位为摄氏度。 是,当coolingTargetTemperature存在时
heatingTargetTemperature object 表示制热的目标温度(设定值),单位为摄像度,当设备具有双设定值时。 通常结合coolingTargetTemperature对象。 否
heatingTargetTemperature.value 浮点数,表示制热的目标温度,单位为摄氏度。 是,当heatingTargetTemperature存在时
temperatureMode object 表示设备设定的运行模式 是
temperatureMode.value 指示设备设置的温度模式的字符串。 有效值为:
AUTO:表示自动加热/冷却选择
COOL:表示冷却模式
HEAT:表示加热模式
ECO:表示经济模式
OFF:表示加热/冷却已关闭,尽管设备可能仍然有电
是
applianceResponseTimestamp 指示目标设备设定温度的最后更新时间。 这有助于表明响应的新鲜度,这可能会影响小微的响应。 该值的精度是特定于设备的,可以由技能适配器估计。 否

GetTargetTemperatureResponse单个设定值的示例:

{
    "header": {
        "messageId": "9422676d-2356-4aa7-aa88-c642f12bfcd6",
        "name": "GetTargetTemperatureResponse",
        "namespace": "SmartHome.Query",
        "payloadVersion":"2"
    },
    "payload": {
        "targetTemperature": {
            "value": 25.50
        },
        "temperatureMode": {
            "value": "HEAT"
        }
    }
}

GetTargetTemperatureResponse双设定值的示例:

{
    "header": {
        "messageId": "9422676d-2356-4aa7-aa88-c642f12bfcd6",
        "name": "GetTargetTemperaturesResponse",
        "namespace": "SmartHome.Query",
        "payloadVersion":"2"
    },
    "payload": {
        "coolingTargetTemperature": {
            "value": 26:00
        },
        "heatingTargetTemperature": {
            "value": 28:00
        },
        "temperatureMode": {
            "value": "AUTO"
        }
    }
}

GetTargetTemperatureResponse关闭模式时的示例:

{
    "header": {
        "messageId": "9422676d-2356-4aa7-aa88-c642f12bfcd6",
        "name": "GetTargetTemperatureResponse",
        "namespace": "SmartHome.Query",
        "payloadVersion":"2"
    },
    "payload": {
        "temperatureMode": {
            "value": "OFF"
        }
    }
}

# SetTargetTemperatureRequest

示例语句:
“小微,设置空调温度到25度”
目的:将指定设备设置为指定的温度,单位为摄氏度。 从Smart Home Skill API发送到技能适配器。

Header

属性 值
name SetTargetTemperatureRequest
namespace SmartHome.Control

Payload

属性 描述 是否必需
accessToken 与客户的设备云账户相关的访问令牌。 是
appliance object 执行操作的设备。 是
appliance.applianceID 设备标识符。 标识符在技术适配器的域内的最终用户拥有的所有设备上必须是唯一的。 此外,标识符需要在同一设备的多个发现请求之间保持一致。 标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。 该值不能超过256个字符。 是
appliance.additionalApplianceDetails 提供关于技能适配器使用的设备的附加信息的字符串名称/值对。 该属性的内容不能超过5000字节。 而且,Smart Home Skill API即不理解也不使用这些数据。 是,但列表可以为空。
targetTemperature 设置由applianceId指定的设备的目标温度(摄氏度)。 否
targetTemperature.value 一个浮点数,设定的目标温度 是
degree 对象描述为温度设置的程度。 否
degree.value 描述控制的程度。对应的值为string类型的max或者min 是

SetTargetTemperatureRequest示例:

    {
        "header": {
            "messageId": "9422676d-2356-4aa7-aa88-c642f12bfcd6",
            "name": "SetTargetTemperatureRequest",
            "namespace": "SmartHome.Control",
            "payloadVersion":"2"
        },
        "payload": {
            "accessToken": "[OAuth token here]",
            "appliance": {
                "additionalApplianceDetails": {},
                "applianceId": "[Device ID]"
            },
            "targetTemperature": {
                "value": 26.00
            }
            "degree": {
                "value": "min"
            }
        }
    }

# SetTargetTemperatureConfirmation

小微响应示例:“空调已设置成26摄氏度”
目的:表示目标温度设置成功。 对SetTargetTemperatureRequest的预期响应,并从技能适配器发送到Smart Home Skill API。

Header

属性 值
name SetTargetTemperatureConfirmation
namespace SmartHome.Control

Payload

属性 描述 是否必需
targetTemperature 指示设备设置的目标温度(以摄氏度为单位)的对象。 仅包含一个值是数字的属性value。 是
temperatureMode 指示设备设置的温度模式的对象。 包含单个属性value,其值为以下字符串之一:AUTO,COOL,HEAT。 是
previousState object 表示设备的先前模式和温度。 是
previousState.targetTemperature 指示设备设置的目标温度(以摄氏度为单位)的对象。 仅包含一个值是数字的属性value。 是
previousState. temperatureMode 指示设备设置的温度模式的对象。 包含单个属性value,其值为以下字符串之一:AUTO,COOL,HEAT。 是

SetTargetTemperatureConfirmation示例:

{
    "header": {
        "messageId": "9422676d-2356-4aa7-aa88-c642f12bfcd6",
        "name": "SetTargetTemperatureConfirmation",
        "namespace": "SmartHome.Control",
        "payloadVersion":"2"
    },
    "payload": {
        "targetTemperature": {
            "value": 25.0
        },
        "temperatureMode": {
            "value": "AUTO"
        },
        "previousState": {
            "targetTemperature": {
                "value": 21.0
            },
            "temperatureMode": {
                "value": "AUTO"
            }
        }
    }
}

# IncrementTargetTemperatureRequest

示例语句:
“小微,空调温度调高一度”
目的:请求指定设备的温度以指定的数量(摄氏度)升高。 从Smart Home Skill API发送到技能适配器。

Header

属性 值
name IncrementTargetTemperatureRequest
namespace SmartHome.Control

Payload

属性 描述 是否必需
accessToken 与客户的设备云账户相关的访问令牌。 是
appliance object 执行操作的设备。 是
appliance.applianceID 设备标识符。 标识符在技术适配器的域内的最终用户拥有的所有设备上必须是唯一的。 此外,标识符需要在同一设备的多个发现请求之间保持一致。 标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。 该值不能超过256个字符。 是
appliance.additionalApplianceDetails 提供关于技能适配器使用的设备的附加信息的字符串名称/值对。 该属性的内容不能超过5000字节。 而且,Smart Home Skill API即不理解也不使用这些数据。 是,但列表可以为空。
deltaTemperature 指示要增加的温度数值对象(以摄氏度表示)。 仅包含一个值为数字的属性value。 是

IncrementTargetTemperatureRequest示例:

    {
        "header": {
            "messageId": "9422676d-2356-4aa7-aa88-c642f12bfcd6",
            "name": "IncrementTargetTemperatureRequest",
            "namespace": "SmartHome.Control",
            "payloadVersion":"2"
        },
        "payload": {
            " deltaTemperature": {
                "value": 1.0
            },
            "accessToken": "[OAuth token here]",
            "appliance": {
                "additionalApplianceDetails": {},
                "applianceId": "[Device ID]"
            }
        }
    }

# IncrementTargetTemperatureConfirmation

小微响应示例:“好的”
目的:表示设备的目标温度成功增加。 这是对
IncrementTargetTemperatureRequest
的预期响应,并从技能适配器发送到Smart Home Skill API。

Header

属性 值
name IncrementTargetTemperatureConfirmation
namespace SmartHome.Control

Payload

属性 描述 是否必需
targetTemperature 指示设备设置的目标温度(以摄氏度为单位)的对象。 仅包含一个值是数字的属性value。 是
temperatureMode 指示设备设置的温度模式的对象。 包含单个属性value,其值为以下字符串之一:AUTO,COOL,HEAT。 是
previousState object 表示设备的先前模式和温度。 是
previousState.targetTemperature 指示设备设置的目标温度(以摄氏度为单位)的对象。 仅包含一个值是数字的属性value。 是
previousState. temperatureMode 指示设备设置的温度模式的对象。 包含单个属性value,其值为以下字符串之一:AUTO,COOL,HEAT。 是

IncrementTargetTemperatureConfirmation示例:

{
    "header": {
        "messageId": "9422676d-2356-4aa7-aa88-c642f12bfcd6",
        "name": "IncrementTargetTemperatureConfirmation",
        "namespace": "SmartHome.Control",
        "payloadVersion":"2"
    },
    "payload": {
        "targetTemperature": {
            "value": 25.0
        },
        "temperatureMode": {
            "value": "AUTO"
        },
        "previousState": {
            "targetTemperature": {
                "value": 21.0
            },
            "temperatureMode": {
                "value": "AUTO"
            }
        }
    }
}

# DecrementTargetTemperatureRequest

示例语句:
“小微,空调温度调低一度”
目的:请求指定设备的温度降低指定的数量,以摄氏度为单位。 从Smart Home Skill API发送到技能适配器。

Header

属性 值
name DecrementTargetTemperatureRequest
namespace SmartHome.Control

Payload

属性 描述 是否必需
accessToken 与客户的设备云账户相关的访问令牌。 是
appliance object 执行操作的设备。 是
appliance.applianceID 设备标识符。 标识符在技术适配器的域内的最终用户拥有的所有设备上必须是唯一的。 此外,标识符需要在同一设备的多个发现请求之间保持一致。 标识符可以包含任何字母或数字和以下特殊字符:_ - = # ; : ? @ &。 该值不能超过256个字符。 是
appliance.additionalApplianceDetails 提供关于技能适配器使用的设备的附加信息的字符串名称/值对。 该属性的内容不能超过5000字节。 而且,Smart Home Skill API即不理解也不使用这些数据。 是,但列表可以为空。
deltaTemperature 指示要降低的温度数值对象(以摄氏度表示)。 仅包含一个值为数字的属性value。 是

DecrementTargetTemperatureRequest示例:

    {
        "header": {
            "messageId": "9422676d-2356-4aa7-aa88-c642f12bfcd6",
            "name": "DecrementTargetTemperatureRequest",
            "namespace": "SmartHome.Control",
            "payloadVersion":"2"
        },
        "payload": {
            " deltaTemperature": {
                "value": 1.0
            },
            "accessToken": "[OAuth token here]",
            "appliance": {
                "additionalApplianceDetails": {},
                "applianceId": "[Device ID]"
            }
        }
    }

# DecrementTargetTemperatureConfirmation

小微响应示例:“好的”
目的:表示设备的目标温度成功降低。 这是对
DecrementTargetTemperatureRequest
的预期响应,并从技能适配器发送到Smart Home Skill API。

Header

属性 值
name DecrementTargetTemperatureConfirmation
namespace SmartHome.Control

Payload

属性 描述 是否必需
targetTemperature 指示设备设置的目标温度(以摄氏度为单位)的对象。 仅包含一个值是数字的属性value。 是
temperatureMode 指示设备设置的温度模式的对象。 包含单个属性value,其值为以下字符串之一:AUTO,COOL,HEAT。 是
previousState object 表示设备的先前模式和温度。 是
previousState.targetTemperature 指示设备设置的目标温度(以摄氏度为单位)的对象。 仅包含一个值是数字的属性value。 是
previousState. temperatureMode 指示设备设置的温度模式的对象。 包含单个属性value,其值为以下字符串之一:AUTO,COOL,HEAT。 是

DecrementTargetTemperatureConfirmation示例:

{
    "header": {
        "messageId": "9422676d-2356-4aa7-aa88-c642f12bfcd6",
        "name": "DecrementTargetTemperatureConfirmation",
        "namespace": "SmartHome.Control",
        "payloadVersion":"2"
    },
    "payload": {
        "targetTemperature": {
            "value": 25.0
        },
        "temperatureMode": {
            "value": "AUTO"
        },
        "previousState": {
            "targetTemperature": {
                "value": 21.0
            },
            "temperatureMode": {
                "value": "AUTO"
            }
        }
    }
}

#