ThermostatTemperatureSetpoint スキーマ

Google Nest Thermostat 

sdm.devices.traits.ThermostatTemperatureSetpoint

このトレイトは、設定温度と温度範囲の設定をサポートする THERMOSTAT のデバイスタイプに使用します。

フィールド

フィールド 説明 データ型
heatCelsius サーモスタットの HEAT モードと HEATCOOL モードの設定温度(摂氏)。 number
例: 20.0
coolCelsius サーモスタットの冷房モードと HEATCOOL モードの設定温度(摂氏)。 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
寒色 SetCool coolCelsius
HEATCOOL SetRange heatCelsiuscoolCelsius

なお、setpoint コマンドは度数(度数)をパラメータとして受け取りますが、 Google Nest Thermostat では、温度を摂氏または華氏で表示できます。

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 サーモスタットが HEATCOOL モードのときに設定する最大設定温度。 number
例: 22.0

エラー

このトレイトに関して、次のエラーコードが返されることがあります。

エラー メッセージ RPC トラブルシューティング
現在のサーモスタット モードではコマンドを使用できません。 FAILED_PRECONDITION 一部のサーモスタット モデルは、 ThermostatMode トレイトに従って、サーモスタット モードがオフのときにエコモードを変更できません。エコモードを変更する前に、サーモスタット モードを [暖房]、[冷房]、[暖房換気空調] に変更する必要があります。
冷房値は熱値よりも大きくする必要があります。 INVALID_ARGUMENT コマンドの heatCelsius フィールドが coolCelsius フィールドよりも小さいことを確認します。
サーモスタットが MANUAL_ECO モードのときはコマンドを使用できません。 FAILED_PRECONDITION サーモスタットが手動エコモードの場合は、温度設定値を設定できません。

詳しくは、API エラーコード リファレンスをご覧ください。 API エラーコードの完全なリスト。