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(),