From 837d2d0cfd22663908d33d54a96818aa1e7ab8e1 Mon Sep 17 00:00:00 2001 From: Tom Manley Date: Thu, 31 Dec 2015 11:13:41 -0600 Subject: [PATCH] multi: ignore attribute reports that don't include all three axis Resolves: https://smartthings.atlassian.net/browse/DVCSMP-1366 --- .../smartsense-multi-sensor.groovy | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/devicetypes/smartthings/smartsense-multi-sensor.src/smartsense-multi-sensor.groovy b/devicetypes/smartthings/smartsense-multi-sensor.src/smartsense-multi-sensor.groovy index 4cdece9..8dd6c94 100644 --- a/devicetypes/smartthings/smartsense-multi-sensor.src/smartsense-multi-sensor.groovy +++ b/devicetypes/smartthings/smartsense-multi-sensor.src/smartsense-multi-sensor.groovy @@ -204,8 +204,10 @@ private List parseReportAttributeMessage(String description) { } result << getAccelerationResult(descMap.value) } - else if (descMap.cluster == "FC02" && descMap.attrId == "0012") { - result << parseAxis(descMap.value) + else if (descMap.cluster == "FC02" && descMap.attrId == "0012" && descMap.value.size() == 24) { + // The size is checked to ensure the attribute report contains X, Y and Z values + // If all three axis are not included then the attribute report is ignored + result << parseAxis(descMap.value) } else if (descMap.cluster == "0001" && descMap.attrId == "0020") { result << getBatteryResult(Integer.parseInt(descMap.value, 16))