When configuring my Bluetooth Mesh server node to the network, it receives an error and I am not sure why.
I receive an ACCESS_STATUS_INVALID_MODEL
error after having called config_client_model_app_bind()
like this:
access_model_id_t model_id =
{
.company_id = COMPANY_ID,
.model_id = BEACON_SERVER_MODEL_ID = 0x00
};
config_client_model_app_bind(256, 0, model_id);
I have heavily based my project on the Light Switch example from the mesh SDK, and are therefore at little puzzled as to why this does not work.
Am i doing anything wrong here? And if not, could the problem be on the server instead of the client?
EDIT 1:
I have tried to do some debugging on the server and found that access.c:access_handle_get()
returns NRF_ERROR_NOT_FOUND
.
It seems to do this because this if()
statement does not return true:
if (m_model_pool[i].model_info.element_index == element_index &&
m_model_pool[i].model_info.model_id.model_id == model_id.model_id &&
m_model_pool[i].model_info.model_id.company_id == model_id.company_id)
I have tried to write these values to the console, don't mind the weird format.
[0]element_index: 0x0000 == 0x0000
[0]model_id: 0x0000 == 0x0000
[0]company_id: 0xFFFF == 0x0560
[1]element_index: 0x0000 == 0x0000
[1]model_id: 0x0002 == 0x0000
[1]company_id: 0xFFFF == 0x0560
[2]element_index: 0xFFFF == 0x0000
[2]model_id: 0x0000 == 0x0000
[2]company_id: 0x0000 == 0x0560
Okay, now i can see what the problem are. But where should i correct these values?