Filter Philips specific configure reporting
@@ -619,6 +619,9 @@ bool DeRestPluginPrivate::sendConfigureReportingRequest(BindingTask &bt)
rq.minInterval = 1; // value used by Hue bridge
rq.maxInterval = 300; // value used by Hue bridge
if (sendConfigureReportingRequest(bt, rq))
+ {
+ Sensor *sensor = static_cast<Sensor *>(bt.restNode);
+ if (sensor && sensor->modelId() == QLatin1String("SML001")) // Hue motion sensor
{
rq = ConfigureReportingRequest();
rq.dataType = deCONZ::Zcl8BitUint;
@@ -628,6 +631,8 @@ bool DeRestPluginPrivate::sendConfigureReportingRequest(BindingTask &bt)
rq.manufacturerCode = VENDOR_PHILIPS;
return sendConfigureReportingRequest(bt, rq);
}
+ return true;
+ }
return false;
}
else if (bt.binding.clusterId == ILLUMINANCE_MEASUREMENT_CLUSTER_ID)
@@ -737,7 +742,8 @@ bool DeRestPluginPrivate::sendConfigureReportingRequest(BindingTask &bt)
rq.reportableChange16bit = 1;
return sendConfigureReportingRequest(bt, rq);
}
- else if (bt.binding.clusterId == BASIC_CLUSTER_ID)
+ else if (bt.binding.clusterId == BASIC_CLUSTER_ID &&
+ (bt.restNode->address().ext() & macPrefixMask) == philipsMacPrefix)
{
rq.dataType = deCONZ::ZclBoolean;
rq.attributeId = 0x0032; // usertest
