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