From 5f41af35e2a98984681f4d5baca1b88fcbf74370 Mon Sep 17 00:00:00 2001 From: jackchi Date: Fri, 8 Jul 2016 15:36:58 -0700 Subject: [PATCH 1/2] [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(), From 577b1272870d15703f45f664c3fbeabec96cbca8 Mon Sep 17 00:00:00 2001 From: Juan Pablo Risso Date: Mon, 11 Jul 2016 10:04:32 -0400 Subject: [PATCH 2/2] PRP-151 Harmony cloud fix + PENG-161 - Allow setLevel (#1035) * PRP-151 - Harmony Cloud Added is IP Try around Integer.parseInt declare int p outside try * Remove unsubscribe & unschedule * PENG-161 - Allow setLevel for switch capability Last version --- .../logitech-harmony-connect.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/smartapps/smartthings/logitech-harmony-connect.src/logitech-harmony-connect.groovy b/smartapps/smartthings/logitech-harmony-connect.src/logitech-harmony-connect.groovy index 250eb58..df4cd5a 100644 --- a/smartapps/smartthings/logitech-harmony-connect.src/logitech-harmony-connect.groovy +++ b/smartapps/smartthings/logitech-harmony-connect.src/logitech-harmony-connect.groovy @@ -688,7 +688,7 @@ def validateCommand(device, command) { def capabilityCommands = getDeviceCapabilityCommands(device.capabilities) def currentDeviceCapability = getCapabilityName(device) if (currentDeviceCapability != "" && capabilityCommands[currentDeviceCapability]) { - return command in capabilityCommands[currentDeviceCapability] ? true : false + return (command in capabilityCommands[currentDeviceCapability] || (currentDeviceCapability == "Switch" && command == "setLevel" && device.hasCommand("setLevel"))) ? true : false } else { // Handling other device types here, which don't accept commands httpError(400, "Bad request.")