@@ -937,12 +937,12 @@ bool DeRestPluginPrivate::sendConfigureReportingRequest(BindingTask &bt)
937
937
{
938
938
// Only configure periodic reports, as events are already sent though zone status change notification commands
939
939
rq.minInterval = 300 ;
940
- rq.maxInterval = 300 ;
940
+ rq.maxInterval = 3600 ;
941
941
}
942
942
else
943
943
{
944
- rq.minInterval = 1 ;
945
- rq.maxInterval = 300 ;
944
+ rq.minInterval = 300 ;
945
+ rq.maxInterval = 3600 ;
946
946
947
947
const ResourceItem *item = sensor ? sensor->item (RConfigDuration) : nullptr ;
948
948
@@ -1674,6 +1674,13 @@ bool DeRestPluginPrivate::sendConfigureReportingRequest(BindingTask &bt)
1674
1674
rq.maxInterval = 43200 ; // according to technical manual
1675
1675
rq.reportableChange8bit = 0 ;
1676
1676
}
1677
+ else if (sensor && sensor->manufacturer () == QLatin1String (" Samjin" ))
1678
+ {
1679
+ // https://github.com/SmartThingsCommunity/SmartThingsPublic/blob/master/devicetypes/smartthings/smartsense-multi-sensor.src/smartsense-multi-sensor.groovy
1680
+ rq.minInterval = 30 ;
1681
+ rq.maxInterval = 21600 ;
1682
+ rq.reportableChange8bit = 10 ;
1683
+ }
1677
1684
else
1678
1685
{
1679
1686
rq.minInterval = 300 ;
@@ -2007,30 +2014,30 @@ bool DeRestPluginPrivate::sendConfigureReportingRequest(BindingTask &bt)
2007
2014
rq.attributeId = 0x0010 ; // active
2008
2015
rq.minInterval = manufacturerCode == VENDOR_SAMJIN ? 0 : 10 ;
2009
2016
rq.maxInterval = 3600 ;
2010
- rq.reportableChange8bit = 1 ;
2017
+ rq.reportableChange8bit = 0xFF ;
2011
2018
rq.manufacturerCode = manufacturerCode;
2012
2019
2013
2020
ConfigureReportingRequest rq1;
2014
2021
rq1.dataType = deCONZ::Zcl16BitInt;
2015
2022
rq1.attributeId = 0x0012 ; // acceleration x
2016
2023
rq1.minInterval = minInterval;
2017
- rq1.maxInterval = 300 ;
2024
+ rq1.maxInterval = 3600 ;
2018
2025
rq1.reportableChange16bit = 1 ;
2019
2026
rq1.manufacturerCode = manufacturerCode;
2020
2027
2021
2028
ConfigureReportingRequest rq2;
2022
2029
rq2.dataType = deCONZ::Zcl16BitInt;
2023
2030
rq2.attributeId = 0x0013 ; // acceleration y
2024
2031
rq2.minInterval = minInterval;
2025
- rq2.maxInterval = 300 ;
2032
+ rq2.maxInterval = 3600 ;
2026
2033
rq2.reportableChange16bit = 1 ;
2027
2034
rq2.manufacturerCode = manufacturerCode;
2028
2035
2029
2036
ConfigureReportingRequest rq3;
2030
2037
rq3.dataType = deCONZ::Zcl16BitInt;
2031
2038
rq3.attributeId = 0x0014 ; // acceleration z
2032
2039
rq3.minInterval = minInterval;
2033
- rq3.maxInterval = 300 ;
2040
+ rq3.maxInterval = 3600 ;
2034
2041
rq3.reportableChange16bit = 1 ;
2035
2042
rq3.manufacturerCode = manufacturerCode;
2036
2043
@@ -2909,6 +2916,12 @@ bool DeRestPluginPrivate::checkSensorBindingsForAttributeReporting(Sensor *senso
2909
2916
{
2910
2917
continue ; // process only once
2911
2918
}
2919
+
2920
+ if (sensor->manufacturer () == QLatin1String (" Samjin" ) && sensor->modelId () == QLatin1String (" multi" ) && sensor->type () != QLatin1String (" ZHAOpenClose" ))
2921
+ {
2922
+ continue ; // process only once
2923
+ }
2924
+
2912
2925
if (sensor->modelId () == QLatin1String (" Remote switch" ) ||
2913
2926
sensor->modelId () == QLatin1String (" Shutters central remote switch" ) ||
2914
2927
sensor->modelId () == QLatin1String (" Double gangs remote switch" ) ||
0 commit comments