From 5f41af35e2a98984681f4d5baca1b88fcbf74370 Mon Sep 17 00:00:00 2001 From: jackchi Date: Fri, 8 Jul 2016 15:36:58 -0700 Subject: [PATCH] [CHF-138] Adds HealthCheck to Z-Wave Sensors --- .../aeon-multisensor-6.src/aeon-multisensor-6.groovy | 4 ++++ .../aeon-multisensor-gen5.src/aeon-multisensor-gen5.groovy | 5 +++++ .../smartthings/aeon-multisensor.src/aeon-multisensor.groovy | 4 ++++ 3 files changed, 13 insertions(+) diff --git a/devicetypes/smartthings/aeon-multisensor-6.src/aeon-multisensor-6.groovy b/devicetypes/smartthings/aeon-multisensor-6.src/aeon-multisensor-6.groovy index 108a72a..e29a0f5 100644 --- a/devicetypes/smartthings/aeon-multisensor-6.src/aeon-multisensor-6.groovy +++ b/devicetypes/smartthings/aeon-multisensor-6.src/aeon-multisensor-6.groovy @@ -22,6 +22,7 @@ metadata { capability "Configuration" capability "Sensor" capability "Battery" + capability "Health Check" attribute "tamper", "enum", ["detected", "clear"] attribute "batteryStatus", "string" @@ -326,6 +327,9 @@ def zwaveEvent(physicalgraph.zwave.Command cmd) { } def configure() { + // allow device user configured or default 16 min to check in; double the periodic reporting interval + sendEvent(name: "checkInterval", value: 2* timeOptionValueMap[reportInterval] ?: 2*8*60, displayed: false) + // This sensor joins as a secure device if you double-click the button to include it log.debug "${device.displayName} is configuring its settings" def request = [] diff --git a/devicetypes/smartthings/aeon-multisensor-gen5.src/aeon-multisensor-gen5.groovy b/devicetypes/smartthings/aeon-multisensor-gen5.src/aeon-multisensor-gen5.groovy index 70c23ad..8cc44a9 100644 --- a/devicetypes/smartthings/aeon-multisensor-gen5.src/aeon-multisensor-gen5.groovy +++ b/devicetypes/smartthings/aeon-multisensor-gen5.src/aeon-multisensor-gen5.groovy @@ -20,6 +20,9 @@ metadata { capability "Configuration" capability "Sensor" capability "Battery" + capability "Health Check" + + command "configureAfterSecure" fingerprint deviceId: "0x0701", inClusters: "0x5E,0x86,0x72,0x59,0x85,0x73,0x71,0x84,0x80,0x30,0x31,0x70,0x98,0x7A", outClusters:"0x5A" } @@ -245,6 +248,8 @@ def configureAfterSecure() { def configure() { // log.debug "configure()" //["delay 30000"] + secure(zwave.securityV1.securityCommandsSupportedGet()) + // allow device 16 min to check in; double the periodic reporting interval + sendEvent(name: "checkInterval", value: 2*8*60, displayed: false) } private setConfigured() { diff --git a/devicetypes/smartthings/aeon-multisensor.src/aeon-multisensor.groovy b/devicetypes/smartthings/aeon-multisensor.src/aeon-multisensor.groovy index 5d6de58..9a6b164 100644 --- a/devicetypes/smartthings/aeon-multisensor.src/aeon-multisensor.groovy +++ b/devicetypes/smartthings/aeon-multisensor.src/aeon-multisensor.groovy @@ -20,6 +20,7 @@ metadata { capability "Illuminance Measurement" capability "Sensor" capability "Battery" + capability "Health Check" fingerprint deviceId: "0x2001", inClusters: "0x30,0x31,0x80,0x84,0x70,0x85,0x72,0x86" } @@ -180,6 +181,9 @@ def zwaveEvent(physicalgraph.zwave.Command cmd) { } def configure() { + // allow device 10 min to check in; double the periodic reporting interval + sendEvent(name: "checkInterval", value: 2*5*60, displayed: false) + delayBetween([ // send binary sensor report instead of basic set for motion zwave.configurationV1.configurationSet(parameterNumber: 5, size: 1, scaledConfigurationValue: 2).format(),