Skip to content

Commit 1dae5d3

Browse files
committed
Added health check implementation for Aeon MultiSensor
1 parent f95319c commit 1dae5d3

File tree

3 files changed

+68
-0
lines changed

3 files changed

+68
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
.st-ignore
2+
README.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# Aeon Multisensor
2+
3+
Cloud Execution
4+
5+
Works with:
6+
7+
* [Aeotec MultiSensor (DSB05-ZWUS)](https://www.smartthings.com/products/aeotec-multisensor-5)
8+
9+
## Table of contents
10+
11+
* [Capabilities](#capabilities)
12+
* [Health](#device-health)
13+
* [Battery](#battery-specification)
14+
* [Troubleshooting](#troubleshooting)
15+
16+
## Capabilities
17+
18+
* **Motion Sensor** - can detect motion
19+
* **Temperature Measurement** - defines device measures current temperature
20+
* **Relative Humidity Measurement** - allow reading the relative humidity from devices that support it
21+
* **Illuminance Measurement** - gives the illuminance reading from devices that support it
22+
* **Configuration** - _configure()_ command called when device is installed or device preferences updated
23+
* **Sensor** - detects sensor events
24+
* **Battery** - defines device uses a battery
25+
* **Health Check** - indicates ability to get device health notifications
26+
27+
28+
## Device Health
29+
30+
Aeon Labs MultiSensor is polled by the hub.
31+
As of hubCore version 0.14.38 the hub sends up reports every 15 minutes regardless of whether the state changed.
32+
Device-Watch allows 2 check-in misses from device plus some lag time. So Check-in interval = (2*15 + 2)mins = 32 mins.
33+
Not to mention after going OFFLINE when the device is plugged back in, it might take a considerable amount of time for
34+
the device to appear as ONLINE again. This is because if this listening device does not respond to two poll requests in a row,
35+
it is not polled for 5 minutes by the hub. This can delay up the process of being marked ONLINE by quite some time.
36+
37+
* __32min__ checkInterval
38+
39+
## Battery Specification
40+
41+
Four AAA batteries are required.
42+
43+
## Troubleshooting
44+
45+
If the device doesn't pair when trying from the SmartThings mobile app, it is possible that the device is out of range.
46+
Pairing needs to be tried again by placing the device closer to the hub.
47+
Instructions related to pairing, resetting and removing the device from SmartThings can be found in the following link:
48+
* [Aeon MultiSensor Troubleshooting Tips](https://support.smartthings.com/hc/en-us/articles/206157226-How-to-connect-Aeon-Labs-MultiSensors)

devicetypes/smartthings/aeon-multisensor.src/aeon-multisensor.groovy

+18
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ metadata {
2020
capability "Illuminance Measurement"
2121
capability "Sensor"
2222
capability "Battery"
23+
capability "Health Check"
2324

2425
fingerprint deviceId: "0x2001", inClusters: "0x30,0x31,0x80,0x84,0x70,0x85,0x72,0x86"
2526
}
@@ -93,6 +94,16 @@ metadata {
9394
}
9495
}
9596

97+
def installed(){
98+
// Device-Watch simply pings if no device events received for 32min(checkInterval)
99+
sendEvent(name: "checkInterval", value: 2 * 15 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID])
100+
}
101+
102+
def updated(){
103+
// Device-Watch simply pings if no device events received for 32min(checkInterval)
104+
sendEvent(name: "checkInterval", value: 2 * 15 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID])
105+
}
106+
96107
// Parse incoming device messages to generate events
97108
def parse(String description)
98109
{
@@ -179,6 +190,13 @@ def zwaveEvent(physicalgraph.zwave.Command cmd) {
179190
[:]
180191
}
181192

193+
/**
194+
* PING is used by Device-Watch in attempt to reach the Device
195+
* */
196+
def ping() {
197+
secure(zwave.batteryV1.batteryGet())
198+
}
199+
182200
def configure() {
183201
delayBetween([
184202
// send binary sensor report instead of basic set for motion

0 commit comments

Comments
 (0)