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

combine light switch and remore mesh don't control light

Hi all,

After I combile light switch example and remote example for my client and server board . Function Remote run fine . But when I push button for send unicast message . 2 board seem dont receiver correct .I define light switch and remote is different elements . I use Mesh SDK v2.0.1 . Show my picture : 

  

Please show me my mistake. Thank very much

Parents
  • Hi Giang, 

     

    Remote you mean remote provisioning client or server ? 

    I assume it's server. 

    If you have a look into the code (button_event_handler() ) you can find that  "Ignored. Node is not configured.\n" thrown when the light switch client is not configured. 

    You need to configure the client locally, in this case setting the publication address. It's similar to this case. Have a look at Mesh SDK v1.x to see how it works. 

  • Hi ,

    After I using light switch client provisioning for light switch server . I only need use access_model_publish_address_set for Set publish address for the client to the corresponding server . We can send data to each other . It correct ?

  • There are 2 separated procedures, one is provisioning and second is configuration. Have a look here.

    The remote provisioner only do the provisioning part. You need a configuration client to do the configuration part. This is handled by node_setup.c and provisioner_helper.c 

    If you simply combine the light switch example and the remote provisioning example, you won't be able to configure the server. In addition, the light switch client need to be configured as well. 

    Configuration is the process of exchanging&binding the application key and assigning publication/subscription address. That what you need to do. Without configuration, your nodes won't function. 

    To understand the process of provisioning and configuration, I strongly suggest you to try playing with the interactive python script we have. The instruction is here.

  • Hi,

    Follow me, provisioner example v2.1 had provision and configuration . And can I use configuration  part of it for add to light swight client example ? Or I have to use configuration part of switch light client example v1.x for this ? Thank

Reply Children
  • If you plan to use a provisioner to provision+configuration your client, then it's fine to use that provisioner.

     

    If you want to integrate provisioner on the light switch client, you need to do configuration locally on the light switch client, and you need to follow what we did in SDK v1.x. Have you read the case I referred to in my first reply 2 days ago ? 

  • I am confused between two directions:

    1. Use provisioner is gateway . So , it had provision part and configuration part. And I have to add remote client part and simple on/off client for send data to Nodes (simple on/off server + remote server) . And I have a question : When I add simple on/off client to provisioner , I have to add public address for it match with Nodes . It correct?

    2. Use light switch client is gateway. So , I have to add remote client and configuration part for send data to Nodes (light switch server + remote server) . And about configuration part, I realize that provisioner example (v2.1) and light switch client (v1.x) had it . And I wondered which one was right . I am trying  add configuration part of provisioner example to (light switch client + remote client) , and want it is gateway . I have the following error : 

    Any suggest for it ?

    Sorry for the inconvenience ! Thank!

  • 1. As I mentioned, if you add the light switch client to the provisioner, you need to configure the model, add applicationkey, publication address. 

    2. If you add the remote provisioner client into the light switch client, you still need to configure your light switch client. 

     

    What do you mean exactly by "gateway"  ?  In BLE Mesh there isn't a well defined name for gateway. 

    In SDK v1.x we combine the provisioner and the light switch into one device, but different elements. The provisioning and configuration of the clients on the device is done manually and locally. It's not standard to do so. The client doesn't have to be on the same device as the provisioner. And in most case it won't. 

    Why exactly do you want to combine the light switch to the light blub ? 

     

    Can you use an extra device to work as provisioner and can do remote provisioning. But be aware even you do so, you still need to do configuration from the provisioner. 

     

    Of course, there is nothing wrong to combine the provisioner to the light switch client, for example you can sell a package of 1 or multiple light blub and one light switch. And the light switch should be able to do provisioning and setup the network. If you want to do that, you follow what we do in SDK v1.x 

  • Thank for reply,

    After I add light switch client to provisioner , I add some code for set public address for provisioner with Nodes . Provisioner can send data for Node success , But I'm still very vague about configuration part. Why not have a tutorial for this issue ? Can you give a small tutorial on this issue on here . Steps about provisioner add public address with others node. Thank very much !!!

  • Hi Giang, 

     

    I agree that we lack good tutorial and documentation about Mesh especially provisioning part. I have a plan to make one. For now please try the python interactive API. By going through the tutorial you will have good understanding about provision and configuration. 

Related