Схема заданного значения температуры термостата
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 |
ПРОХЛАДНЫЙ | УстановитьCool | 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 |
УстановитьCool
Устанавливает целевую температуру, когда термостат находится в режиме ОХЛАЖДЕНИЯ.
Запрос и ответ 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 | Некоторые модели термостатов не поддерживают изменение экономичного режима, когда режим термостата ВЫКЛЮЧЕН, согласно свойству ThermostatMode . Перед изменением экономичного режима необходимо изменить режим термостата на HEAT, COOL или HEATCOOL. |
Значение холода должно быть больше значения тепла. | INVALID_ARGUMENT | Убедитесь, что поле heatCelsius меньше поля coolCelsius в вашей команде. |
Команда не разрешена, когда термостат находится в режиме MANUAL_ECO. | FAILED_PRECONDITION | Заданное значение температуры невозможно установить, когда термостат находится в ручном экономичном режиме. |
Полный список кодов ошибок API см. в Справочнике кодов ошибок API.