Схема установки температуры термостата
sdm.devices.traits.ThermostatTemperatureSetpoint
Эта функция характерна для термостатов, поддерживающих установку целевой температуры и температурного диапазона.
Поля
| Поле | Описание | Тип данных |
|---|---|---|
heatCelsius | Целевая температура в градусах Цельсия для режимов термостата «Обогрев» и «Охлаждение». | 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-запроса и ответа - КРУТО
Запрос
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 |
| ТЕПЛОХОХЛАД | 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
Устанавливает минимальную и максимальную температуру, когда термостат находится в режиме ОБОГРЕВ И ОХЛАЖДЕНИЕ.
Запрос и ответ 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 |
Ошибки
В связи с этим признаком могут быть возвращены следующие коды ошибок:
| Сообщение об ошибке | РПК | Поиск неисправностей |
|---|---|---|
| В текущем режиме работы термостата выполнение команды запрещено. | FAILED_PRECONDITION | Согласно информации от производителя, некоторые модели термостатов не поддерживают переключение в режим Eco, когда основной режим работы термостата выключен. Режим термостата Особенность. Перед изменением режима Eco необходимо переключить термостат в режим HEAT, COOL или HEATCOOL. |
| Холодостойкость должна быть выше теплотворной способности. | INVALID_ARGUMENT | Убедитесь, что значение поля heatCelsius меньше значения поля coolCelsius в вашей команде. |
| Команда не допускается, если термостат находится в режиме MANUAL_ECO. | FAILED_PRECONDITION | В режиме ручного энергосбережения термостат нельзя установить заданную температуру. |
Полный список кодов ошибок API см. в Справочнике кодов ошибок API.