Battery sensor monitoring Z-Wave JS / Zigbee2mqtt HELP! Find Dead Sensors

I have Zigbee and Z-Wave in my home and I’m struggling with dead battery devices such as window sensors and so on.

Each Zigbee / Z-Wave device of course reports it’s battery level and I am monitoring these using the battery card. In most cases the battery level is not reliable.

For example I have a Z-Wave window sensor that recently had a new battery and works fine when I open the window and yet consistently reports 0% battery. In another case I have a Zigbee motion sensor that last reported battery of 60% that I found to be dead.

Realistically I can’t use the device reported battery levels.

I’m currently using a script that I execute every hour that looks at each sensor and determines when it was last changed. The bones of what I’m using are here and this was VERY helpful to get me started.

My question is WHAT entity to monitor. Obviously these are battery devices and only wake up on a schedule.

For Z-Wave I am using the Node Status entity (I’m using Z-Wave JS add on and the integration). I’m posting this at Oct 30 7:35am and the Developer Tools States for this entity are showing that the Node Status has been asleep for close to 2 days. Does this sound right?

Screen Shot 2021-10-30 at 7.37.53 AM

With Zigbee I have been using the Link Quality entity hoping that it would change over time and check in with the hub.

Neither Z-Wave Node Status or Zigbee Link Quality are helping me determine if the sensor is dead. I can open the front door and my automations work fine. Node Status stays asleep etc.

Any help would be appreciated.

Goal is to find dead battery sensors by looking at when they last talked to the hub. I don’t care if it takes me 2 days to find a dead sensor.

Thanks!!

1 Like

How did you solve this? What are you tracking? I too use both zwavejs2mqtt and zigbee2mqtt.