ym88659208ym87991671
Получение функций устройств (get features) | Документация для разработчиков

Получение функций устройств (get features)

Обновлено 25 ноября 2022

Приложение-агент на контроллере отправляет в умный дом Sber запрос на получение перечня функций, который поддерживает категория устройств.

Пример ситуации использования:

  1. При загрузке агент отрисовывает контрол — выпадающий список поддерживаемых функций для категории устройств. Чтобы наполнить список, агент отправляет запрос в умный дом Sber.
  2. Умный дом Sber возвращает список функций для категории.
  3. Приложение-агент отрисовывает выпадающий список с перечнем доступных функций.

Формат запроса

Запрос отправляется на эндпоинт информационного API — адрес этого эндпоинта приходит в сообщении с глобальной конфигурацией. Заголовки см. в разделе Заголовки запросов.

GET /v1/mqtt-gate/categories/<category>/features

Параметры запроса:

ПолеТипОбязательное?Описание
categorystring✔︎Название категории устройств (см. Описание устройств)

Формат ответа

Умный дом Sber отправляет ответ приложению-агенту. Заголовки см. в разделе Заголовки запросов.

Успешный ответ:

ПолеТипОбязательное?Описание
featureslist<object>✔︎Список функций, которые поддерживает категория устройств (см. Описание функций устройств)
namestring✔︎Название функции
data_typestring✔︎Тип, в котором функция возвращает данные
requiredboolЯвляется ли функция обязательной для категории
{
"features": [
{
"name": string,
"data_type": string,
"required": boolean
},
// ...
]
}

При возникновении ошибки возвращается объект типа common error:

{
"code": integer,
"message": string,
"details": list<string>
}

Пример запроса и ответа

Приложение-агент запрашивает список функция для категории light. Умный дом Sber возвращает список функций.

Запрос:

curl -i -X GET /v1/mqtt-gate/categories/light/features HTTP/1.1 \
-H Host: example.com \
-H Content-Type: application/json \
-H Authorization: Basic qwerty-1234-... \
-H X-Request-Id: abcd-0000-ifgh-...

Успешный ответ:

{
"features": [
{
"name": "light_brightness",
"data_type": "INTEGER"
},
{
"name": "light_colour",
"data_type": "COLOUR"
},
{
"name": "light_colour_temp",
"data_type": "INTEGER"
},
{
"name": "light_mode",
"data_type": "ENUM"
},
{
"name": "on_off",
"data_type": "BOOL",
"required": true
},
{
"name": "online",
"data_type": "BOOL",
"required": true
}
]
}

Ответ с ошибкой:

{
"code": 500,
"message": "Internal server error",
"details": []
}
ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей.
Вы можете запретить сохранение cookie в настройках своего браузера.