Skip to main content

Remove device from multicast group

Removes a device from a multicast group. Only the record on the server changes: the server sends nothing to the device. As long as the device holds the group address and keys, it keeps receiving the group frames.

Request and response: delete_device_from_multicast_req → delete_device_from_multicast_req.
Access: high access level token only; the group is looked up among the groups of all applications of the token owner. With a low access level token the server responds with error 1.

Current ONS version

The response differs from the v0.17 description:

  • The response command is named delete_device_from_multicast_req — the same as the request, not delete_device_from_multicast_resp. The status field distinguishes the response from the request.
  • The device DevEUI comes in the dev_eui field, not devEui.
  • The multicast_addr field holds the device DevAddr, not the group address.

Request​

Fields not marked as required may be omitted.

FieldTypeDescription
cmdstringdelete_device_from_multicast_req
operation_idstringAny string; the server returns it in the response to match the request and the response
multicast_euistringmulticast_eui or multicast_addr is required. Group EUI, 16 hex characters
multicast_addrstringmulticast_eui or multicast_addr is required. Group address, 8 hex characters
devEuistringRequired. Device DevEUI, 16 hex characters
{
"cmd": "delete_device_from_multicast_req",
"operation_id": "xyw",
"multicast_eui": "7DA50BE8C74CE6DC",
"devEui": "6F1E570FFE14DBFC"
}

Response​

FieldTypeDescription
cmdstringdelete_device_from_multicast_req
operation_idstringValue from the request. Absent in responses with errors 1 and 3
statusuint81 — the device is removed from the group, 2 — error
multicast_euistringGroup EUI
multicast_addrstringDevice DevAddr — not the group address
dev_euistringDevice DevEUI
error_code, error_textuint8, stringOnly on error, see below
{
"cmd": "delete_device_from_multicast_req",
"operation_id": "xyw",
"status": 1,
"multicast_eui": "7DA50BE8C74CE6DC",
"multicast_addr": "78130AE1",
"dev_eui": "6F1E570FFE14DBFC"
}

Errors​

error_codeerror_textWhat happened
1Unauthorized accessThe request came with a low access level token
3Data is filled in with an errormulticast_eui or devEui is not 16 hex characters, multicast_addr is not 8
9Multicast does not existsThe token owner has no group with this multicast_eui and multicast_addr
8Device does not existsNo device with this devEui is found, or devEui is not given
11Device not in MulticastThe device is not in this group
0Unexpected errorInternal server error — retry later

Good to know​

  • Always specify the group identifier. The server does not check that multicast_eui or multicast_addr is given. If neither field is given, it takes one of the owner's groups — there is no way to predict which one.
  • To make a device stop receiving group frames, remove the group address and keys from the device itself.

See also​