I know there already is some community code for this device, but I had to add my little twist to it. Some time ago I got pretty frustrated with the configuration and battery life on this device. I went about heavily optimizing this handler to make things simpler and squeeze some extra juice out of this device. I am not sure by how much, but these settings should make a difference in battery life. It has been sitting in my IDE collecting dust but wanted to make it available in case some are interested. It has some remnants of the official handler as well as so thanks to @Robert_Vandervoort and others that have worked on it.
This device has 3 different firmware versions that act a little differently which made writing code for this thing a beast, but I think I have everything working for 1.06, 1.07, 1.08. Note: 1.08 currently has a bug in the firmware that makes it so you can’t get sensor reports in intervals smaller than 30 minutes WHEN USB POWERED. If you are using battery power on these then you should be fine.
Here are some of the improvements for this handler:
- Battery optimization.
- Wake interval is set to a respectable time based on the report interval you choose. I think other handlers set this to 5 minutes (or something small). So, even if the interval report is set to every 60 minutes, the device still wakes up 11 extra times even though it has nothing to do other than check with the hub to see if it has anything “queued”!
- You can turn on selective reporting in the preferences. This will prevent the device from sending reports if small or no changes have occurred.
- If there is no work to do when the device wakes up, the handler immediately tells the device to go back to sleep. Some Z-Wave handlers will send config parameters or get parameters every time the device wakes up which causes unnecessary network traffic and wake time.
Configuration syncing. Heavily inspired by @CyrilPeponnet Fibaro Motion Sensor device handler (love this handler). I have a lot of my MultiSensors in recessed ceiling mounts. I don’t want to pull them down and press the device button every time I make a config change. This system will wait for the device to wake up and send the config changes. It also requests the results and will keep trying every time the device wakes up until the config parameters are updated. Note: this device has a pretty short wake period. Because of the cloud dependency of SmartThings, sometimes the window is missed. Just wait a while and it should sync over. Sometimes you just have to check it in the morning. If you want, you can press the button on the back and it will sync them over immediately.
Software based Temp, Humidity, Luminance, and LUX offsets. This is great because you don’t have to wait for the config parameters for these offsets to be updated to see the offset difference. In fact, the change is instant. As soon as you hit “Done” on the preferences screen the values get updated because the true value of the sensor report is recorded in the handler and it just reads that, applies the offset, and sends the event.
Battery counter. Curious about how long the current set of batteries has lasted? Just check the handler. Don’t forget to reset the counter when you change the batteries by “double tapping” the tile. It is more of a “tap, wait a second, and then tap again” motion, but that should reset it.
Firmware report. You can see which firmware the sensor is on. Right now 1.06, 1.07, and 1.08 are out in the wild. I’m guessing most people will be at 1.06. It is possible to upgrade the firmware with an Aeon Z-Stick installed as a Secondary controller. I will probably post the details for this in another thread. Should work with any Aeon device with OTA firmware updates.
Disable LED. Only available with 1.08. Turn off the LEDs and be in stealth mode.