Z-wave JS: Get Lock Usercode

Request

I would like to retrieve lock usercodes via the Z-wave JS integration as a service call. Perhaps zwave_js.get_lock_usercode to get the code for a single user and zwave_js.get_lock_usercodes to get codes for all users.

I am a HA newbie and want to make this my first pull request, but would like some feedback before I proceed.

Use Case

I want to retrieve usercodes for a lock dashboard like this:

In this example if I set lock code slot 3, I would like to retrieve the usercode for that slot and update the lock code to reflect its current value.

Research

I see that the zwave-js-server-python already exposes retrieval of usercodes.

I think exposing this in the service would involve updating the core Zwave JS integration lock service to make use of it.

Thoughts? Any gotchas for adding new services to HA or Zwave JS integration I should know about?

I would really like to see the code more easily obtainable so I can put it on my dashboard. I do not think this is any additional security issue because I someone has access to the dashboard they can unlock your door. Also, if a trouble maker wants to change the pin and you are unaware you can quickly find the new pin. You may not want to always expose the ability to change pins to all users.

@freshcoast @phagerman @brad.trout @rossc719 @atkjedi
Please upvote this feature request! Thank you!

Pull request to add this feature: Add zwave js services get_lock_usercode and get_lock_usercodes by holocronweaver · Pull Request #119714 · home-assistant/core · GitHub

@mr_roboto your PR for this feature has been getting some traction and could use your attention.