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

In Mesh SDK 2.0.1 Light Switch Client demo is not working with interactive_pyaci

I have followed the exact steps mentioned here http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.meshsdk.v2.0.1%2Fmd_scripts_interactive_pyaci_doc_demo_configuration.html&cp=4_1_0_2_0_2

But From Light Switch Client after successful provisioning configuration, button press events from Light Switch Client node is not sending it to Light Switch Server getting following messages in RTT viewer.  But any state change from Light switch Server will be received by Light Switch Client.

I'm not sure what went wrong, almost repeated the steps like fresh programming multiple times and followed the steps exactly but nothing works. It's Blocking the Gateway implementation

Hardware Setup:

1. nRF52832-DK1 Programmed with serial_nrf52832_xxAA_s132_6_0_0.emProject

2. nRF52832-DK2 Programmed with light_switch_server_nrf52832_xxAA_s132_6_0_0.emProject

3. nRF52832-DK3 Programmed with light_switch_client_nrf52832_xxAA_s132_6_0_0.emProject

Parents
  • you have to modify the light switch example for it to send the simple_on_off message even when you only have a publication address configured.

    something like what i did below...

    jing

Reply
  • you have to modify the light switch example for it to send the simple_on_off message even when you only have a publication address configured.

    something like what i did below...

    jing

Children
  • It works! Thank you.

  • Hi Jing,

             The above solution works, Thank you!  Slight smile

    I am facing one more issue with the above fix/solution, while testing Publishing and subscribing options.

    I changed the state of the simpleOnOffServer from serial node (using interactive_pyaci .i.e sc.set(True), But this status change from simpleOnOffServer was not notified to SimpleOnOffClient (Light Switch Client Node). Please correct if i'm wrong.

  • Hi,

    This should not be necessary. The root cause of this and similar issues seems to be an off by one error related to the SERVER_NODE_COUNT define in light_switch_example_common.h. If you set it to one higher than the number of servers and closely follow the "Running the example" section of the Light switch demo documentation then everything should work as intended.

    Alternatively, find in main.c of the provisioner example the comparisons "m_nw_state.provisioned_devices < SERVER_NODE_COUNT" and "m_nw_state.configured_devices < SERVER_NODE_COUNT". Replace "SERVER_NODE_COUNT" with "(SERVER_NODE_COUNT + CLIENT_NODE_COUNT)".

    Regards,
    Terje

  • Hi Terje,

           Thanks for your response, currently i have below configuration in light_switch_example_common.h

    SERVER_NODE_COUNT which is more than 1 but still the issue is same. I'm using serial node interfaced to PC with interactive_pyaci as provisioner. I'm not using the provisioner example application. Our application doesn't need  prevision example.

    Best Regards,

    Manoj

  • I think that the solution proposed by Jing in this thread solves the problem since, without that change, the client is not successfully configured until the subscription address is added.