ThermostatEco 架构
sdm.devices.traits.ThermostatEco
此特征属于支持 ECO 模式的 THERMOSTAT 设备类型。
字段
字段 | 说明 | 数据类型 |
---|---|---|
availableModes |
受支持的节能模式列表。 | array(string) 值:["MANUAL_ECO", "OFF"] |
mode |
温控器目前的节能模式。 | string 值:“MANUAL_ECO”、“OFF” |
heatCelsius |
温控器在节能模式下开始供暖的最低温度(摄氏度)。 | number 示例:20.0 |
coolCelsius |
最高温度(摄氏度),温控器在节能模式下开始制冷。 | number 示例:22.0 |
示例 GET 请求和响应
请求
GET /enterprises/project-id/devices/device-id
响应
{
"name" : "enterprises/project-id/devices/device-id",
"traits" : {
"sdm.devices.traits.ThermostatEco
" : {
"availableModes" : ["MANUAL_ECO", "OFF"],
"mode" : "MANUAL_ECO",
"heatCelsius" : 20.0,
"coolCelsius" : 22.0
}
}
}
命令
SetMode
调节温控器的节能模式。
如需将温控器模式更改为 HEAT、COOL 或 HEATCOOL,请使用 ThermostatMode 特征的 SetMode 命令。
此命令会影响其他特征,具体取决于节能模式的当前状态或节能模式的变化:
- 如果节能模式处于关闭状态,温控器模式将默认采用上次启用的标准模式(HEAT、COOL、HEATCOOL 或 OFF)。
- 如果节能模式为 MANUAL_ECO:
- 针对“ ThermostatTemperatureSetpoint ”特征的命令已被拒绝。
- ThermostatTemperatureSetpoint 特征不会返回温度设定值。
SetMode 请求和响应
请求
POST /enterprises/project-id/devices/device-id:executeCommand
{
"command" : "sdm.devices.commands.ThermostatEco.SetMode
",
"params" : {
"mode" : "MANUAL_ECO"
}
}
响应
{}
SetMode 请求字段
字段 | 说明 | 数据类型 |
---|---|---|
mode |
要将温控器更改为的节能模式。 | string 值:“MANUAL_ECO”、“OFF” |
错误
系统可能会返回与此 trait 相关的以下错误代码:
错误消息 | RPC | 问题排查 |
---|---|---|
不允许在当前温控器模式下执行该命令。 | FAILED_PRECONDITION |
根据 ThermostatMode 特征,某些温控器型号不支持在温控器关闭时更改节能模式。必须先将温控器模式更改为制热、制冷或制热,然后才能更改节能模式。 |
当温控器处于 MANUAL_ECO 模式时,不允许使用该命令。 | FAILED_PRECONDITION |
当温控器处于手动节能模式时,无法设置温度设定值。 |
请参阅 API 错误代码参考 API 错误代码的完整列表。