Zigbee Smartthings Sensor Battery State

I’ve been using WebThings on a Rpi with Digi zigbee usb dongle. Works great for the most part.

A couple days ago I had a motion sensor (samsung smartthings) stuck in a motion state. Went thru the sumsung support website process. Unjoined the device then rejoined with no success. In the end I changed the battery and it started working perfect again.

This samsung zigbee motion sensor shows a battery property in the WebThings platform but that property never reflected the battery was low. I suspect I have other sensors about to cross that low battery threshold and I’d like to write a rule to notify me when this occurs. Am I doing something wrong? Has anyone had success with samsung sensors updating the battery state?

Thanks in advance.

I have a SmartThings motion sensor that works flawlessly, but I’ve not yet had the battery die. There’s also a voltage property. I wonder if that may work better?

Thank you Mrstegeman. I performed a test. Voltage is a good indicator.

In the UI things properties only shows voltage as an integer. In the rules a voltage can be selected from integer options but when I typed in 3.3v manually I was able to trigger an event with a new battery in the device that was reading 3.25v on a voltmeter. 3.2v triggered no event.

A couple things come to mind. Is there anyway to change the thing’s property display to allow for more decimal positions (at least #.#)? My non-working battery measured 2.46v. As I look at other sensors in the house some have fallen below a functioning level. Any suggestions for a good working voltage threshold? Maybe 2.6-2.7v?

I’m also a little surprised about the short battery life. I thought zigbee devices could last a year or more… this device has been in place since September. Any suggestions on improving battery life? All these sensors are subjects in always on rules. Does this cause more communication between the sensor and the gateway therefore resulting in more power draw?

A couple things come to mind. Is there anyway to change the thing’s property display to allow for more decimal positions (at least #.#)?

There’s not a user-facing way, but it can be done in the adapter. I’m working on it.

My non-working battery measured 2.46v. As I look at other sensors in the house some have fallen below a functioning level. Any suggestions for a good working voltage threshold? Maybe 2.6-2.7v?

Not sure, this is entirely device-dependent. I’m trying to figure out the same thing for my thermostats.

I’m also a little surprised about the short battery life. I thought zigbee devices could last a year or more… this device has been in place since September. Any suggestions on improving battery life? All these sensors are subjects in always on rules. Does this cause more communication between the sensor and the gateway therefore resulting in more power draw?

The rules don’t effect the device at all. They just watch for incoming property changes that would already be occurring.

I released an update to the Zigbee add-on (v0.10.7) that adds a decimal point to the battery voltage. Hopefully that helps!

Nice change! I’m going to look at all my batteries showing low and see if the device is still functioning. I’ll report back on a threshold voltage target for the smartthings zigbee sensors. Thanks.

Here’s the result of further research. I hope others can gain from my efforts.

Bottom line is batteries don’t last long in samsung zigbee smarthings sensors (or the batteries supplied are junk) and writing a rule to alarm when batteries are low is a significant task. Time will tell if this works. It’s very inconvenient to have sensors go offline with no notice because of dead batteries.

I have 12 leak detectors, 6 motion sensors and three door sensors. The batteries are original devices and about 4 months old. All three door sensors, 1 motion sensor and two leak detectors had low batteries, were not functioning and had no low battery flag set in the UI.

After replacing the 6 low batteries, on each of 21 sensors I checked the battery voltage with a voltmeter and compared it to the reported reading from the sensor in the UI. The actual voltage per voltmeter checks was variable but consistently higher than the value reported by the UI by about .2 - .3 volts and as much as .7 volts on one sensor. The sensor/UI voltage value can’t be trusted to determine the actual battery state!

I’ve written rules to alarm low battery voltage states using customized voltage targets for each sensor based on my comparisons and aiming for a 2.7 volt alarming threshold. I’ve derived the 2.7v threshold from the attached eveready tech info for each battery type (CR2450 for doors , CR2 for others) and may adjust it as time moves on.

I’ve also written a rule to alarm when the battery low state goes true. I have very little faith this will function correctly. I’ve started logging my sensor with the weakest battery for voltage and battery low state. That may yield future insights.

Like I said, identifying a low battery is a system priority in my case. If someone has better ideas and strategies I’m open to all suggestions.