Схема заданного значения температуры термостата

Гнездовой термостат

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

Полный список кодов ошибок API см. в Справочнике кодов ошибок API.