IKEA Trådfri, battery reading incorrect

I have a few of both IKEA Trådfri motion sensors and also wireless dimmers. Both these are represented in Home Assistant with battery status. But, the level stops at 34% and remains there until it dies completely. Bug in HA or IKEA Trådfri?


This device is almost dead. It blinks red sometimes but mostly works so far. Definitely needs a new battery. But level says 34%… for most of the time! There have been a few drops I can see now.


How long does your battery last, I’ve had mine for about 3 months, I have 3 remotes they are currently reporting 60, 47, 34 - So one is already at the - “do not trust” 34% mark. I would hope they lasted longer. I rarely use them because everything is automated.

Hmm, I don’t really know… but it’s probably less than 6 months.

I think you need to watch for the 34% mark and record date+time and trigger when that date+time is like 2 months in the past… or set an alarm/calendar event.

@Konstigt, which HA version are you using (that supports the IKEA motion sensor)? Do you get motion notifications on HA or are you only monitoring the battery?

@Tamadite Only the battery. To use the motion sensor for other stuff you need to watch the state of the connected light.

One of my motion sensors is showing 21%. It is still functional.

I want to make an automation that warns when battery is low.

- alias: Sensor status
  hide_entity: true
    platform: numeric_state
    entity_id: sensor.afb_01
    value_template: '{{ state.attributes.battery_level }}'
    below: 35
    - service: notify.pushetta
        message: Battery to low      

this does not work (but I don’t get an error that something in the code is wrong).
The state it self {{ state }} doesn’t work either.

Can this be done?

i just noticed that my trådfri on/off switches dont report correctly either. I have replaced the battery in one (it reported 16%) but it still reports 16% and have done for several weeks…

Quite the same here, a few days after I started using the ikea switch (connected via conbee 2), it reported 21 % battery level. After replacing the battery, it keeps reporting 21 %…

I have the same issue. I use zigbee2mqtt and 4 IKEA Tradfri motion sensors. One of the 4 died after appr. half a year usage but 47% had been reported for the battery state. After the battery replacement it still shows 47%. The other three report 87% for battery states, but all of them work for more than 7 month. So I assume all of them report fake battery states, because those haven’t changed in the last 2 months.

Batteries usually lasts quite a long time. But the battery status of IKEA’s devices is terrible.
Usually, the battery status is reported as 100% för several months, then it goes steeply to 60%, stays there for a month or so, then the device dies. I’ve never seen battery being reported less than 50% of them, and I have 8 trådfri motion sensors active for years, and have had to replace batteries when the units just dont respond (yet reports 50% battery!). Upon changing batteries, I do test them with an external battery checker (an expensive one, not a toy one) to triangulate if it is the battery reporting that is incorrect, or that the unit simply dies despite having 50% battery.

My conclusion is that the battery is in fact almost completely drained when the unit stops responding; around 5-10% charge. Yet the Trådfri motion sensors happily reports 50-60% just to die the day after…

It is not a problem with HA, you can get the values from deconz that has nothing to do with HA, It is a problem with IKEA picking the absolutely worst quality components in order to make them cheap. Also, the firmware / drivers of TRÅDFRI devices are usually of low quality and does not follow specs in some cases. But they are cheap; I’ll give them that.

As I have understood this is because new batteries hold the voltage much better than they did before.
This means the batteries does not lower the voltage, which is what is measured as the percentage, and therefor we get these percentages that can go up and down and/or drop from 50% to 0% in a day.

Yes, you’re right. But it does not go from 50% to 0% in a second. I’m sure there would be an opportunity to broadcast a final “Im at 0% battery” message in order for HA or other hubs to take action*. Heck; sending such a message could be done with only the power of a tiny tiny capacitator even without battery and would take sub-second timing to send. But it does require the firmware to do so, and IKEA is not really a software company, so to speak.

* I have an automation that warns if any battery goes below 20%, if that happens, I get alerted. It is not really feasible to change the threshold to 60%.

Looking at this:

At some point the voltage is too low for the circuit and since the devices is asleep most of the time it’s not unreasonable they pass away in their sleep.

1 Like

Thank you for the chart. I suspected something like that, but this makes it clear.

I have a CentraLite temperature and humidity sensor which always reports 100% until it dies. It also reports voltage, and it seemed that this didn’t change much until the battery was almost dead. One of these days I may figure out how to use a template to convert voltage to battery %. This chart will be a big help.

I believe that is what the circuit does when it reports the percentage.

1 Like

So you’re saying it is not possible to estimating remaining battery life for coin cell batteries because they have a non-linear voltage pattern even if they are having a constant continuous discharge?

Well, other motions sensors seem to be able to do it. Also, you provided with a graph that would be super-easy to transform into an actual percentage. You know the voltage, and you know your power consumption. The relation is not linear, but it does exist and you would simply have to compensate for that curve. I mean, I use IKEAs own batteries in IKEAs own device. No surprises there.

But keep in mind that the ADC does not provide a very accurate number on the voltage. I wouldn’t be surprised if the reading is ± 0.1 v.
I don’t know what voltage they need to run, but lets say that is 2.6 volts. All of the sudden the line is more or less flat between 100% and 0% with the ±0.1 reading.

I don’t think they do this intentionally, after all you get what you pay for. They are cheap, expect them to not be accurate on stuff that is not critical.