Open fgilcc opened 4 years ago
Hi @Mantaba
Sorry for the late reply.
Because for a vendor model, the opcode of its message must be 3 octets. If using the SIG-defined opcodes for vendor models, and when the message is received, the mesh stack will find the corresponding model based on the received opcode among SIG models, no proper model will be found, thus the message will be ignored.
Thanks.
@Mantaba Thanks for reporting and sorry for the slow turnaround, would you please help share if any updates of this issue?Thanks.
Environment
git describe --tags
to find it): // v4.2-dev-358-ga0644bf8axtensa-esp32-elf-gcc --version
to find it): // xtensa-esp32-elf 8.2.0Problem Description
I can send messages with generic Opcodes from vendor models to SIG models, but I can't receive generic messages on vendor models even though I've also registered a generic Opcode for my server model.
esp_ble_mesh_model_op_t test_onoff_srv_op[] = { ESP_BLE_MESH_MODEL_OP(ESP_BLE_MESH_VND_MODEL_OP_TEST_ONOFF_GET, 1), ESP_BLE_MESH_MODEL_OP(ESP_BLE_MESH_VND_MODEL_OP_TEST_ONOFF_SET, 1), ESP_BLE_MESH_MODEL_OP(ESP_BLE_MESH_VND_MODEL_OP_TEST_ONOFF_SET_UNACK, 1), ESP_BLE_MESH_MODEL_OP(ESP_BLE_MESH_MODEL_OP_GEN_ONOFF_SET_UNACK, 1), ESP_BLE_MESH_MODEL_OP_END, };
Expected Behavior
I expected messages with
ESP_BLE_MESH_MODEL_OP_GEN_ONOFF_SET_UNACK
Opcode to trigger the callback function for custom server models.Actual Behavior
Message is completely ignored and callback function is never called.
Steps to reproduce
ESP_BLE_MESH_MODEL_OP_GEN_ONOFF_SET_UNACK
Opcode