ThermostatTemperatureSetpoint スキーマ
sdm.devices.traits.ThermostatTemperatureSetpoint
このトレイトは、設定温度と温度範囲の設定をサポートする THERMOSTAT デバイスタイプに属します。
フィールド
| フィールド | 説明 | データ型 |
|---|---|---|
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.ThermostatTemperatureSetpoint" : {
"heatCelsius" : 20.0,
}
}
}GET リクエストとレスポンスの例 - 冷房
リクエスト
GET /enterprises/project-id/devices/device-id
レスポンス
{
"name" : "enterprises/project-id/devices/device-id",
"traits" : {
"sdm.devices.traits.ThermostatTemperatureSetpoint" : {
"coolCelsius" : 22.0
}
}
}GET リクエストとレスポンスの例 - 暖房・冷房
リクエスト
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 |
| 暖房・冷房 | SetRange | heatCelsius、coolCelsius |
Google Nest サーモスタットでは温度を摂氏または華氏で表示できますが、設定温度コマンドのパラメータとして使用できるのは摂氏のみです。
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
}
}
レスポンス
{}
SetCool リクエスト フィールド
| フィールド | 説明 | データ型 |
|---|---|---|
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 |
エラー
このトレイトに関連して、次のエラーコードが返されることがあります。
| エラー メッセージ | RPC | トラブルシューティング |
|---|---|---|
| 現在のサーモスタット モードではコマンドを使用できません。 | FAILED_PRECONDITION |
ThermostatMode トレイトによると、サーモスタット モードがオフの場合、エコモードの変更をサポートしていないサーモスタット モデルがあります。 エコモードを変更する前に、サーモスタット モードを暖房、冷房、暖房・冷房に変更する必要があります。 |
| 冷房の値は暖房の値より大きくする必要があります。 | INVALID_ARGUMENT |
コマンドの heatCelsius フィールドが coolCelsius フィールドより小さいことを確認してください。 |
| サーモスタットが手動エコモードの場合、コマンドは許可されません。 | FAILED_PRECONDITION |
サーモスタットが手動エコモードの場合、設定温度を設定できません。 |
API エラーコードの一覧については、API エラーコード リファレンスをご覧ください。