ISURPASS zwave rfid and code reader wall mounted

Hi!
I bought a kaypad/rfid reader with zwave compatibility.

here is the doc of the product:

I’m running HA on a rpi4 with a zstick zwave controler.

I manage to add the keypad to my OZW network but it look like the manufacturer and the product are not recognize and doing so the proper entities are not set.

i have this entrie for the keypad in openzwave:
friendly_name: Unknown: type=5010, id=1001: Locked
Unknown : id=021c

I looked up on the net befor posting this. look like it exist some " manufacturer_specific.xml" that can be setup in Zwave to add the value of your device.

in this one for exemple :

You can find the manufacturer “021c” which is “Domux Shenzhen iSurpass Technology Co.” but it does have the device “id 1001” corresponding the keypad.

So far i understand that this product is not supported or not in the list of device of HA OZW and i cant find the specifique lines for it on the net.

When i look into the entities of the keypad that is partialy in OZW i have a state node with the state " locked" so i though i could at least used that but in reality the state is not updating whenever the code of the keypad is used.

At this point i cant use the keypad att all :frowning: .

Does anyone have experience with this keypad and HA integration ? i think i’m currently at my limite of OZW and HA understandings :frowning:

Hey @colossius, have you been able to get this working?

Hello ! Dry for the late reply. Not I didn’t get it to work. I turned to the tag reader for home assistant (GitHub - adonno/tagreader: Simple to build/use NFC tag reader, specially created for Home Assistant). It’s working perfectly and is wall mounted next to my door. I come home scan a tag that disable my home made alarm. Let me know if I can help furthermore

hi, i’ ve got it…
i have set it to secure and than i have the notifikations
default is “value”: 0

if someone need it:

        {
          "endpoint": 0,
          "commandClass": 98,
          "commandClassName": "Door Lock",
          "property": "currentMode",
          "propertyName": "currentMode",
          "ccVersion": 2,
          "metadata": {
            "type": "number",
            "readable": true,
            "writeable": false,
            "label": "Current lock mode",
            "min": 0,
            "max": 255,
            "states": {
              "0": "Unsecured",
              "1": "UnsecuredWithTimeout",
              "16": "InsideUnsecured",
              "17": "InsideUnsecuredWithTimeout",
              "32": "OutsideUnsecured",
              "33": "OutsideUnsecuredWithTimeout",
              "254": "Unknown",
              "255": "Secured"
            },
            "stateful": true,
            "secret": false
          },
          "value": 255
        },

Good morning,

Thank you for the information and your code, however I don’t know where to put it, would it be possible for you to tell me how to insert your code?
Or if there is another solution to recover the badge code or code entered on the keyboard.

I have some information that I have from jedom but I don’t know how to use it with Home Assistant:

Classe	    Instance	         Index	
113         1                    153

Sincerely
Julien

With Z-Wave anytime something happens an event is generated. You can view these events by going to developer tools > clicking on the events page > then enter zwave_js_notification or zwave_js_value_notification in the events to subscribe to box.

After looking at the supported command classes on PAGE 16 of this document that @colossius provided it looks like this rfid reader operates just like a lock.

My guess is that every RFID is associated to a userId and everytime you scan a RFID tag it should generate an unlock event that looks like this.

event_type: zwave_js_notification
data:
  domain: zwave_js
  node_id: 120
  home_id: 4263815964
  endpoint: 0
  device_id: 9d394e80f9d028b62ce252a5c23f23e0
  command_class: 113
  command_class_name: Notification
  label: Access Control
  type: 6
  event: 6
  event_label: Keypad unlock operation
  parameters:
    userId: 1

You can then take that information and use it with the MANUAL EVENT trigger in your automation. Here’s what the yaml code would look like.

platform: event
event_type: zwave_js_notification
event_data:
  event_label: Keypad unlock operation
  parameters:
    userId: 1