No sensor for zwave lock status

I have a Kwikset 910 zwave lock. The lock works, I can lock/unlock and I even see a RF Locked/Unlocked status when inspecting the lock service.

However, there are only 3 sensors, battery_level, alarm_type, and alarm_level. I believe alarm type or alarm level may indicate the state of the lock, but they just return integers. How do I know what the different numbers mean and how would I go about setting up a human readable sensor?

The actual lock status (locked/unlocked) is in lock.entity_name

sensor.entity_name_alarm_type will indicate how the lock was last locked or unlocked (manual, keypad, or RF) and other status such as jammed or successful.

sensor.entity_name_alarm_level is usually the lock’s user id of the user who last locked or unlocked the lock if the alarm_type is a keypad unlocked/locked type (I.E. reflecting which entry code was used)

Depending on the Z-Wave alarm command class version of your lock, the alarm_type may be standardized (command class version 2) or manufacturer dependant (command class version 1).

I’m guessing your Kwikset lock is command class version 1 since you don’t have an access_control sensor.

If your device has a sensor.entity_name_access_control, this may also indicate how the alarm was last locked or unlocked.

You can see the values for alarm_type and access_control in the Z-Wave Entity Naming document

Doing a google search it looks like the alarm_type values for Kwikset locks are manufacturer-dependant (class 1). This might be what yours uses and seems to correspond with the Home Assistant document above but also has some additional codes mostly related to a jammed lock and user code management.

http://s7d5.scene7.com/is/content/BDHHI/ApplicationNote-UsingASCII-Z-Wave-Locks
image

1 Like

The above is if you want to use your lock status in an automation.

To see the lock status in human readable form, you can use the lock_status attribute of the lock entity.

Example lovelace card:

type: entities
entities:
  - entity: lock.front_door_lock
    type: attribute    
    attribute: lock_status

image

1 Like

Thanks, that’s very helpful. When I add that card though, the status says “Manually Unlocked”. But it is actually locked. It was manually unlocked and then later closed by Home Assistant.

However, the history tab correctly shows that it is locked.

image

image

Hello,

I just tried this as a way to display the lock_status and I just get a blank “-” result.

My code…

type: entities
entities:
  - entity: lock.back_door_lock
  - entity: lock.back_door_lock
    type: attribute
    attribute: lock_status
title: Back Door Lock

Any thoughts? I have a Kwikset 910 if that matters.

I believe the info from the top of the thread is old and predates the new zwavejs integration.

Are you using the new ZwaveJS or zwavejs2mqtt integration? I get lock status and can lock and unlock fine with the new zwave integration, and I have two kwikset 910 locks.

Beyond simple status, you can get more advanced information - like manually locked, rflocked, tampered, etc by monitoring the output from the zwave_js_notification event.

I am brand new to Home Assistant. I am testing it out after many years of HomeSeer usage.

I am using the ZwaveJS integration. Monitoring the event output sounds like what I’m trying to do. I guess I’ll have to learn more about that.