ThermostatTemperatureSetpoint 스키마

Nest Thermostat 

sdm.devices.traits.ThermostatTemperatureSetpoint

이 트레잇은 타겟 온도 및 온도 범위 설정을 지원하는 THERMOSTAT 기기 유형에 속합니다.

필드

필드 설명 데이터 유형
heatCelsius 온도 조절기 난방 및 HEATCOOL 모드의 경우 희망 온도는 섭씨입니다. number
예: 20.0
coolCelsius 온도 조절기 COOL 및 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 명령어를 실행하려면 먼저 온도 조절기가 HEAT 모드여야 합니다.

모드 명령어 필드
난방 SetHeat heatCelsius
시원함 SetCool coolCelsius
HEATCOOL SetRange heatCelsius, coolCelsius

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 트레잇에 따라 온도 조절기 모드가 꺼져 있을 때 절전 모드를 변경하는 기능을 지원하지 않습니다. 절전 모드를 변경하기 전에 온도 조절기 모드를 HEAT, COOL 또는 HEATCOOL로 변경해야 합니다.
냉방 값은 난방 값보다 커야 합니다. INVALID_ARGUMENT 명령어의 heatCelsius 필드가 coolCelsius 필드보다 작은지 확인합니다.
온도 조절기가 MANUAL_ECO 모드일 때는 명령이 허용되지 않습니다. FAILED_PRECONDITION 온도 조절기가 수동 에코 모드에 있으면 온도 설정값을 설정할 수 없습니다.

API 오류 코드의 전체 목록은 API 오류 코드 참조를 확인하세요.