|
|
|
|
@@ -24,6 +24,7 @@ import physicalgraph.zigbee.zcl.DataType
|
|
|
|
|
capability "Sensor"
|
|
|
|
|
capability "Battery"
|
|
|
|
|
capability "Configuration"
|
|
|
|
|
capability "Health Check"
|
|
|
|
|
|
|
|
|
|
fingerprint profileId: "0104", inClusters: "0000,0001,0003,0004,0005,0009,0020,0101,0402,0B05,FDBD", outClusters: "000A,0019", manufacturer: "Kwikset", model: "SMARTCODE_DEADBOLT_5", deviceJoinName: "Kwikset 5-Button Deadbolt"
|
|
|
|
|
fingerprint profileId: "0104", inClusters: "0000,0001,0003,0004,0005,0009,0020,0101,0402,0B05,FDBD", outClusters: "000A,0019", manufacturer: "Kwikset", model: "SMARTCODE_LEVER_5", deviceJoinName: "Kwikset 5-Button Lever"
|
|
|
|
|
@@ -34,6 +35,7 @@ import physicalgraph.zigbee.zcl.DataType
|
|
|
|
|
fingerprint profileId: "0104", inClusters: "0000,0001,0003,0009,000A,0101,0020", outClusters: "000A,0019", manufacturer: "Yale", model: "YRD220/240 TSDB", deviceJoinName: "Yale Touch Screen Deadbolt Lock"
|
|
|
|
|
fingerprint profileId: "0104", inClusters: "0000,0001,0003,0009,000A,0101,0020", outClusters: "000A,0019", manufacturer: "Yale", model: "YRL210 PB LL", deviceJoinName: "Yale Push Button Lever Lock"
|
|
|
|
|
fingerprint profileId: "0104", inClusters: "0000,0001,0003,0009,000A,0101,0020", outClusters: "000A,0019", manufacturer: "Yale", model: "YRD226/246 TSDB", deviceJoinName: "Yale Touch Screen Deadbolt Lock"
|
|
|
|
|
fingerprint profileId: "0104", inClusters: "0000,0001,0003,0009,0020,0101,0B05", outClusters: "000A, 0019, 0B05", manufacturer: "Danalock", model: "V3-BTZB",deviceJoinName: "Danalock V3-BTZB"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
tiles(scale: 2) {
|
|
|
|
|
@@ -83,6 +85,9 @@ def uninstalled() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
def configure() {
|
|
|
|
|
// Device-Watch allows 2 check-in misses from device + ping (plus 2 min lag time)
|
|
|
|
|
sendEvent(name: "checkInterval", value: 2 * 60 * 60 + 2 * 60, displayed: false, data: [protocol: "zigbee", hubHardwareId: device.hub.hardwareID])
|
|
|
|
|
|
|
|
|
|
def cmds =
|
|
|
|
|
zigbee.configureReporting(CLUSTER_DOORLOCK, DOORLOCK_ATTR_LOCKSTATE,
|
|
|
|
|
DataType.ENUM8, 0, 3600, null) +
|
|
|
|
|
@@ -92,6 +97,13 @@ def configure() {
|
|
|
|
|
return refresh() + cmds // send refresh cmds as part of config
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* PING is used by Device-Watch in attempt to reach the Device
|
|
|
|
|
* */
|
|
|
|
|
def ping() {
|
|
|
|
|
zigbee.readAttribute(CLUSTER_DOORLOCK, DOORLOCK_ATTR_LOCKSTATE)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
def refresh() {
|
|
|
|
|
def cmds =
|
|
|
|
|
zigbee.readAttribute(CLUSTER_DOORLOCK, DOORLOCK_ATTR_LOCKSTATE) +
|
|
|
|
|
@@ -159,4 +171,4 @@ private Map parseReportAttributeMessage(String description) {
|
|
|
|
|
log.debug "parseReportAttributeMessage() --- ignoring attribute"
|
|
|
|
|
}
|
|
|
|
|
return resultMap
|
|
|
|
|
}
|
|
|
|
|
}
|