Zwave JS showing too many entities for lock

I’m using the new Zwave-JS integration with my Yale lock (YRD216). When I go to the Zwave2MQTT control panel, I see the following entities:

When I go to Home Assistant, I see even more entities! Many of these are simply not available for this lock (e.g., door status, lock jammed, etc.).

I realize I can disable these entities if needed, but I’m wondering why they get added in the first place. It can be a bit difficult to tell which entities are actually provided by the Zwave JS integration.

I’m using Zwave JS with a Yale YRD216 lock and am getting the following entity in the list for the device. It has always been listed as available, even when I first set up the Z-wave JS integration. I’m not sure where this came from or why it appears if it is listed as unavailable. As far as I can tell, this should contain information about how the door was opened (e.g., key, manual, RF, keypad):

My entities are disabled as well.

You need to subscribe to the zwave_js_event to determine how the door was opened and by who. In my case I use a template and map the code to a name and store that in a Helper field for each door lock.

Sample Event:

{
    "event_type": "zwave_js_event",
    "data": {
        "type": "notification",
        "domain": "zwave_js",
        "node_id": 42,
        "home_id": 3649376831,
        "device_id": "51cb2157b0d46f9d4686630fd039745e",
        "label": "Keypad unlock operation",
        "parameters": {
            "userId": 1
        }
    },
    "origin": "LOCAL",
    "time_fired": "2021-03-05T15:04:33.688394+00:00",
    "context": {
        "id": "46a7a44c6ad6974a1b5c911c7324d2c5f",
        "parent_id": null,
        "user_id": null
    }
}

Hi Neil. I’ve just changed over from ZWave to Zwave JS and I’m wanting to restore my automations that used to use:

value_template: "{{ (state_attr('lock.frontdoor_deadbolt', 'lock_status')) == 'Unlocked with Keypad by user 2' }}"

Any chance you could share your code you mention above that shows how to do this now by listening for a zwave_js_notification?