diff --git a/devicetypes/smartthings/zigbee-button.src/.st-ignore b/devicetypes/smartthings/zigbee-button.src/.st-ignore new file mode 100644 index 0000000..f78b46e --- /dev/null +++ b/devicetypes/smartthings/zigbee-button.src/.st-ignore @@ -0,0 +1,2 @@ +.st-ignore +README.md diff --git a/devicetypes/smartthings/zigbee-button.src/README.md b/devicetypes/smartthings/zigbee-button.src/README.md new file mode 100644 index 0000000..4bab466 --- /dev/null +++ b/devicetypes/smartthings/zigbee-button.src/README.md @@ -0,0 +1,43 @@ +# ZigBee Button + +Cloud Execution + +Works with: + +* [OSRAM LIGHTIFY Dimming Switch](https://support.smartthings.com/hc/en-us/articles/115000236823-SYLVANIA-Dimming-Switch) +* [Iris Smart Button](https://support.smartthings.com/hc/en-us/articles/115000190186-Iris-Smart-Button) +* [Iris KeyFob](https://support.smartthings.com/hc/en-us/articles/217409686-Iris-Smart-Fob) + +## Table of contents + +* [Capabilities](#capabilities) +* [Health](#device-health) +* [Troubleshooting](#troubleshooting) + +## Capabilities + +* **Actuator** - It represents that a device has commands. +* **Battery** - It defines that the device has a battery +* **Button** - It defines that a device has one or more buttons +* **Holdable Button** - It defines that a device has one or more holdable buttons +* **Configuration** - _configure()_ command called when device is installed or device preferences updated +* **Refresh** - _refresh()_ command for status updates +* **Sensor** - it represents that a Device has attributes. +* **Health Check** - indicates ability to get device health notifications + + +## Device Health + +SmartThings platform will ping the device after `checkInterval` seconds of inactivity in last attempt to reach the device before marking it `OFFLINE` + +* __722min__ checkInterval + +## Troubleshooting + +If the device doesn't pair when trying from the SmartThings mobile app, it is possible that the device is out of range. +Pairing needs to be tried again by placing the device closer to the hub. +It may also happen that you need to reset the device. +Instructions related to pairing, resetting and removing the device from SmartThings can be found in the following link: +* [OSRAM LIGHTIFY Dimming Switch Troubleshooting Tips](https://support.smartthings.com/hc/en-us/articles/115000236823-SYLVANIA-Dimming-Switch) +* [Iris Smart Button Troubleshooting Tips](https://support.smartthings.com/hc/en-us/articles/115000190186-Iris-Smart-Button) +* [Iris KeyFob Troubleshooting Tips](https://support.smartthings.com/hc/en-us/articles/217409686-Iris-Smart-Fob) \ No newline at end of file diff --git a/devicetypes/smartthings/zigbee-button.src/zigbee-button.groovy b/devicetypes/smartthings/zigbee-button.src/zigbee-button.groovy index f7e2064..2ab7b45 100644 --- a/devicetypes/smartthings/zigbee-button.src/zigbee-button.groovy +++ b/devicetypes/smartthings/zigbee-button.src/zigbee-button.groovy @@ -24,6 +24,7 @@ metadata { capability "Configuration" capability "Refresh" capability "Sensor" + capability "Health Check" command "enrollResponse" @@ -182,6 +183,13 @@ 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" @@ -190,6 +198,8 @@ 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") {