Hi,
I'm facing an issue after provisioning the Client and Servers from Light Switch example of Mesh SDK 2.0.1, using the Android App.
Provisioning is successful, however, when I try to send an on/off command from the Client board, I get the following message in the Debug Terminal: Ignored. Node is not configured.
I changed the code in client_publication_configured() to only check for the button that has been pressed, instead of checking all the buttons, as suggested here.
static bool client_publication_configured(int button_number) { dsm_handle_t pub_addr_handle; if (access_model_publish_address_get(m_clients[button_number].model_handle, &pub_addr_handle) == NRF_SUCCESS) { if (pub_addr_handle == DSM_HANDLE_INVALID) { return false; } } else { return false; } return true; }
And also the button_event_handler(), accordingly:
static void button_event_handler(uint32_t button_number) { __LOG(LOG_SRC_APP, LOG_LEVEL_INFO, "Button %u pressed\n", button_number); if (client_publication_configured(button_number)) (...)
But it didn't solve.
The problem is that the pub_addr_handle always get the value of 0xffff, meaning DSM_HANDLE_INVALID, and thus the client_publication_configured() always return false.
This is the watch for m_clients array (if it's of any help):
I'm using the light switch example from Mesh SDK 2.0.1 (Softdevice s132_6_0_0) on the nRF52 DK (PCA10040 1.2.1).
BR,
Paulo Zacarias