Iris V3 Keypad Issues

I saw some brand new and used V3 ones on Ebay the other day reasonably priced.

Cool, I'll go look.

Anything to watch out for / look for? I see two types - the "3405-L" and the "KPD800".

I assume the "3405-L" is the right one?

I think the IL021 is the newer V3 and the 3405-L is the older V2. I think the KPD800 is the 1st generation model and I don't think they work in HE.

Maybe someone can chime in and confirm or give the correct info.

Glad I asked 1st.... Yes, now that I google - IL021 = V3, 3405-L = V2.

This is correct.

Keep in mind that the original firmware for the v3 did not include the nice chime tone.
This was added later via a firmware update.
I don't know when it was added, nor if the later retail units shipped with the updated firmware or not.
So my advice would be to purchase a used one, odds being much higher that it has the latest firmware.

2 Likes

So with the new update the V3 keypad pairs correctly. However the other one previousy paired(via "driver dance method" above) and has motion, shows the following:
Data * endpointId: 01

  • application: 00
  • softwareBuild:
  • inClusters: 0000,0001,0003,0020,0402,0405,0500,0501,0B05,FC01,FC02
  • outClusters: 0003,0019,0501
  • model: 1112-S
  • manufacturer: iMagic by GreatStar

The one I just paired after the 2.1.18 update did pair as Keypad V3, but does not have motion listed and the clusters are missing. It did triple beep on pair but the device page looks different, see below:
Data * endpointId: 01

  • application: 00
  • model: 1112-S
  • manufacturer: iMagic by GreatStar

This is the pairing report:

Yes I hit configure, at least 4 times

I have exactly the same issue. One has the inClusters and outClusters but the other one doesn't. The one that does beeps now with the new driver. The one that doesn't have the clusters does not beep and it throws an error in the logs.

