[Release] Nyckelharpa, an HSM Extension

I'm sorry you are having an issue.

My Xfinity device shows the following in the device data section

  • manufacturer: CentraLite
  • model: 3400
    If yours does not please report what it says, then enter 3400 into the Commands-->Model, then click the Model command

About the only other thing I can think of is that the Centralitex driver cannot be directly used by the HE HSM system and must be connected to the Nyckelharpa app.

1 Like

Ahh That would be why. I was attempting to use the keypad as a standalone in some rules without the rest of the app or HSM.

Can I use your whole app just for that bit?

It's safest installing the entire app from HPM. Most of the features are optional so it should act as a pass thru for arming/disarming HSM.

The app predates HSM allowing open contacts at arming, and I still prefer it announcing the open contacts then allowing arming, versus HSM silently arming with selected open contacts.

Suggest reading the installation information at the top of this thread.

3 Likes

@scoob8000

I use @arnb nickelharpa and centralitex driver with this same keypad. It works well. I also have some RM rules that execute actions when valid pins are seen. Basically, we can lock/unlock the door without arming the system by entering only our pin. I think you will be happy using this package.

1 Like

Thanks, that's exactly what I'm wanting to do.

I have a gifted zwave lock without a keypad that I want to use on my garage man door. I bought a Xfinity keypad for it and will put it in some sort of weather proof housing.

I added a Quickset conversation to ours (no keypad) so the same use case . My keypad is under the carport so I only have to worry about water during hurricanes.

1 Like

I'm missing something simple I'm sure.

I installed the app and drivers via HPM, set up the globals and modefix page (but left everything not set).

Changed the keypad to use the Centralitex driver, plugged in URC4450BC0-X-R for model and clicked the button. I've got it set to use lock manager codes, and hit configure.

I still cannot arm/disarm the keypad either by the pad or the device page. I also tried changing the driver to "Device", deleted states, then set it back to Centralitex and configured it again.

Temp and everything reports fine, just can't arm/disarm it. I can still see the buttons being pushed too.

What am I missing? :slight_smile:

Sorry you are having an issue. Just going over the basics just in case.

  1. Which mode: night, home(stay), or away are you attempting to arm?
  2. Is HSM setup to arm in that mode?
  3. Are there any errors or notifications in the logs?
  4. How are you attempting to arm. with or without a pin and does that agree with the device's settings? If you are requiring a pin try reversing the order: pin then mode to mode then pin.
  5. Does the system arm when done from another source?

Kindly post a photo of the keypad.

I just tried Arm away for now..

  1. I'm actually not using HSM. I was just looking to see the keypad report Armed or Disarmed so I could trigger rule machine rules on it to lock or unlock a door.

  2. I did actually just see this after trying to arm from the device page

  3. Right now I'm playing with this from the device page because I'm not actually home.

The keypad:
image

And device info if it helps:
image

image

Nyckelharpa was written to interact with HSM, I no idea how Nyckelharpa reacts when it does not have HSM available. I believe that is the issue.

When you can please try the following with device debugging active, Report any errors.

  1. Arm away with a bad pin
  2. Arm with a good pin
  • to arm press one of the 3 modes buttons on top followed by a valid 4 digit user code
  • to disarm enter a valid 4 digit user code

The error appears to be caused by clicking the ArmAway button on the device page and I was able to recreate it. However, many of those routines won't work from the device page, I don't remember why they are needed but they are, and I never get errors using a real keypad.

The keypad is definitely a UEI and is correctly setup.

The line after the log.trace is throwing the error due to no pin

def armCode(message)
	{
	if (txtEnable) log.trace   "armMode entered: message $message"
	def keycode = message.substring(1,5) as String
	def armMode = message.substring(0,1)
//	sendEvent used not in parse routine Nyckelharpa gets both events
	sendEvent([name: "codeEntered", value: keycode as String, data: armMode as String,
				isStateChange: true, displayed: false])
	pauseExecution(1000)
	def currentArmMode = device.currentState("armMode",true)	//forces returned Maker API attribute armMode to update
}

Ahh Gotcha. I see rejected or accepted in the status doing it from the keypad.

I might not be able to use your app as I anticipated though without using HSM.

Long story short, I'm being cheap and trying to repurpose a smart lock that doesn't have a keypad but using a zigbee keypad.

Appreciate all the work you've got in the app though!

@oldcomputerwiz Would you mind sharing your RM rules for lock/unlock without arming/disarming? I am working to accomplish the same. Thanks!

I'll have to redact a few things.

It will be a few days until I'm done with the prep for hurricane Idalia passes. Renind me if I forget.

Thanks...be safe!

@arnb I've tested several approaches and seem to be hung up on the centralitex keypad driver not allowing rules to arm the keypad. I am able to this with the default HE keypad driver but switched to this app and driver to resolve the beeping issue with the HE driver (recommend by @oldcomputerwiz in another post). Thanks.

Kindly post the working rule or the device and attribute you are testing, and I will do my best to help you get this working.

Stay safe. The same to all forum members in the path of this storm.

My setup is a Level bolt lock integrated to Apple Home. This lock does not have a keypad and I wanted other automations in Hubitat so I created a Virtual lock (virtual switch) in Hubitat that is integrated to Homekit. In Homekit I have automations to keep the virtual lock synced with the Level bolt. I am using the Xfinity XHK1-UE keypad to lock/unlock the door.

Below is the rule to control the virtual lock.

image

Below is the rule to keep the lock in sync if controlled manually.

image

These rules work well with the default HE driver but I get the continuous beeping of the keypad when armed.

Thanks.

@mhmatttu

Everything is done and now the waiting starts. Here is my rule. If a good pin is entered the lock will lock if unlocked or unlock if locked. The UEI keypad will accept pins without pressing one if the arming buttons.

I looked at the app's keypad driver code. There is a securityKeypad attribute capability, but it does not get updated, nor do I know when or how it should be set.

There is an armMode attribute that does update, and appears to reflect the HSM arming status. However, I have no idea how to arm or disarm the keypad without also arming or disarming HSM.

Update: After looking at @oldcomputerwiz's rule, with my system disarmed, using an Xfinity branded Centralite 3400 keypad, after entering a valid pin without an amring code, the lastCodeName attribute changed to the name associated the pin. When a bad pin was entered pinStatus was set to rejected, and the codeEntered attribute contained the bad pin. codeEntered does not display when a valid pin is entered. This will likely not work using an Iris keypad due to the hardware not sending the pin code without an arming code.

:pray:

1 Like

Thank you both. I will give this a shot!