[Release] Nyckelharpa, an HSM Extension

Nyckelharpa V1 Jun 20, 2020

The buttons and levers controlling Hubitat Elevation's Home Security Monitor's strings.


Nyckelharpa is a user created Hubitat Home Security Monitor (HSM) extension, providing features not available in HSM. Additionally, it simplifies setting up security related messaging.


All features are optional, you may use whatever app Features you choose. For Example: Forced Arming only. Keypads not required.

  • Under user control, forces HSM arming when a contact is open and an HSM 'Arming Failure Alert' is defined.

    Why is this needed? HSM does not arm the system when a contact is open and an HSM 'Arming Failure Alert' is defined. Examples:

    It's 1AM, you want to arm the system for the night, but a contact is broken.

    You are away from home, forgot to arm the system, and when you try, oops the back door is open.

  • Adjusts Hubitat's mode when HSM's arm state changes. (HSM adjusts HSM's arm state when the Hubitat mode changes)

  • Provides an easy to use, security related message control center with output to TTS, Speakers, and Notificaion devices such as Hubitat PhoneApp and Pushover

  • Keypads: App works with Hubitat keypad drivers, or the user provided Centalitex keypad driver. Do not mix user and system keypad drivers

    1. Using Centralitex Keypad driver:
    • Supports Centralite/Xfinity 3400, Centalite 3400-G, Iris V2 and V3, and UEI devices* using a ported version of Mitch Pond's SmartThings Keypad DH, making he keypad function as it did in SmartThings with the SHM Delay App

    • Pins:

      • Using Nyckelharpa User pin module: Panic pins, burnable pins aka maximum use count, restricted date and time, and restricted keypad devices

      • Using Hubitat's Lock Code Manager App Pins**: Panic pin by entering case independent text 'panic' any place in field 'Name of this user'

    • Keys make sounds when tapped

    • Forced arming supported, "Arming forced" message supported

    1. Using Hubitat's Keypad drivers:
    • Supports Centralite/Xfinity 3400, Centalite 3400-G, Iris V2 and V3 devices

    • Pins: Only Lock Code Manager pins are supported when using this driver .

    • Generally no sound when keys are tapped

    • Forced Arming supported, cannot create "Arming Forced" notification message

  • Keypad Panic Alerts:

    1. Using Centralitex Keypad driver: When the keypad's Panic key is pressed, or a Panic Pin is entered, and there a properly configured active HSM Custom Panic rule, the system immediately executes the custom HSM rule's alert functions in all arming states, including when HSM is disarmed.

    2. Using Hubitat Keypad drivers: When the keypad's Panic key is pressed, and there a properly configured active HSM Custom Panic rule, the system immediately executes the custom HSM rule's alert functions in all arming states, including when HSM is disarmed. Using Hubitat Keypad Drivers without Nyckelharpa and it's custom panic rule, HSM does not respond to panic when it is disarmed.

  • Door Chime Function: Use with Keypads and other devices supporting the "beep" command. Optionally issues beep command when system is Disarmed and selected contact sensor opens. Also can optionally issue beep commands when system is armed and Entry Delay begins. Note: the created sound varies by device type, and when using Iris V2/V3 by firmware version.

Documentation and Source Code


I'm sorry, i'm not following you here. Do you mean, Adjusts Hubitat mode when HSM arm state changes? This doesn't really track because HSM doesn't have modes. The hub does.

Yes, you are correct. Documentation was updated.

Okay...for a while there I thought I'd had a stroke or something. Glad it wasn't me. :slight_smile:
Definitely going to take a look when I have some time to dig in. Looks very interesting. Thanks!!



Thank you for this. I am new to HE, and this has made my HSM setup with the Centralite 3400-G work [almost] perfectly, using this app and the CentraliteX driver.

Now, if I can just get the darn thing to beep during the delays, then I would be really happy.

1 Like

What device are you trying to beep? Keypad, siren, other? Please specify.

Is this set for the device in global Settings?

Besides the missing beep, are there any other issues?

Yes, I have the keypad set on that dropdown. I've only found that issue - no constant beeping when arming or disarming. I do have a 30/60 second delay, so it's not immediately arming/disarming.

Also, on the driver... under Preferences... the setting "Enter length of beep in seconds" does not change the length of the beep, but rather the quantity of beeps. For instance, if I set it to 4, then the keypad beeps 4 times when a door is opened, and if I set it to 12, then the keypad will beep 12 times. The length of the beep does not change.

Is there a capability to change the pitch of the beep, or make it faster?

Thanks again...

Update: try removing the keypad from devices to beep on entry delay. That command may be overriding and killing the entry delay command

Entry and delay tone duration are controlled with HSM settings, these tones are separate from the Beep command. Does the keypad do Exit tones?

keypad Volume: Hold 2 key to make it louder, 5 key to lower volume

Regarding length of beep: each beep is about 1 second and the text is carried over from the original ST DTH. I will change the wording to better describe what occurs.

Correct. I have set the delay times in HSM, and the keypad is NOT in that list.

In addition, the keypad is removed from HSM to arm/disarm per your instructions on github.

Yes, by pressing 2/5 it does raise/lower the volume.

Go into the HE Devices menu, go to your keypad device, put 15 into the Set Entry Delay setting then click press the button above the number. Does it beep? (I don't know why I have two boxes, both work)

Just successfully tried that with my keypad.

In Global setttings: Keypad should be specified here

but NOT here, it killed the entry delay beep when I set it here

Yes, now we are getting somewhere. :grinning:

On the device page, I did put 15 in the Set Entry Delay boxes and it was successful.

In the Global settings of your app, I REMOVED the keypad from the (Optional!) setting, and I was able to get the entry delay beep upon entering.

I DO NOT get any Exit delay tones.

1 Like

That's likely a setting issue.
Please try entering 15 into the device's "Set Exit Away" box then click/tap the button above it. Tones?

If no tones. Is any other RM or app using the keypad and perhap sending it commands? Other wise I don't understand why no tones.

If yes please make sure there is an HSM exit delay for the armmode you are setting based on the keypad's icons from left to right: Home, Away, Night on the Centralite top row


The test from the device page was successful.

Yes, I made the settings in HSM were as follows. When pressing any of the top buttons + my code, it does not give me exit tones.


HSM does not begin arming if any doors specified in configured Arm-(armstate) are open. If using Nyckelharpa's HSM open door override you must specify the Child Devices, plus the Panic Contact for each arm mode.

If it's not one of these settings I'm out of suggestions


Does this keypad make Exit Delay tones using it directly with HSM and the Centralite Keypad driver?

In HSM, for the Intrusion sensors, I only have the NCKL-devices listed, including the Panic Contact.

I have never heard Exit tones before, but that may have been because it wasn't set up yet, as I loaded your app pretty quickly when I discovered I couldn't get the keypad to work just with HSM and my initial configuration.

To test your question, I changed the driver to the HE Centralite driver, and added the keypad to HSM for arming and disarming:

I WAS able to get exit tones then. I then removed it from HSM (as shown above), changed the driver back to your CentraliteX, and there were no Exit tones.

The Modefix profile issues does the keypad's exit delay command. Is it set and saved even if there are no mode options set?

It also triggers the Talker to TTS, speak or send a message. Are you using Talker and getting your defined exit message?

Hmmm.... I skimmed that part of the your instructions because it appeared to be optional.

No, I have not set up any talker stuff. Trying to get one thing working at a time.

I set them up as shown above, and your app made me select a mode for some of the fields. I have never set any "modes" in HE. I'll figure out how to do that. A quick search of the documentation shows a Mode Manager, so I'll read up on that, set them up, and try again.

Again, I do appreciate the support. I'll send you some beer money.

Modefix is required, Talker is optional

Are you getting exit delay beeps?

I noticed Modefix forces some of the settings, I'll change Modefix so it can be saved with no modes changes. Will also modify when going into Global Settings to enforce Modefix be setup