모든 Google Nest Thermostat 지원되는 모델은 Smart Device Management (SDM) API 이 기기는 온도 조절기를 온도 조절기로 기기 유형:
sdm.devices.types.THERMOSTAT
특성
참조
이 그룹과 관련된 특성, 명령어 또는 이벤트는 다음과 같습니다.
특성 | 설명 | 명령어 |
---|---|---|
연결 | 이 트레잇은 연결 정보가 있는 모든 기기에 속합니다. | |
팬 | 이 특성은 팬을 제어할 수 있는 시스템 기능이 있는 모든 기기에 속합니다. | SetTimer |
습도 | 이 트레잇은 습도를 측정하는 센서가 있는 모든 기기에 속합니다. | |
정보 | 이 트레잇은 기기 관련 정보를 위한 모든 기기에 속합니다. | |
설정 | 이 트레잇은 기기 관련 설정 정보에서 모든 기기에 속합니다. | |
온도 | 이 트레잇은 온도를 측정하는 센서가 있는 모든 기기에 속합니다. | |
ThermostatEco | 이 트레잇은 ECO 모드를 지원하는 THERMOSTAT 기기 유형에 속합니다. | SetMode |
ThermostatHvac | 이 트레잇은 HVAC 세부정보를 보고할 수 있는 THERMOSTAT 기기 유형에 속합니다. | |
ThermostatMode | 이 트레잇은 다양한 온도 조절기 모드를 지원하는 THERMOSTAT 기기 유형에 속합니다. | SetMode |
ThermostatTemperatureSetpoint | 이 트레잇은 희망 온도와 온도 범위 설정을 지원하는 THERMOSTAT 기기 유형에 속합니다. | SetHeat SetCool SetRange |
JSON
GET 응답에 트레잇이 없다는 것은 트레잇이 현재 기기에서 사용할 수 없는 기능입니다. 자세한 내용은 자세한 내용은 기기 유형을 참조하세요. 확인할 수 있습니다
{ "type" : "sdm.devices.types.THERMOSTAT", "traits" : { "sdm.devices.traits.Connectivity" : { "status" : "ONLINE" }, "sdm.devices.traits.Fan" : { "timerMode" : "ON", "timerTimeout" : "2019-05-10T03:22:54Z" }, "sdm.devices.traits.Humidity" : { "ambientHumidityPercent" : 35.0 }, "sdm.devices.traits.Info" : { "customName" : "My device" }, "sdm.devices.traits.Settings" : { "temperatureScale" : "CELSIUS" }, "sdm.devices.traits.Temperature" : { "ambientTemperatureCelsius" : 23.0 }, "sdm.devices.traits.ThermostatEco" : { "availableModes" : ["MANUAL_ECO", "OFF"], "mode" : "MANUAL_ECO", "heatCelsius" : 20.0, "coolCelsius" : 22.0 }, "sdm.devices.traits.ThermostatHvac" : { "status" : "HEATING" }, "sdm.devices.traits.ThermostatMode" : { "availableModes" : ["HEAT", "COOL", "HEATCOOL", "OFF"], "mode" : "COOL" }, "sdm.devices.traits.ThermostatTemperatureSetpoint" : { "heatCelsius" : 20.0, "coolCelsius" : 22.0 } } }
온도 및 습도
온도 조절기의 주변 온도를 읽으려면 다음을 사용하세요. 온도 특성. 앰비언트 온도는 기기에서 측정됩니다.
온도 조절기의 주변 습도를 확인하려면 다음을 사용하세요. 습도 특성. 앰비언트 기기에서 습도가 측정됩니다.
온도 눈금
Google Nest Thermostat은 온도를 섭씨 또는 SDM API에서 화씨를 설정할 수 없습니다. 확인 온도계를 변경하려면 설정 특성.
모드 변경
온도 조절기의 모드는 두 가지 특성으로 관리됩니다. ThermostatMode and ThermostatEco.
표준 모드
온도 조절기 모드를 난방, 냉방 또는 HEATCOOL로 변경하려면 ThermostatMode 트레잇의 SetMode 명령어를 사용합니다.
이 명령어는 Cloud Shell에서 온도 조절기의 모드를 꺼야 합니다. CANNOT TRANSLATE 절전 모드가 켜집니다.예를 들어 표준 온도 조절기 모드 중 하나를 변경하려면 다음 단계를 따르세요.
요청
POST /enterprises/project-id/devices/device-id:executeCommand
{
"command" : "sdm.devices.commands.ThermostatMode.SetMode
",
"params" : {
"mode" : "HEAT"
}
}
응답
{}
절전 모드
절전 모드를 켜려면 ThermostatEco 트레잇의 SetMode 명령어는 다음과 같습니다.
요청
POST /enterprises/project-id/devices/device-id:executeCommand
{
"command" : "sdm.devices.commands.ThermostatEco.SetMode
",
"params" : {
"mode" : "MANUAL_ECO"
}
}
응답
{}
이 명령어는 절전 모드의 현재 상태 또는 절전 모드의 변경사항에 따라 다른 특성에 영향을 미칩니다.
- 절전 모드가 꺼져 있는 경우 온도 조절기 모드는 마지막으로 활성화되었던 표준 모드 (난방, 냉방, 난방 또는 꺼짐)로 기본 설정됩니다.
- 절전 모드가 MANUAL_ECO인 경우:
- ThermostatTemperatureSetpoint 특성의 명령어가 거부됩니다.
- 온도 설정값은 ThermostatTemperatureSetpoint 특성에 의해 반환되지 않습니다.
온도 설정값 변경
온도 설정값은 온도 조절기가 다음 위치에 있을 때만 변경할 수 있습니다. 난방, 냉방 또는 난방 모드 허용되는 설정값은 온도 조절기의 현재 모드에 해당합니다. 온도 모드가 꺼져 있거나 절전 모드가 MANUAL_ECO로 설정되었습니다.
온도 조절기는 변경하기 전에 호출되는 명령어에 해당하는 모드로 설정되어 있어야 합니다. 온도 설정값 설정값을 변경하는 명령어와 필드는 온도 조절기에 따라 다릅니다. 있습니다.
예를 들어 SetHeat 명령어를 실행하려면 온도 조절기가 먼저 난방 모드여야 합니다.
모드 | 명령어 | 필드 |
---|---|---|
난방 | SetHeat | heatCelsius |
멋져요 | SetCool | coolCelsius |
열화상 | SetRange | heatCelsius , coolCelsius |
설정값 명령은 섭씨 도만 매개변수로 취합니다. Google Nest Thermostat에서는 온도를 섭씨 또는 화씨로 표시할 수 있습니다.
예를 들어 온도 조절기가 다음 온도일 때 온도 설정값을 변경하려면 난방 모드에서는 ThermostatTemperatureSetpoint 트레잇의 SetHeat 명령어입니다.
요청
POST /enterprises/project-id/devices/device-id:executeCommand
{
"command" : "sdm.devices.commands.ThermostatTemperatureSetpoint.SetHeat
",
"params" : {
"heatCelsius" : 22.0
}
}
응답
{}
절전 모드 설정값
heatCelsius
및 coolCelsius
설정값은
ThermostatEco 트레잇은 사용자가 설정합니다.
SDM API를 통해 변경할 수 없습니다.
팬 켜기/끄기
온도 조절기가 선풍기를 지원하는 경우 팬 속성의 SetTimer 명령어를 사용하여 선풍기를 켜거나 끕니다. 켤 때 팬을 가동할 시간을 지정할 수 있습니다. 초입니다.
예를 들어 팬을 1시간 동안 가동하는 방법은 다음과 같습니다.
요청
POST /enterprises/project-id/devices/device-id:executeCommand
{
"command" : "sdm.devices.commands.Fan.SetTimer
",
"params" : {
"timerMode" : "ON",
"duration" : "3600s"
}
}
응답
{}
duration
입력란이 생략되면 팬이 기본 시간인 15분 동안 작동합니다.
합니다.
기기 연결 확인
기기가 명령에 응답하지 않거나 이벤트를 전송하지 않거나 오류 발생 시에는 연결 특성을 사용하여 기기의 연결을 확인해야 합니다. 기기의 인터넷에 연결하고 Nest Service가 작동 중입니다.
이벤트가 사용 설정된 경우 리소스 이벤트도 수신되었을 것입니다. 기기가 오프라인 상태임을 나타냅니다.
페이로드
{
"eventId" : "0425a61d-a026-4608-8d8d-d76351d444a4",
"timestamp" : "2019-01-01T00:00:01Z",
"resourceUpdate" : {
"name" : "enterprises/project-id/devices/device-id",
"traits" : {
"sdm.devices.traits.Connectivity
" : {
"status" : "OFFLINE"
}
}
},
"userId": "AVPHwEuBfnPOnTqzVFT4IONX2Qqhu9EJ4ubO-bNnQ-yi",
"resourceGroup" : [
"enterprises/project-id/devices/device-id"
]
}
기기 이벤트에 반응
트레잇 필드를 변경하면 이벤트가 생성됩니다.
예를 들어
온도 조절기의 HVAC인 경우 다음 resourceUpdate
이벤트
상태가 난방으로 변경됨:
페이로드
{
"eventId" : "24b17b95-a286-4471-901f-5bdd4a05be28",
"timestamp" : "2019-01-01T00:00:01Z",
"resourceUpdate" : {
"name" : "enterprises/project-id/devices/device-id",
"traits" : {
"sdm.devices.traits.ThermostatHvac
" : {
"status" : "HEATING"
}
}
},
"userId": "AVPHwEuBfnPOnTqzVFT4IONX2Qqhu9EJ4ubO-bNnQ-yi",
"resourceGroup" : [
"enterprises/project-id/devices/device-id"
]
}
이 기기 유형과 연결된 모든 특성에 대해 이벤트가 트리거됩니다. 사용 설정 반응해야 하는 경우 어떤 방식으로든 이들 사용자에게 제공할 수 있습니다
이벤트 시점
HVAC 상태 변경 이벤트는 이벤트와 동시에 전송되지 않을 수 있습니다. 온도 조절기 모드 변경을 요청할 수 있습니다
예를 들어 경우에 따라 a HVAC를 보호하기 위해 온도 조절기의 난방 또는 냉방 모드 시작 지연 있습니다. 이 경우 온도 조절기 모드를 변경하면 처음에 온도 조절기의 활동이 ThermostatMode and ThermostatTemperatureSetpoint 특성이 변하면서 ThermostatHvac 특성 변경사항이 나중에 별도의 이벤트를 발생시킵니다. HVAC 시스템을 켜는 데 지연이 없다면 모든 세 개의 이벤트가 동시에 전송됩니다.
오류
이 기기와 관련하여 다음 오류 코드가 반환될 수 있습니다.
오류 메시지 | RPC | 문제 해결 |
---|---|---|
냉방 값은 난방 값보다 커야 합니다. | INVALID_ARGUMENT |
heatCelsius 필드가 명령어의 coolCelsius 필드보다 작은지 확인합니다. |
현재 온도 조절기 모드에서 사용할 수 없는 명령어입니다. | FAILED_PRECONDITION |
일부 온도 조절기 모델은 ThermostatMode 특성에 따라 온도 조절기 모드가 꺼져 있을 때 절전 모드 변경을 지원하지 않습니다. 절전 모드를 변경하기 전에 온도 조절기 모드를 난방, 냉방 또는 난방 모드로 변경해야 합니다. |
온도 조절기 팬을 사용할 수 없습니다. | FAILED_PRECONDITION |
온도 조절기에는 팬 기능이 없습니다. 이 기기에서는 팬 관련 기능 및 명령어를 사용할 수 없습니다. |
온도 조절기가 MANUAL_ECO 모드일 때는 명령어가 허용되지 않습니다. | FAILED_PRECONDITION |
온도 조절기가 수동 절전 모드일 때는 온도 설정값을 설정할 수 없습니다. |
API 오류 코드 참조에서 API 오류 코드의 전체 목록입니다.