ThermostatTemperatureSetpoint スキーマ

Google Nest サーモスタット 

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 heatCelsiuscoolCelsius

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 エラーコード リファレンスをご覧ください。