From ef8611d2eaa8bcb529ecb4984292dadb727133a9 Mon Sep 17 00:00:00 2001 From: "piyush.c" Date: Fri, 16 Dec 2016 17:21:02 +0530 Subject: [PATCH] [CHF-482] Health Check implementation for Z-Wave Metering Dimmer --- .../zwave-metering-dimmer.groovy | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/devicetypes/smartthings/zwave-metering-dimmer.src/zwave-metering-dimmer.groovy b/devicetypes/smartthings/zwave-metering-dimmer.src/zwave-metering-dimmer.groovy index 4631203..7773917 100644 --- a/devicetypes/smartthings/zwave-metering-dimmer.src/zwave-metering-dimmer.groovy +++ b/devicetypes/smartthings/zwave-metering-dimmer.src/zwave-metering-dimmer.groovy @@ -25,10 +25,12 @@ metadata { capability "Switch Level" capability "Sensor" capability "Actuator" + capability "Health Check" command "reset" fingerprint inClusters: "0x26,0x32" + fingerprint mfr:"0086", prod:"0003", model:"001B", deviceJoinName: "Aeon Labs Micro Smart Dimmer 2E" } simulator { @@ -98,6 +100,9 @@ def parse(String description) { } def updated() { + // Device-Watch simply pings if no device events received for 32min(checkInterval) + sendEvent(name: "checkInterval", value: 2 * 15 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID]) + response(refresh()) } @@ -162,6 +167,14 @@ def poll() { ], 1000) } +/** + * PING is used by Device-Watch in attempt to reach the Device + * */ +def ping() { + log.debug "ping() called" + refresh() +} + def refresh() { delayBetween([ zwave.switchMultilevelV1.switchMultilevelGet().format(),