Hi, I have 2 questions regarding multiple controllers using nRF Mesh.
1. I used the import/export option to transfer the network details from Phone 1 to Phone 2. After import I also changed the unicast address of the provisioner as it says in the disclaimer after import. Now I am able to control my devices. Comparing the Json file before and after importing the network details from Phone 1 shows that the fields 'deviceKey' and 'unicastAddress' are changed in the phone's entry in 'nodes'. Are these fields changed so that the device being controlled needs to know that there is a different controller now? If so, why is the UUID not changed? And why is a different entry not made for Phone 2 altogether?
2. Can anyone explain what is the use of 'add provisioner' feature in settings/provisioner? How to use it?
1. The device key and unicast address should be unique to all nodes. A provisioner will usually have a unicast address, otherwise it can't perform configuration of newly provisioned nodes. You can find a lot of information related to the nRF Mesh app in the documentation: https://github.com/NordicSemiconductor/IOS-nRF-Mesh-Library/blob/master/Documentation/README.md
2. I haven't tested the "add provisioner" feature yet, so I'm not 100% sure how to use it. I'll try it out and get back to you.
Let me answer in more details.
Each phone that you import the network on is a Provisioner. Should a Provisioner be able to send messages to the network, it must have a unique Unicast Address. Upon importing, you may modify the Unicast Address of the current provisioner, but it's better to have a separate instance of Provisioner for each phone, preferably before exporting. Each Provisioner instance has a unique Unicast Address, the Device Key and set of assigned ranges that it may use during provisioning other nodes or configuring old ones. This is to ensure that no two Provisioners will assign the same address to any node, group or scene.
The iOS nRF Mesh app will actually create or restore the current Provisioner when importing a network configuration on a phone that never had this network or had it at least once before. It saves the UUID of the current Provisioner for each network UUID and tries to restore it. On Android version you need to manually set the current Provisioner to desired one after you import the network.
So the recommended sequence should be like that: