ThermostatTemperatureSetpoint 스키마
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 오류 코드 참조를 확인하세요.