ThermostatEco 架构
sdm.devices.traits.ThermostatEco
此特征属于支持节能模式的温控器设备类型。
字段
| 字段 | 说明 | 数据类型 | 
|---|---|---|
| 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” | 
错误
可能会返回与此特征相关的以下错误代码:
| 错误消息 | RPC | 问题排查 | 
|---|---|---|
| 当前温控器模式不允许使用该命令。 | FAILED_PRECONDITION | 根据 ThermostatMode 特征,某些温控器型号在温控器模式为 OFF 时不支持更改节能模式。在更改节能模式之前,必须将温控器模式更改为 HEAT、COOL 或 HEATCOOL。 | 
| 当温控器处于 MANUAL_ECO 模式时,不允许使用此命令。 | FAILED_PRECONDITION | 当温控器处于手动节能模式时,无法设置温度设定值。 | 
如需查看完整的 API 错误代码列表,请参阅 API 错误代码参考文档。