Hey Arn, I just tried this with my V3 keypad, which uses the V3 HE driver. I have Nyckelharpa installed(Thank You -It's Great !) and I was able to stop the inprocess arming, within my 45 second delay. Once at 15 seconds after arming and 30 seconds after arming. The keypad appears to be not responding, keys do not beep, but it takes the code and disarms, druing the countdown beeping.

@Rxich thank you for the post.

A few days ago I moved my Iris v3 keypad from SmartThings to Hubitat and had a similar experience. It disarms during my 30 second exit delay without making any key sounds, but once armed the key tones return. I also successfully tested panic with the V3.

I'm using the Nyckelharpa Centralitex driver.

Hmmm, the last time I tried the Centralitex driver, I saw unparsed messages in the logs for the V3 keypad. I don't know if anything changed in the latest 2.1.8.115 update to mitigate that.

The Centralitex driver works great with the V2 keypad.
I'm going to try again with V3 and see what shakes out.

This is what I get after changing the driver on V3 keypad to Centralitex:

dev:43622020-01-13 11:35:46.632 pm infoUnhandled profile-wide command: catchall: 0104 0402 01 01 0040 00 F591 00 00 0000 07 01 00

dev:43622020-01-13 11:35:43.668 pm infoUnhandled profile-wide command: catchall: 0104 0001 01 01 0040 00 F591 00 00 0000 07 01 00

dev:43622020-01-13 11:35:43.618 pm infoUnhandled profile-wide command: catchall: 0104 0500 01 01 0040 00 F591 00 00 0000 04 01 00

dev:43622020-01-13 11:34:55.060 pm infoUnhandled profile-wide command: catchall: 0104 0402 01 01 0040 00 F591 00 00 0000 07 01 00

dev:43622020-01-13 11:34:51.147 pm infoUnhandled profile-wide command: catchall: 0104 0001 01 01 0040 00 F591 00 00 0000 07 01 00

dev:43622020-01-13 11:34:47.302 pm infoUnhandled profile-wide command: catchall: 0104 0500 01 01 0040 00 F591 00 00 0000 04 01 00

dev:43622020-01-13 11:33:21.245 pm infoIris V3 keypad battery is 100%

dev:43622020-01-13 11:33:21.244 pm debuggetBatteryResult: 54

dev:43622020-01-13 11:33:21.243 pm debugdescMap: [raw:F5910100010A20002036, dni:F591, endpoint:01, cluster:0001, size:0A, attrId:0020, encoding:20, command:01, value:36, clusterInt:1, attrInt:32]

dev:43622020-01-13 11:33:21.243 pm infoIris V3 keypad temperature is 50.72°F

dev:43622020-01-13 11:33:21.241 pm debuggetTemperatureResult: 1040

dev:43622020-01-13 11:33:21.240 pm debugdescMap: [raw:F5910104020C0000291004, dni:F591, endpoint:01, cluster:0402, size:0C, attrId:0000, encoding:29, command:01, value:0410, clusterInt:1026, attrInt:0]

dev:43622020-01-13 11:33:20.146 pm debugdescMap: [raw:catchall: 0104 0501 01 03 0040 00 F591 01 00 0000 07 00 , profileId:0104, clusterId:0501, clusterInt:1281, sourceEndpoint:01, destinationEndpoint:03, options:0040, messageType:00, dni:F591, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:07, direction:00, data:[]]

dev:43622020-01-13 11:33:20.141 pm infoskipped: [raw:catchall: 0104 0020 01 01 0040 00 F591 00 00 0000 04 01 00, profileId:0104, clusterId:0020, clusterInt:32, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:F591, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:04, direction:01, data:[00]], description:catchall: 0104 0020 01 01 0040 00 F591 00 00 0000 04 01 00

dev:43622020-01-13 11:33:20.139 pm debugdescMap: [raw:catchall: 0104 0020 01 01 0040 00 F591 00 00 0000 04 01 00, profileId:0104, clusterId:0020, clusterInt:32, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:F591, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:04, direction:01, data:[00]]

dev:43622020-01-13 11:33:20.109 pm debugdescMap: [raw:catchall: 0104 0402 01 01 0040 00 F591 00 00 0000 07 01 00, profileId:0104, clusterId:0402, clusterInt:1026, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:F591, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:07, direction:01, data:[00]]

dev:43622020-01-13 11:33:20.090 pm debugdescMap: [raw:catchall: 0104 0001 01 01 0040 00 F591 00 00 0000 07 01 00, profileId:0104, clusterId:0001, clusterInt:1, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:F591, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:07, direction:01, data:[00]]

dev:43622020-01-13 11:33:20.056 pm infoskipped: [raw:catchall: 0104 0020 01 01 0040 00 F591 00 00 0000 0B 01 0200, profileId:0104, clusterId:0020, clusterInt:32, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:F591, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[02, 00]], description:catchall: 0104 0020 01 01 0040 00 F591 00 00 0000 0B 01 0200

dev:43622020-01-13 11:33:20.054 pm debugdescMap: [raw:catchall: 0104 0020 01 01 0040 00 F591 00 00 0000 0B 01 0200, profileId:0104, clusterId:0020, clusterInt:32, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:F591, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[02, 00]]

dev:43622020-01-13 11:33:20.016 pm infoskipped: [raw:catchall: 0104 0020 01 01 0040 00 F591 00 00 0000 0B 01 0300, profileId:0104, clusterId:0020, clusterInt:32, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:F591, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[03, 00]], description:catchall: 0104 0020 01 01 0040 00 F591 00 00 0000 0B 01 0300

dev:43622020-01-13 11:33:20.014 pm debugdescMap: [raw:catchall: 0104 0020 01 01 0040 00 F591 00 00 0000 0B 01 0300, profileId:0104, clusterId:0020, clusterInt:32, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:F591, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[03, 00]]

dev:43622020-01-13 11:33:19.068 pm infoskipped: [raw:catchall: 0000 8021 00 00 0040 00 F591 00 00 0000 00 00 A700, profileId:0000, clusterId:8021, clusterInt:32801, sourceEndpoint:00, destinationEndpoint:00, options:0040, messageType:00, dni:F591, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:00, direction:00, data:[A7, 00]], description:catchall: 0000 8021 00 00 0040 00 F591 00 00 0000 00 00 A700

dev:43622020-01-13 11:33:19.066 pm debugdescMap: [raw:catchall: 0000 8021 00 00 0040 00 F591 00 00 0000 00 00 A700, profileId:0000, clusterId:8021, clusterInt:32801, sourceEndpoint:00, destinationEndpoint:00, options:0040, messageType:00, dni:F591, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:00, direction:00, data:[A7, 00]]

dev:43622020-01-13 11:33:19.062 pm infoskipped: [raw:catchall: 0000 8021 00 00 0040 00 F591 00 00 0000 00 00 A900, profileId:0000, clusterId:8021, clusterInt:32801, sourceEndpoint:00, destinationEndpoint:00, options:0040, messageType:00, dni:F591, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:00, direction:00, data:[A9, 00]], description:catchall: 0000 8021 00 00 0040 00 F591 00 00 0000 00 00 A900

dev:43622020-01-13 11:33:19.062 pm infoskipped: [raw:catchall: 0000 8021 00 00 0040 00 F591 00 00 0000 00 00 A800, profileId:0000, clusterId:8021, clusterInt:32801, sourceEndpoint:00, destinationEndpoint:00, options:0040, messageType:00, dni:F591, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:00, direction:00, data:[A8, 00]], description:catchall: 0000 8021 00 00 0040 00 F591 00 00 0000 00 00 A800

dev:43622020-01-13 11:33:19.060 pm debugdescMap: [raw:catchall: 0000 8021 00 00 0040 00 F591 00 00 0000 00 00 A800, profileId:0000, clusterId:8021, clusterInt:32801, sourceEndpoint:00, destinationEndpoint:00, options:0040, messageType:00, dni:F591, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:00, direction:00, data:[A8, 00]]

dev:43622020-01-13 11:33:19.060 pm debugdescMap: [raw:catchall: 0000 8021 00 00 0040 00 F591 00 00 0000 00 00 A900, profileId:0000, clusterId:8021, clusterInt:32801, sourceEndpoint:00, destinationEndpoint:00, options:0040, messageType:00, dni:F591, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:00, direction:00, data:[A9, 00]]

It'll be a few weeks before I can get back to that. Please verify you're running the latest version of the DH V0.2.4

Is your driver supported only by your App or should the driver work directly with HSM as well?

none of this is particularly relevant, the inClusters seen in the data section is only written when the device joins using the driver "Device" and is written for informational usage only.

It works with the Nyckelharpa app that interacts with HSM. I ported much of the logic from my ST SHM Delay app, so there is a major difference with pin storage and verification.

Okay...because it doesn't work directly with HSM. Your driver has the same issues that the Hub Connect drivers have with keypads. There are undocumented methods that are in use by HSM. I got a bunch of errors using your driver with HSM.

I posted the v3 keypad driver in our repo, it's not difficult to see how it works with hsm.
This will have to suffice in the meantime.

2 Likes

Thank you!!!!

1 Like

Agreed, it is pretty clear to me what is missing after looking at the driver. :smile: And thanks for posting it!

1 Like

What's missing?