ThermostatTemperatureSetpoint 스키마
sdm.devices.traits.ThermostatTemperatureSetpoint
이 특성은 목표 온도와 온도 범위를 설정하는 기능을 지원하는 온도 조절기 기기 유형에 속합니다.
필드
필드 | 설명 | 데이터 유형 |
---|---|---|
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 |
온도 조절기가 냉난방 모드일 때 설정할 최소 희망 온도입니다. | number 예: 20.0 |
coolCelsius |
온도 조절기가 냉난방 모드일 때 설정할 수 있는 최대 목표 온도입니다. | number 예: 22.0 |
오류
이 특성과 관련하여 다음 오류 코드가 반환될 수 있습니다.
오류 메시지 | RPC | 문제 해결 |
---|---|---|
현재 온도 조절기 모드에서는 명령어가 허용되지 않습니다. | FAILED_PRECONDITION |
일부 온도 조절기 모델은 ThermostatMode 특성에 따라 온도 조절기 모드가 OFF일 때 절전 모드 변경을 지원하지 않습니다. 절전 모드를 변경하기 전에 온도 조절기 모드를 HEAT, COOL 또는 HEATCOOL로 변경해야 합니다. |
냉방 값은 난방 값보다 커야 합니다. | INVALID_ARGUMENT |
명령어의 heatCelsius 필드가 coolCelsius 필드보다 작아야 합니다. |
온도 조절 장치가 MANUAL_ECO 모드에 있을 때는 명령이 허용되지 않습니다. | FAILED_PRECONDITION |
온도 조절기가 수동 절전 모드에 있으면 온도 설정값을 설정할 수 없습니다. |
전체 API 오류 코드 목록은 API 오류 코드 참조를 확인하세요.