This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

How to get the unicast address of all nodes on the provisioner's side (one device acts as the provisioner, not APP)

Hi Experts,

Recently, I am developing the mesh project based on the latest nRF mesh SDK, everything is running well. But I encountered one issue, that is how can provisioner (one device acts as provisioner) obtain the unicast address of all nodes. I found the dsm_address_get_all function can implement this. However, the address still exists even if one of the nodes has removed from mesh via the node reset command. so my question is as below:

  1. Is it possible to know the node has removed from the mesh network on provisioner's side when calling node_reset t command? node reset status message can be used for this purpose?
  2. can the provisioner remove the unicast address of node after this node removed from the mesh network? also, I tried to use the dsm_devkey_delete function, but I still can get the unicast address information from dsm_address_get_all  function

anyway, my purpose is very simple, the provisioner can get the unicast address of all nodes, and the address list should be updated when some of the nodes removed from the mesh network.

could you give me a hand? thanks, in advance.

Parents
  • Hi,

    1. In our examples there is no implementation that let a provisioner know when a node has been removed from the network. Like you said it possible to send a message to the provisioner before doing a node reset. Also, this should be implemented as an ACK message, so you get an ACK from the provisioner before the node resets.

    Another option is to for example ping each node in the database and after a certain time if th node don't respond, you can consider the node removed from the network.

    2. There is no removal procedure implemented in our provisioner example that let you remove the address of a node. It is something you have to implement yourself unfortunately. There is a Node Removal procedure defined in the mesh specification under section 3.10.7.

    The function dsm_devkey_delete is for removing an existing device key not an address.

  • It is something you have to implement yourself unfortunately.

    Hi, Mttrinh

    Ok, that is no problem. But I don't know how to remove the unicast address from the database. Could you give me tips about it?

    There is a Node Removal procedure defined in the mesh specification under section 3.10.7

    Ok, removing the node is very easy, but the problem is that how to utilize the unicast address of them after removing from the network and how does the provisioner deletes these unicast addresses from DSM one by one. Could you give me more information about it?

    Thanks in advance.

Reply
  • It is something you have to implement yourself unfortunately.

    Hi, Mttrinh

    Ok, that is no problem. But I don't know how to remove the unicast address from the database. Could you give me tips about it?

    There is a Node Removal procedure defined in the mesh specification under section 3.10.7

    Ok, removing the node is very easy, but the problem is that how to utilize the unicast address of them after removing from the network and how does the provisioner deletes these unicast addresses from DSM one by one. Could you give me more information about it?

    Thanks in advance.

Children
No Data
Related