Получение информации о состоянии группы устройств
Запрос информации об актуальном состоянии группы устройств пользователя.
Формат запроса
GET https://api.iot.yandex.net/v1.0/groups/{group_id}
group_id |
Идентификатор группы устройств пользователя. |
Заголовки запроса
Заголовок |
Описание |
Обязательный |
Authorization |
Авторизационный токен oauth-приложения. |
Да |
Формат ответа
HTTP/1.1 200 OK
{
"status": "ok",
"request_id": String,
"id": String,
"name": String,
"aliases": [String],
"type": "devices.types.{type}",
"state": "online",
"capabilities": [{
"retrievable": Boolean,
"type": "devices.capabilities.{capability}",
"parameters": {},
"state": {}
},
{
"retrievable": Boolean,
"type": "devices.capabilities.{capability}",
"parameters": {},
"state": {}
}
],
"devices": [{
"id": String,
"name": String,
"type": "devices.types.{type}"
},
{
"id": String,
"name": String,
"type": "devices.types.{type}"
}
]
}
Параметр |
Тип |
Описание |
Обязательный |
status |
String |
Статус обработки запроса. Допустимые значения:
|
Да |
request_id |
String |
Идентификатор запроса. Необходимо логировать для расследования инцидентов. |
Да |
id |
String |
Идентификатор группы устройств. |
Да |
name |
String |
Имя группы устройств. |
Да |
aliases |
Array of Strings |
Массив с дополнительными именами устройств. |
Да |
type |
String |
Тип группы устройств. Совпадает с типом устройств, входящих в группу. |
Да |
state |
String |
Состояние группы устройств. Допустимые значения:
|
Да |
capabilities |
Array of CapabilityObjects |
Массив с информацией об умениях группы устройств. |
Да |
devices |
Array of GroupDeviceInfoObjects |
Массив с информацией об устройствах в группе. |
Да |
Массив capabilities
Параметр |
Тип |
Описание |
Обязательный |
capability1 |
CapabilityObject |
Описание умения. Подробнее со списком доступных умений и их параметрами можно ознакомиться в разделе Умения. |
Нет |
capability2 |
CapabilityObject |
Описание умения. Подробнее со списком доступных умений и их параметрами можно ознакомиться в разделе Умения. |
Нет |
CapabilityObject
Тип
Параметр |
Тип |
Описание |
Обязательный |
type |
String |
Да |
|
retrievable |
Boolean |
Доступен ли для данного умения запрос состояния |
Да |
parameters |
CapabilityParametersObject |
Параметры умения. Соответствует значению поля |
Да |
state |
CapabilityStateObject |
Текущее состояние умения. Если значение |
Да |
Массив devices
Параметр |
Тип |
Описание |
Обязательный |
device1 |
GroupDeviceInfoObject |
Описание устройства в группе. |
Нет |
device2 |
GroupDeviceInfoObject |
Описание устройства в группе. |
Нет |
GroupDeviceInfoObject
Тип
Параметр |
Тип |
Описание |
Обязательный |
id |
String |
Идентификатор устройства. |
Да |
name |
String |
Имя устройства. |
Да |
type |
String |
Да |
HTTP/1.1 404 Not Found
{
"request_id": String,
"status": "error",
"message": String
}
Параметр |
Тип |
Описание |
Обязательный |
request_id |
String |
Идентификатор запроса. Необходимо логировать для расследования инцидентов. |
Да |
status |
String |
Статус обработки запроса. Допустимые значения:
|
Да |
message |
String |
Сообщение об ошибке. |
Нет |
Пример
ЗапросУспешный ответОтвет с ошибкой
curl -i -X GET 'https://api.iot.yandex.net/v1.0/groups/lamp-group-id-1' \ -H 'Authorization: Bearer 123qwe456a...'
HTTP/1.1 200 OK { "status": "ok", "request_id": "4ea5619b-c4c5-41af-930b-4b317f7bdad6", "id": "light-group-id-1", "name": "Люстра", "aliases": ["Верхний свет"], "type": "devices.types.light", "state": "online", "capabilities": [{ "retrievable": true, "type": "devices.capabilities.on_off", "parameters": { "split": false }, "state": { "instance": "on", "value": false } }, { "retrievable": true, "type": "devices.capabilities.range", "parameters": { "instance": "brightness", "unit": "unit.percent", "random_access": true, "range": { "min": 1, "max": 100, "precision": 1 } }, "state": { "instance": "brightness", "value": 100 } }, { "retrievable": true, "type": "devices.capabilities.color_setting", "parameters": { "color_model": "hsv", "temperature_k": { "min": 1700, "max": 6500 } }, "state": { "instance": "temperature_k", "value": 3400 } } ], "devices": [{ "id": "lamp-id-1", "name": "Лампочка 1", "type": "devices.types.light" }, { "id": "lamp-id-2", "name": "Лампочка 2", "type": "devices.types.light" }, { "id": "lamp-id-3", "name": "Лампочка 3", "type": "devices.types.light" } ] }
HTTP/1.1 404 Not Found { "request_id": "667b3e0f-47a8-4136-9211-b4ff59062315", "status": "error", "message": "Группа устройств не найдена" }
Идентификатор группы устройств пользователя.
Cтрока, выделяется кавычками, например "Hello world"
.
Массив элементов, разделенных запятой. Элементом могут быть стандартные элементы JSON: строка, число, true
, false
, объект или массив. Массив выделяется квадратными скобками []
:
"cities": ["Moscow", "Tokyo", "New York"]
Логическое значение без кавычек: true
(истина) или false
(ложь).
Тип
String
Описание
Идентификатор устройства.
Обязательный
Да
Тип
String
Описание
Обязательный
Да
Тип
String
Описание
Имя устройства.
Обязательный
Да
Тип
String
Описание
Обязательный
Да
Тип
CapabilityStateObject
Описание
Текущее состояние умения. Если значение null
, значит это умение не находится в одинаковом состоянии на устройствах в группе. Соответствует значению поля state
из описания умения.
Обязательный
Да
Тип
String
Описание
Статус обработки запроса. Допустимые значения:
error
.
Обязательный
Да
Тип
Описание
Идентификатор запроса. Необходимо логировать для расследования инцидентов.
Обязательный
Да
Тип
String
Описание
Сообщение об ошибке.
Обязательный
Нет