Схема установки температуры термостата

Термостат Nest

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.