Answers checklist.
General issue report
Both functions use "esp_rmaker_report_param_internal." Could there be a conflict with the buffer where the parameters are written to report? For example, an MQTT message arrives, triggering "esp_rmaker_set_params_callback." While writing to the "s_node_params_buf" buffer, the main app is unlocked by some event and calls "esp_rmaker_param_update_and_report." Should there be some kind of semaphore?