Skip reporting configuration if reports where received in a timely manner
@@ -514,6 +514,15 @@ bool DeRestPluginPrivate::sendConfigureReportingRequest(BindingTask &bt, Configu
if (val.clusterId == bt.binding.clusterId)
{
// value exists
+ QDateTime now = QDateTime::currentDateTime();
+ if (val.timestampLastReport.isValid() &&
+ val.timestampLastReport.secsTo(now) < qMin((rq.maxInterval * 3), 1800))
+ {
+ DBG_Printf(DBG_INFO, "skip configure report for cluster: 0x%04X attr: 0x%04X of node 0x%016llX\n",
+ bt.binding.clusterId, rq.attributeId, bt.restNode->address().ext());
+ return false;
+ }
+
val.timestampLastReport = QDateTime::currentDateTime();
}
else
