ThermostatTemperatureSetpoint 結構定義
sdm.devices.traits.ThermostatTemperatureSetpoint
這項特徵屬於支援設定目標溫度和溫度範圍的 THERMOSTAT 裝置類型。
欄位
欄位 | 說明 | 資料類型 |
---|---|---|
heatCelsius |
溫度控制器在暖氣和冷暖模式下的目標溫度 (攝氏)。 | number 範例:20.0 |
coolCelsius |
溫度控制器在冷氣和冷暖模式下的目標溫度 (攝氏)。 | number 範例:22.0 |
GET 要求和回應範例 - HEAT
要求
GET /enterprises/project-id/devices/device-id
回應
{
"name" : "enterprises/project-id/devices/device-id",
"traits" : {
"sdm.devices.traits.ThermostatTemperatureSetpoint
" : {
"heatCelsius" : 20.0,
}
}
}
GET 要求和回應範例 - COOL
要求
GET /enterprises/project-id/devices/device-id
回應
{
"name" : "enterprises/project-id/devices/device-id",
"traits" : {
"sdm.devices.traits.ThermostatTemperatureSetpoint
" : {
"coolCelsius" : 22.0
}
}
}
GET 要求和回應範例 - HEATCOOL
要求
GET /enterprises/project-id/devices/device-id
回應
{
"name" : "enterprises/project-id/devices/device-id",
"traits" : {
"sdm.devices.traits.ThermostatTemperatureSetpoint
" : {
"heatCelsius" : 20.0,
"coolCelsius" : 22.0
}
}
}
指令
變更溫度設定點前,溫度控制器必須處於與所呼叫指令相應的模式。變更設定點的指令和欄位會因溫度控制器模式而異。
舉例來說,如要發出 SetHeat 指令,溫度控制器必須先處於暖氣模式:
模式 | 指令 | 欄位 |
---|---|---|
加熱 | SetHeat | heatCelsius |
COOL | SetCool | coolCelsius |
HEATCOOL | SetRange | heatCelsius 、coolCelsius |
請注意,設定點指令只會將攝氏溫度做為參數,但 Google Nest 溫度控制器可以顯示攝氏或華氏溫度。
如果溫度控制器處於節能模式,系統會拒絕所有「All Set*」指令。SetHeat
在溫度控制器處於「暖氣」模式時,設定目標溫度。
SetHeat 要求和回應
要求
POST /enterprises/project-id/devices/device-id:executeCommand
{
"command" : "sdm.devices.commands.ThermostatTemperatureSetpoint.SetHeat
",
"params" : {
"heatCelsius" : 22.0
}
}
回應
{}
SetHeat 要求欄位
欄位 | 說明 | 資料類型 |
---|---|---|
heatCelsius |
溫度控制器處於「暖氣」模式時要設定的目標溫度。 | number 範例:22.0 |
SetCool
設定溫度控制器處於「冷氣」模式時的目標溫度。
SetCool 要求和回應
要求
POST /enterprises/project-id/devices/device-id:executeCommand
{
"command" : "sdm.devices.commands.ThermostatTemperatureSetpoint.SetCool
",
"params" : {
"coolCelsius" : 20.0
}
}
回應
{}
設定 Cool 要求欄位
欄位 | 說明 | 資料類型 |
---|---|---|
coolCelsius |
溫度控制器處於冷氣模式時要設定的目標溫度。 | number 範例:20.0 |
SetRange
設定溫度控制器處於「自動」模式時的最低和最高溫度。
SetRange 要求和回應
要求
POST /enterprises/project-id/devices/device-id:executeCommand
{
"command" : "sdm.devices.commands.ThermostatTemperatureSetpoint.SetRange
",
"params" : {
"heatCelsius" : 20.0,
"coolCelsius" : 22.0
}
}
回應
{}
SetRange 要求欄位
欄位 | 說明 | 資料類型 |
---|---|---|
heatCelsius |
溫度控制器處於「熱冷」模式時,可設定的最低目標溫度。 | number 範例:20.0 |
coolCelsius |
溫度控制器處於「熱冷」模式時可設定的最高目標溫度。 | number 範例:22.0 |
錯誤
系統可能會傳回下列與這項特徵相關的錯誤代碼:
錯誤訊息 | 單次點擊收益 | 疑難排解 |
---|---|---|
目前溫度控制器模式不允許使用這項指令。 | FAILED_PRECONDITION |
根據 ThermostatMode 特徵,部分溫度控制器型號在溫度控制器模式為「關閉」時,不支援變更節能模式。變更節能模式前,必須先將溫度控制器模式變更為「暖氣」、「冷氣」或「冷暖」。 |
冷卻值必須大於熱值。 | INVALID_ARGUMENT |
請確認指令中的 heatCelsius 欄位小於 coolCelsius 欄位。 |
溫度自動調節器處於 MANUAL_ECO 模式時,不允許使用這項指令。 | FAILED_PRECONDITION |
溫度控制器處於手動節能模式時,無法設定溫度設定點。 |
如需完整的 API 錯誤代碼清單,請參閱 API 錯誤代碼參考資料。