Skip to main content

Получить multicast-группу

Возвращает параметры одной multicast-группы: адрес, сессионные ключи, класс и частотный план. Сервер ищет группу по multicast_eui, по multicast_addr или по обоим полям сразу — тогда должны совпасть оба.

За один запрос команда возвращает одну группу. Списка групп и списка устройств группы в WebSocket API нет.

Запрос и ответ: get_multicast_req → get_multicast_resp.
Доступ: только токен высокого уровня; видны группы всех приложений владельца токена. С токеном низкого уровня сервер ответит ошибкой 1.

Текущая версия ONS
  • В ответе нет поля app_key, которое есть в описании v0.17: у группы только сессионные ключи nwks_key и apps_key.
  • ping_slot_period в ответе всегда null: значение, заданное при создании группы, эта команда не возвращает.

Запрос​

Поля без пометки «обязательно» можно не передавать.

ПолеТипОписание
cmdstringget_multicast_req
operation_idstringПроизвольная строка; сервер вернёт её в ответе — по ней сопоставляют запрос и ответ
multicast_euistringОбязательно multicast_eui или multicast_addr. EUI группы, 16 hex-символов
multicast_addrstringОбязательно multicast_eui или multicast_addr. Адрес группы, 8 hex-символов
{
"cmd": "get_multicast_req",
"operation_id": "xyw",
"multicast_eui": "7DA50BE8C74CE6DC"
}

Ответ​

ПолеТипОписание
cmdstringget_multicast_resp
operation_idstringЗначение из запроса. В ответах с ошибками 1 и 3 поля нет
statusuint81 — успех, 2 — ошибка
multicast_euistringEUI группы
multicast_addrstringАдрес группы — DevAddr, с которым уходят её кадры
application_euistringAppEUI приложения, которому принадлежит группа
descriptionstringОписание группы
nwks_keystringNwkSKey группы
apps_keystringAppSKey группы
group_typeuint8Класс группы: 1 — A, 2 — B, 3 — C
ping_slot_perioduint32Всегда null
freqfloatЧастота группы, МГц; null, если не задана. Сервер значение только хранит
druint8Скорость передачи (DR) группы, 0–15. Сервер значение только хранит
regionuint8Код региона — частотного плана группы, см. Коды регионов
error_code, error_textuint8, stringТолько при ошибке, см. ниже
{
"cmd": "get_multicast_resp",
"operation_id": "xyw",
"status": 1,
"multicast_eui": "7DA50BE8C74CE6DC",
"multicast_addr": "C74CE6DC",
"application_eui": "819EA8554FCD762A",
"description": "Street lights",
"nwks_key": "EEFBF983C00B35240C9A7C2D8D011301",
"apps_key": "6F17B97CEA2C63D1089EF4268FD68D38",
"group_type": 3,
"ping_slot_period": null,
"freq": null,
"dr": 0,
"region": 6
}

Ошибки​

error_codeerror_textЧто случилось
1Unauthorized accessЗапрос пришёл с токеном низкого уровня
3Data is filled in with an errormulticast_eui не из 16 hex-символов или multicast_addr не из 8
9Multicast does not existsГруппы с такими multicast_eui и multicast_addr у владельца токена нет
0—Внутренняя ошибка сервера — повторите запрос позже

Что важно знать​

  • Всегда указывайте идентификатор группы. Сервер не проверяет, что передан multicast_eui или multicast_addr. Если не передать ни одного из этих полей, сервер вернёт одну произвольную запись владельца, и ею может оказаться обычное устройство, а не группа.
  • Ключи приходят в открытом виде. Ответ содержит nwks_key и apps_key группы — не пишите его в общие журналы.

См. также​