Hi Tran Minh Tan, I hope you're doing well!
Could you try printing the following values to see if the report configurations are being saved correctly?
DBG_vPrintf(TRACE_REPORT, "Cluster %04x Attribute %04x Min %d Max %d IntV %d Direct %d Change %d\n",
u16ClusterId,
u16AttributeEnum,
asSavedReports[i].sAttributeReportingConfigurationRecord.u16MinimumReportingInterval,
asSavedReports[i].sAttributeReportingConfigurationRecord.u16MaximumReportingInterval,
asSavedReports[i].sAttributeReportingConfigurationRecord.u16TimeoutPeriodField,
asSavedReports[i].sAttributeReportingConfigurationRecord.u8DirectionIsReceived,
asSavedReports[i].sAttributeReportingConfigurationRecord.uAttributeReportableChange.zint8ReportableChange);
In the attached sniffer log the red squares show the automatic reports in the configured times, and the blue and yellow squares show the report when a cluster state changes.
If there's a change in the cluster's value, a report should be generated and sent.
Please let me know if you have any more problems.
Best regards,
Sebastian