Temperature sensors, battery life and Maker API

I recently purchased MOES Tuya temperature sensors. They work, and provide temperature information reliably, so I should be happy. But I'm not: battery life is somewhat poor -- I just replaced batteries last week, and they are already down to 75%. I configured sensors to report temperature once every five minutes (instead of default value of change on 0.5 degree), which improved battery life, but still not where I want it to see.

So questions are:

  1. Are there better performing in terms of battery life temperature sensors?
  2. I'm utilizing Maker API to pull sensors status once in 5 minutes -- does it forces update of each sensor at that time, or provides latest cached reading from the Hub?


For zigbee and Z-Wave battery devices, the hub reports the cached value. The devices stay asleep until they report, so the hub has no way to poll them on demand even if it wanted to.

There are exceptions to the above statement (like ZWave locks and thermostats) but that's how most battery devices work.

Reporting every 5 minutes, I would only expect them the last few weeks. A coin battery can only do a few thousand reports (in general) anyway. And every 5 minutes is 288 a day plus battery reports. So even if it can get 20,000 reports, which usually they cannot, that's only about 2 months battery life.

Edit: before the naysayers chime in, yes, I know that is an overly simplistic explanation of battery life. That was intentional.


You using primary batteries or rechargeable? That's the first question.

Are the temperatures in the area you're monitoring high or low, because in higher temps the battery will discharge faster and in cold temperatures batteries are less efficient and produce less power because the Brownian motion and other chemical/physical interactions slow down - so they're not exactly draining - just don't have the output. Cold cycling will kill some rechargeables.

I use the Tuya Zigbee sensors and I'd recommend best quality primary batteries (single use). I imagine the WiFi sensors will drain the batteries quicker because they're dealing with everything else being barfed across the WiFi network, more interference and resends etc.

My sensors are fairly good on batteries but a high temperature eats battery and I have a relatively short distance network. A long distance to the hub will increase battery consumption, maybe add repeaters.

My advice reduce polling to the minimum you're happy with and only use rechargeable batteries in places where you have easy access. I can attest, crawling around airing cupboards should be kept to a minimum.

1 Like

Probably not what you might want to hear (because of cloud dependency many here will not even consider this to be an option) but…

I have been using the YoLink temp/humidity sensors interfaced with Hubitat via the community YoLink Device App. Advantages are great range (supposedly up to 1/4 mile with no obstructions) and fantastic battery life (going on 1 1/2 years now with sensor inside refrigerator, a little less in the freezer, using AA size lithium (non-rechargeable) batteries. They have been rock-solid so far with no connection problems even when placed in a closed frig sitting in the garage and also in kitchen.

As a side note, each of their leak sensors also reports battery level as well as temperature (don’t know how accurate the temperature reading is as I have not truly tested it but the leak sensors in various rooms (mainly multiple bathrooms, kitchen, washroom and garage) seem to be commensurate with room temps displayed on nearby thermostats in adjacent rooms (don’t have any thermostats in any bathrooms, lol). I’ll have to actually test the accuracy at some time with another thermometer that I can place next to the sensors. As these sensors are generally at room temps (rather than in a frig or freezer) I have yet to have to replace the batteries after two years. They are still running on the original alkaline batteries that they were shipped with. Once the alkalines die, I plan to use non-rechargeabe lithiums like I am using in the frig/freezers for hopefully even longer life.

Again, I understand those that will “dump” on my suggestion as these are not completely local with Hubitat, but it works for me and it is only suggested as another option. So please be kind, lol! Hope this helps.

I would like to echo a statement from @RosieUK , which I have found personally to be significant:
A long distance to the hub will increase battery consumption, maybe add repeaters.

If you put a repeater close to one of these sensors, and therefore, they don't have to "exert themselves" to send a message to the hub, you will save lots of battery power.

1 Like

Thank you for confirming this. It's what I expected, but was too lazy to search for the confirmation.

Uh. That's somewhat unexpected, and not something I was aware. I'm trying to monitor refrigerator and freezer (I have a repeater nearby -- an outlet -- in order to make sure that it doesn't attempt to connect directly to the hub, which is pretty distant) -- and using Maker API to generate push alerts using monit + check script to report when temperature is above threshold. While having sensor report temperature on 0.5 degree change, I've seen it reporting every minute or so, that's why I decided to start reporting once every 5 minutes. Perhaps, this is wrong assumption on my end. Do you think switching to report on every 1 degree change would help?


I'm using cr2032 battery, which is what fits the sensor. Is there a "mod" which can allow me to use rechargeable batteries? That would be awesome if you could point me into right direction.

I'm monitoring fridge (it's between 35 to 40 degrees) and freezer (around 0 degrees). I have repeaters (outlets) right next to devices, which improved connectivity dramatically.

As I have yolink hub and few sensors for mailbox and gates already, this is interesting suggestion. does yolink sensors become available via the maker app? will that allow me to bring yolink sensor into HomeKit? That's very interesting idea - thanks!

I've had a Hue motion sensor in the freezer, reporting temp, lux, and motion for 2 years now. Still at 60%. I think it uses a couple of aaa batteries.

same i stopped using mine as the battery went to 55% within a week, after i replaced it (it only lasted a month originally) sitll looking for a sensor that works on aa or aaa batteries and also lets you configure the reporting parameters.. 3rd reality has one but it reports every 20-30 secs. and they refuse to fix it and let you configure the reporting.. so even with good batteries it is not desireable.

It would definitely help - if that makes it report less than 1x every 5m that is. :slight_smile:

I would set it to the max I could tolerate, and/or get a different sensor with a larger battery.

In my freezer I report 1x/hour. but I'm solely interested in it failing/loss of cooling - not trying to detect door left open or anything.

1 Like

You may wish to try the following alternatives:
Visonic MCT-370 : uses a CR2 (lasts a long time, under the right conditions) {Zigbee}
Fibaro : FGDW-002 : uses a ER14250 (strange, but lasts a LONG time) {Zwave}
(both allow you to configure when the device should report)
These are contact sensors so they report on open/close as well as temperature.


need muklti sensors or temp humidity.. contact sensors have no humidity reports.

I have another "trick" which enhances battery life of sensors.
This "trick" has worked for me on contact sensors, but "your mileage may vary" on humidity sensors.
When I get a new sensor (Zigbee):

  1. I change the driver to @kkossev(Thank you!) "zigbee reporting configuration" driver, send it to the device, and then change back to the original driver; this will ensure that if I don't hear from the sensor quickly (e.g. after an hour or two), I will know about it.
  2. After pairing back to the original driver, I get out my Scotch invisible tape, and proceed to cover all the holes and edges on the sensor. (As a matter of fact, I cover all of the surface area of the sensor with scotch tape.)

I found that the real degradation of the battery happens at the points of contact between the battery and the sensor. I found that it was condensation on those points that was the real issue.
Covering the entire surface of the sensor with scotch tape did not, in any way, impair the temperature sensing, or the open/close sensing of my sensors.
With a Humidity sensor - you have to try it out to see if this "trick" works.
Try it - it may work for you!

1 Like

You may wish to try out one of the sensors and place it in a relatively harsh environment (such as using it as a refrigerator or freezer sensor) to see how it works for you especially since you already have the infrastructure in place to test this out. Again, some people here may decry the use of a cloud dependent system (especially for any mission critical uses, although room temp readings probably are not that mission critical), but since you already are somewhat dependent on a cloud interface, it couldn’t hurt to try this out.

Meanwhile, testing modification of the MOES Tuya temperature sensors with 2× AA batteries.