Skip to main content

Удалить устройство

Удаляет устройство владельца по DevEUI или DevAddr. Устройство помечается удалённым: команды get_devices_req и update_device_req его больше не находят, а DevEUI и DevAddr можно занять новым устройством.

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

Текущая версия ONS

В схеме запроса из описания v0.17 указана команда delete_device, но сервер принимает только delete_device_req, как в примере.

Запрос​

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

ПолеТипОписание
cmdstringdelete_device_req
operation_idstringПроизвольная строка; сервер вернёт её в ответе — по ней сопоставляют запрос и ответ
devEuistringОбязательно devEui или devAddr. DevEUI устройства, 16 hex-символов заглавными буквами — сервер сравнивает с учётом регистра
devAddrstringОбязательно devEui или devAddr. DevAddr устройства, 8 hex-символов заглавными буквами. Если переданы оба поля, должны совпасть оба
{
"cmd": "delete_device_req",
"operation_id": "rdk",
"devEui": "7DA50BE8C74CE6DC"
}

Ответ​

ПолеТипОписание
cmdstringdelete_device_resp
operation_idstringЗначение из запроса
statusuint81 — устройство удалено, 2 — ошибка
error_code, error_textuint8, stringТолько при ошибке, см. ниже
{
"cmd": "delete_device_resp",
"operation_id": "rdk",
"status": 1
}

Ошибки​

error_codeerror_textЧто случилось
1Unauthorized accessЗапрос пришёл с токеном низкого уровня
2Required field is not filledНет ни devEui, ни devAddr
3Node does not existsУстройство не найдено: его нет у владельца, оно уже удалено, удалено его приложение или DevEUI передан строчными буквами

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

  • Повтор безопасен. На повторный запрос сервер ответит ошибкой 3: устройство уже удалено.
  • Сетевой сервер об удалении не узнаёт. Устройство, которое сейчас на связи, он может и дальше обслуживать по настройкам из своей памяти.

См. также​

  • create_device_req — завести устройство заново.
  • delete_application_req — перед удалением приложения удалите его устройства.