diff --git a/devicetypes/smartthings/zwave-lock.src/zwave-lock.groovy b/devicetypes/smartthings/zwave-lock.src/zwave-lock.groovy index 0535ffa..948bcc7 100644 --- a/devicetypes/smartthings/zwave-lock.src/zwave-lock.groovy +++ b/devicetypes/smartthings/zwave-lock.src/zwave-lock.groovy @@ -41,6 +41,7 @@ metadata { attributeState "locked", label:'locked', action:"lock.unlock", icon:"st.locks.lock.locked", backgroundColor:"#79b821", nextState:"unlocking" attributeState "unlocked", label:'unlocked', action:"lock.lock", icon:"st.locks.lock.unlocked", backgroundColor:"#ffffff", nextState:"locking" attributeState "unknown", label:"unknown", action:"lock.lock", icon:"st.locks.lock.unknown", backgroundColor:"#ffffff", nextState:"locking" + attributeState "jammed", label:"jammed", action:"lock.locl", icon:"st.locks.lock.unknown", backgroundColor:"#ffffff", nextState:"locking" attributeState "locking", label:'locking', icon:"st.locks.lock.locked", backgroundColor:"#79b821" attributeState "unlocking", label:'unlocking', icon:"st.locks.lock.unlocked", backgroundColor:"#ffffff" } @@ -130,7 +131,7 @@ def zwaveEvent(DoorLockOperationReport cmd) { if (cmd.doorLockMode == 0xFF) { map.value = "locked" } else if (cmd.doorLockMode >= 0x40) { - map.value = "unknown" + map.value = "unknown" // XXX: Jammed? } else if (cmd.doorLockMode & 1) { map.value = "unlocked with timeout" } else { @@ -180,7 +181,7 @@ def zwaveEvent(physicalgraph.zwave.commands.alarmv2.AlarmReport cmd) { map = [ name: "lock", value: "unknown", descriptionText: "$device.displayName was not locked fully" ] break case 0xB: - map = [ name: "lock", value: "unknown", descriptionText: "$device.displayName is jammed" ] + map = [ name: "lock", value: "jammed", descriptionText: "$device.displayName is jammed" ] break case 0xC: map = [ name: "codeChanged", value: "all", descriptionText: "$device.displayName: all user codes deleted", isStateChange: true ] @@ -266,7 +267,7 @@ def zwaveEvent(physicalgraph.zwave.commands.alarmv2.AlarmReport cmd) { case 17: case 23: case 26: - map = [ name: "lock", value: "unknown", descriptionText: "$device.displayName bolt is jammed" ] + map = [ name: "lock", value: "jammed", descriptionText: "$device.displayName bolt is jammed" ] break case 13: map = [ name: "codeChanged", value: cmd.alarmLevel, descriptionText: "$device.displayName code $cmd.alarmLevel was added", isStateChange: true ]