Centralite 3400 keypad not working after C8 Update

Ever since I updated my system from the C5 to the C8 my Centralite 3400 keypad no longer works to disarm the system, it will arm it just fine, but will NOT disarm it. @support_team Here is the message from the log:

java.lang.IllegalArgumentException: Text must not be null or empty on line 345 (method parse)

Initially after converting over to the C8 nothing worked, I put the keypad into paring mode and Hubitat fond it and I figured I was done, but when I tried to turn the alarm off this morning it would not work.

I also have an IRIS 3405-L exibiting the same problem. Any help will be greatly appreciated.

UPDATE:
Decided to see if the issue was user codes not being set (there were 2 codes set previous and both were working in the C5). When attempting to set a new code I get this error:

java.lang.IllegalArgumentException: Text must not be null or empty on line 370 (method setCode)

Maybe there are no codes set and that is why it is not disarming? Any thoughts.

Is this using a built in system driver or a user created driver?
Name of driver shown in Type on device page.
If user created driver please provide a link to the code.

The driver for the CentrlLite is "Centralite Keypad" and I didn't see any driver code so I am assuming this is the built in HE driver.

Looks like that's a Zigbee device. Tagging zigbee dev @mike.maxwell

I found some issues like this as well on the C8 but they were on user created drivers so easily fixed.

I did also find this custom driver, you could try this out and see if it works in the meantime: nyckelharpa/Centralite-Keypad.groovy at master ยท arnbme/nyckelharpa ยท GitHub

That was the original driver I used way back when I first installed it (years ago). I think I was having issues and HE came out with there own driver and I started using that. Worth a shot, thanks for taking a look and for you feedback.

Tried using the Nyckelharpa driver, no go, same errors. Looks like I will have to wait for a reply from Hubitat directly. Thanks for your help

Same errors with same line numbers exactly? Nice thing about a custom driver, we can fix it ourselves.

I did do the latest update last night, that didn't change anything. It looks like the HE code is based on the Nyckelharpa code but when debugging is turned on the displayed message is different (the text portion, not the variable values).

I was "poking" around in the code, but don't know Groovy enough to figure anything out. To me it looks like and issue is retrieving and storing the codes used . I tried to replace the value of lockCodes in this line (1158 in the Nyckelharpa code) but don't know the correct format of the lockCodes value JsonSlurper().parseText(decrypt(lockCodes)). I tried setting lockCode to and empty array using [:], not sure if that is correct. I also tried [number: 1 code: 1111, name: 'bob' ] and I forget what the errors were, but I think the property names were incorrect.

Thanks for your help.

I need the exact error message from the custom driver to be able to do anything. I dont want to rely on the prior errors because the line numbers may be slightly different and I would just be chasing my tail.

java.lang.IllegalArgumentException: Text must not be null or empty on line 1158 (method setCode)

actually the oppossite...

I think the issue is that on the source hub the lockCodes were encrypted, and after the migration they obviously can't be decrypted on a different hub.
The inbuilt driver will set the codes to empty if they can't be decrypted, after that you will need to add them to the keypad again.

He sort of thought maybe the codes got wiped out, but one of the errors he is getting is when trying to set new codes up. On the system driver it is posted up above (I quoted it below). Unless there is something he has to do on the keypad itself first? I have never worked with a keypad or lock before so not sure myself.

Switched back to the HE driver. Tried to delete a code got:
java.lang.IllegalArgumentException: Text must not be null or empty on line 345 (method deleteCode)

Tried to set a new code:
java.lang.IllegalArgumentException: Text must not be null or empty on line 345 (method setCode)

Doesn't look like it is being cleared, or am I missing something. Hope this new info helps. Is there a way to manually clear the codes?

Thanks for taking a look at this Mike.

You are right on. I kept trying things to clear the lockCodes, nothing. Finally I toggled the Enable lockCode encryption option, that cleared the lockCodes, then I entered the codes again and turned on the encryption. Works like a champ now

Thank you to everyone who helped. I hope this helps others converting to C8. Also thanks to Hubit for the best home automation system around.

Scott

1 Like

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.