Battery level kwickset 914 not reporting

Battery level on Kwikset 914 went from 20% to 1% in one day. Replaced batteries and level indicator remained at 1%. How do I get it to report the current battery level?
Thank you,

I have a Kwikset, mine is a 910, that is doing the same thing. Since I changed the batteries last time my battery level has stayed at 0%. I can not get it to report correctly. I have removed and re-paired with no change. It works but it always shows at 0%.

I had same problem a couple months ago with the 914. I waited a month after changing the batteries but never got battery status to update. Had to do a full lock reset and reconnect to ST to get battery status to return. Then had same problem with a 916 lock after proactively changing the battery before it fully drained.

Also, currently have the same ongoing problem with one of my original Smartsense Motion Sensors. It reports motion but battery status remains empty for about a 2 or 3 weeks since I changed the batteries.

@Terminal @Dlee @garyswartz I have a kwikset 915 and had a similar issue after changing batteries just a couple of days ago. The solution I used, which at least in my mind is simpler than excluding it or resetting it, is to update the device handler code a little bit. Basically I added the z-wave battery command to the refresh button so that when you tap refresh it will update the battery. It worked for me almost instantly. I can try to explain how to do it if you guys are interested. It isn’t hard but you do have to be familiar with the IDE and device types etc. There is not guarantee it will work, but I think it should…

That sounds like the right fix. ST must have stupified device handlers a few months ago to save bytes. Didn’t have this problem before and noticed Zwave switch default DTH lost its refresh code. What line of code did you add?

I would like to know this as well. Thanks

I’m out but give me a few and I’ll give you the directions. Do you know what DTH you’re using? It’s a little different depending on which one. You can also just change to one temporarily, update the battery, the change back.

Ok~So it depends slightly on your DTH and how they formatted things but follow whichever looks like yours.

In the refresh function add something like:

cmds << secure(zwave.batteryV1.batteryGet())

or if your DTH looks like:

def cmds = secureSequence([zwave.doorLockV1.doorLockOperationGet(),

then add:


somewhere in there. Then just save and publish and hit the refresh button. You can watch the live logging as well to see what response you get. Let me know if it works or you have issues.


@njschwartz Thank you that did the trick. I finally have battery indication again. You the man! That has been bugging me for about 3 months now.,

1 Like

Thanks. I recently switched to Lock Manager which has its own DTH IIRC, but I’m thinking your code might help me sort similar issues with a couple other device types.

I think that is the DTH I am using as well “z-wave lock reporting”. What I said above will work with that DTH. Just throw the correct code into the refresh function and it should update it for you.

Hello Nate, Where do I find the Device Type Handler for the device? I checked online and could locate the Device on, but there is no option to edit the Device Type Handler for this device. Please advise.

Go to My Devices, then select the device. At the bottom click the edit button. Go and select the DTH you want to use from the “type” drop down.

{edit] Just realized you want to know how to edit the DTH not just change it. That is a whole other thing. You will need to add it to my device handlers and then edit it there.

Maybe start here:

I too have had battery issues with my kwikset 916. Battery goes from 100%-0% in 1 -2 weeks. Replace with new batteries, then 100%-0% percent in 1-2 weeks again.

@sahabjee Hey Ravi, what @Terminal said is accurate. You are going to need to do a couple of things. First you need to get a new device handler for the lock that you can edit and install it in the IDE. I will try to walk you through it briefly.

In the IDE under My Device Handlers click settings in the top right and then click add new repository. Fill in the blanks as follows: under owner type: ethayer under name: type lock-manager and under branch type: master
Save that and then click on update from repo and you should see the one you just added. Click on it and it will show you all the Device Handlers you can choose from in that repo. You should see one called ethayer:Z-Wave Lock Reporting. Select it and click the publish box and then Execute update. Then you can go in and edit the code as I discussed above. On line 533 below def cmds = [secure(zwave.doorLockV1.doorLockOperationGet())] add the line cmds << secure(zwave.batteryV1.batteryGet())

Finally go to the My Devices tab of the IDE and find your lock click it and then select edit and then change the DTH to the new one you just edited and click update. Now if you go into the ST app on your phone and click refresh it should update the battery for you. If you want you can switch the DTH back to whatever you were using as well.

I know this is kind of long and confusing but hopefully it points you in the right direction. then switch



I have heard of people having that issue and have had it myself once or twice. Are you using rechargeable batteries? That seems to be a major culprit.

I’m not using rechargeable batteries. Did you ever get your issue fixed?

For me it just kind of went away and I haven’t had an issue since. Did you try adding the code mentioned above to force the DTH to request the battery level? I am curious if that is what fixed it for me. I don’t really know for certain, but it couldn’t hurt to try. It seems like the stock DTH just doesn’t poll for battery correctly so maybe it isn’t accurate.

I can give it a shot