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 コマンドを発行するには、まずサーモスタットが HEAT モードになっている必要があります。
| モード | コマンド | フィールド | 
|---|---|---|
| 暖房 | SetHeat | heatCelsius | 
    
| 涼しい | SetCool | coolCelsius | 
    
| HEATCOOL | 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
サーモスタットが HEATCOOL モードの場合の最低温度と最高温度を設定します。
SetRange リクエストとレスポンス
リクエスト
POST /enterprises/project-id/devices/device-id:executeCommand
{
  "command" : "sdm.devices.commands.ThermostatTemperatureSetpoint.SetRange",
  "params" : {
    "heatCelsius" : 20.0,
    "coolCelsius" : 22.0
  }
}
レスポンス
{}
SetRange リクエスト フィールド
| フィールド | 説明 | データ型 | 
|---|---|---|
heatCelsius | 
      サーモスタットが HEATCOOL モードの場合に設定する最低目標温度。 | number例: 20.0  | 
    
coolCelsius | 
      サーモスタットが冷暖房モードの場合に設定する最高設定温度。 | number例: 22.0  | 
    
エラー
このトレイトに関連して、次のエラーコードが返されることがあります。
| エラー メッセージ | RPC | トラブルシューティング | 
|---|---|---|
| 現在のサーモスタット モードではコマンドが許可されていません。 | FAILED_PRECONDITION | 
    ThermostatMode トレイトによると、サーモスタットのモードがオフの場合、一部のサーモスタット モデルではエコモードの変更がサポートされていません。エコモードを変更する前に、サーモスタットのモードを HEAT、COOL、HEATCOOL に変更する必要があります。 | 
| 冷房の値は暖房の値よりも大きくする必要があります。 | INVALID_ARGUMENT | 
    コマンドの heatCelsius フィールドが coolCelsius フィールドより小さいことを確認します。 | 
  
| サーモスタットが MANUAL_ECO モードの場合、コマンドは許可されません。 | FAILED_PRECONDITION | 
    サーモスタットが手動エコモードの場合、設定温度を設定することはできません。 | 
API エラーコードの一覧については、API エラーコードのリファレンスをご覧ください。