Kwikset lock -- only *some* sensor values are updating some of the time

I have a Kwikset 914 Z-Wave keypad, and I’m running Z-Wave JS. I setup an automation to check one of the sensors created by this device (binary_sensor.mudroom_door_lock_power_management_replace_battery_soon) and send me a push alert if it is activated. This worked fine, and it alerted me when the battery level dropped low enough that I needed to replace them. (So, this sensor changed from “off” to “on” as expected.)

So I replaced the batteries…4 weeks ago. And this sensor is still set to “on”. The battery level sensor (sensor.mudroom_door_lock_battery_level) reports 100, so it changed after the battery swap. But after weeks, including at least one Home Assistant restart for an update, the alarm sensor is stuck in “on”.

Digging around a bit at the many other sensors this device created, and some of them are also in states that don’t make sense. For example, the first sensor in this screenshot (jammed) has been “on” forever, apparently. Or at least for a month, which is a far back as my state history goes.

I’ve noticed similar behavior with the actual locked/unlock state of the deadbolt – it’s supposed to notify me when it is unlocked and I’m gone (usually because my in-laws come by the house), but I know for a fact it only works some of the time.

So all in all, the thing seems to be very erratic in what it updates and what it doesn’t. Some values have been stuck in the wrong state for a month or more, others update…sometimes.

Any ideas? The house footprint isn’t huge, so in terms of range it’s one floor away and probably 35 feet from the Z-Wave stick on my HA server. Many, many z-wave light switches in between for meshing (if locks are even allowed to mesh? Or do they have to be direct to controller? I don’t know).

Additionally, I’ve noticed the locked status of the primary entity is no longer updating – it’s showed as unlocked for days, even though that’s not the case. I can actuate the lock from Home Assistant – as in, I just locked the door using HA on my phone – but the entity status still shows “Unlocked”!

However, in Z-Wave JS control panel, I see different values. I’m starting to think the problem isn’t the door lock not reporting updates, but rather an issue in Z-Wave JS or Home Assistant.

HA:

Z-Wave JS:
image

I have the same issues with not being able to reset various sensors for my Schlage locks. The only way I’ve found to reset them sensors is to do a factory reset on the lock (Schlage tech support has verified this). It makes the sensors basically pointless because they only work once (without resetting the lock and readding it to the zwave network).

As for your status updates, I think it might have something to do with the zwave update for S2 security. My locks status also stopped updating after that zwave js update. I ended up removing the nodes from the zwave config and readding them (with S2 security). Everything is working fine now.

I would try removing the locks from your zwave network, factory resetting them, then adding them back in to zwave. Hopefully that will resolve your problem.

The sensors will only change if the device sends an “idle” notification. It would either be an issue with the device never sending the idle notification, or the idle notification was missed (e.g. the z-wave software was offline). In some specific cases these sensors would be auto-idled after 5 mins, but that depends on the device. It is a known issue that some devices behave this way. https://github.com/zwave-js/node-zwave-js/issues/1543

The boltStatus property is not used by HA. The state of the lock would be derived from the 26-98-0-currentMode value ID ("Current lock mode"). A value of Secured (or 255) is the locked state, any other value is the unlocked state.

These locks do not (last I checked) support S2, only the 6xx series Kwikset locks support S2.

I would still try removing them from your zwave network and re-adding them to eliminate any issues there as being the problem before you pull your hair out trying to figure it out. Reboot the server in between removing them and adding them too.

Same boat.

Locks worked fine for a long time until some recent updating I think. I can confirm the only value I see updated is “last seen”. Controls still do work, but Homeassist does not properly track if the lock is “secured” or not (not even “lock_mode” gets updated)

edit: locks added through S2, locks HC620, zwave-js-ui: 9.26, homeassist: 2024.11.1
Have 2 locks, both locks display the same behavior


Works perfectly fine here.

How many mains powered zwave nodes do you have?

I have this very same problem and could not seemingly get the lock to report the correct state after it was locked or unlocked, either manually or via zwave command.

I resorted to creating an automation that runs every two minutes to refresh the cc values for the lock state.

I just started having this same problem a few days ago. My Kwikset 620 all of a sudden stopped autolocking. Finally checked HA, and the lock status wasn’t synced. It was showing permanent locked. I could click on Unlock, and then back to Lock, and it would lock. Then unlock again, and it would unlock, but no status update. But zwave-js-ui isn’t showing the status change either. I manually sent the autolock time through the ui, and now it’s autolocking again, but still no status updates. I’ve tried refreshing everything I can in zwave-js-ui but nothing helps, and eventually the statuses I did have went to unknown. It responds to pings and such, so it seems to be sending some data from the lock. I can’t remove the device to try re-adding because the only option is for exclusion, and nothing happens when I press the button on the lock (I’m not sure if it allows exclusion?). Really frustrating because nothing has changed in my software and now I have no lock status. It’s also weird that the autolock timer got turned off. I’m not really sure what it means to “refresh the cc values”, but I don’t think it would work anyway since I can’t refresh from zwave-js-ui.

Edit: Well that was a waste of 3 hours of my life. I removed the battery pack from the lock for a few seconds, put it back, and now everything is working normally! Oddly, it was showing 56% battery before, and now 75%! The batteries are about 8 months old and the lock isn’t used much, so really either value wouldn’t surprise me. One thing is I’m not sure if the timer set is working properly through HA now. It’s an automation I built based on Keymaster, pretty simple. Future problem.