From c370e88a6b205ef8e338779111cb476c158cc715 Mon Sep 17 00:00:00 2001 From: jackchi Date: Fri, 30 Jun 2017 10:44:20 -0700 Subject: [PATCH] [DHF-16] ZigBee Button Device Health Update --- devicetypes/smartthings/zigbee-button.src/README.md | 3 +-- .../zigbee-button.src/zigbee-button.groovy | 13 ++++--------- 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/devicetypes/smartthings/zigbee-button.src/README.md b/devicetypes/smartthings/zigbee-button.src/README.md index 4bab466..1ca93ea 100644 --- a/devicetypes/smartthings/zigbee-button.src/README.md +++ b/devicetypes/smartthings/zigbee-button.src/README.md @@ -28,9 +28,8 @@ Works with: ## Device Health -SmartThings platform will ping the device after `checkInterval` seconds of inactivity in last attempt to reach the device before marking it `OFFLINE` +ZigBee Button is marked offline only in the case when Hub is offline. -* __722min__ checkInterval ## Troubleshooting diff --git a/devicetypes/smartthings/zigbee-button.src/zigbee-button.groovy b/devicetypes/smartthings/zigbee-button.src/zigbee-button.groovy index 2ab7b45..81c8d64 100644 --- a/devicetypes/smartthings/zigbee-button.src/zigbee-button.groovy +++ b/devicetypes/smartthings/zigbee-button.src/zigbee-button.groovy @@ -13,6 +13,8 @@ * for the specific language governing permissions and limitations under the License. * */ + +import groovy.json.JsonOutput import physicalgraph.zigbee.zcl.DataType metadata { @@ -183,13 +185,6 @@ private Map parseNonIasButtonMessage(Map descMap){ } } -/** - * PING is used by Device-Watch in attempt to reach the Device - * */ -def ping() { - refresh() -} - def refresh() { log.debug "Refreshing Battery" @@ -198,8 +193,6 @@ def refresh() { } def configure() { - // Device-Watch allows 2 check-in misses from device (plus 2 mins lag time) - sendEvent(name: "checkInterval", value: 2 * 6 * 60 * 60 + 2 * 60, displayed: false, data: [protocol: "zigbee", hubHardwareId: device.hub.hardwareID]) log.debug "Configuring Reporting, IAS CIE, and Bindings." def cmds = [] if (device.getDataValue("model") == "3450-L") { @@ -259,6 +252,8 @@ def updated() { } def initialize() { + // Arrival sensors only goes OFFLINE when Hub is off + sendEvent(name: "DeviceWatch-Enroll", value: JsonOutput.toJson([protocol: "zigbee", scheme:"untracked"]), displayed: false) if ((device.getDataValue("manufacturer") == "OSRAM") && (device.getDataValue("model") == "LIGHTIFY Dimming Switch")) { sendEvent(name: "numberOfButtons", value: 2) }