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

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

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

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