Skip to content

arnbme/nyckelharpa

Repository files navigation

Nyckelharpa V1 Jul 17, 2020

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

Table of Contents

 1. Purpose
 2. Features
 3. Donate
 4. Installation
 5. Quick Setup Guide
 6. Global Settings
 7. Forced Arming, Adjust HSM Settings
 8. Modefix Setup and Usage
 9. Talker messages
10. Centralitex Keypad Device Handler
11. User/Pin Profiles with Centralitex driver
12. Lock Code Manager Pins with Centralitex driver
13. Create Custom HSM Panic Rule
14. Debugging
15. Arming From Dashboard
16. Uninstalling
17. Get Help, report an issue, or contact information
18. Known Issues

1. Purpose

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

🔼 Back to top

2. Features

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

  • HSM arming when a contact is open, with easy user control
    Why is this needed? HSM does not arm the system when arming alerts are implemented, and a contact is open. Examples:

    It's 1AM, you want to arm the system for 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.

    Note: the app was created prior to HSM allowing arming with an open contact. Nyckelharpa arming logic will fail when this HSM option is used.

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

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

  • Keypads: App works with Hubitat keypad drivers, or the user provided Centalitex keypad driver. However 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

  2. Using Hubitat 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. 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.

🔼 Back to top

3. Support this project

This app is free. However, if you like it, derived benefit from it, and want to express your support, donations are appreciated.

🔼 Back to top

4. Installation

There are four modules and an optional Keypad Device Handler (DH) associated with this app. Hubitat's Lock Code Manager app may be required. You may also install using the Hubitat Package Manager

Module Name Function Required
Nyckelharpa Parent module. Controls HSM forced arming from a keypad, and User pin verification Yes
Nyckelharpa Modefix Adjusts HSM mode when HSM State changes, and forced arming from a non keypd source Yes
Nyckelharpa Talker Creates security related output to TTS, speakers, and Notification devices such as: Hubitat Phoneapp and Pushover Optional
Nyckelharpa User Maintains User pin codes when using the app's Centralite Keypad DH Optional
Centralite Keypad Keypad device handler for models: Centralite/Xfinity 3400, Centralite 3400-G, Iris V2, Iris V3, and UEI. Created and converted to HE by Mitch Pond Optional
Hubitat's Lock Code Manager app Required when using Hubitat keypad drivers, or using Centralitex keypad driver with Lock Code Manager pins Optional
  • https://docs.hubitat.com/index.php?title=How_to_Install_Custom_Apps

  • let's begin by installing the Nyckelharpa parent module into Hubitat (HE) from this Github repository.

  • OAuth is not required and should be skipped.

  • Save the the Nyckeharpa module

  • Using Install's Import button: each module's Github raw address is availabe at the beginning of the module.

  • Then install Modefix, Talker, and User, ignore OAuth, and do not add these modules as User Apps.

  • In Apps: click the "Add User App" button, select the Nycklharpa, click Done

  • Should you be using the user Centralite Keypad driver follow these directions
    https://docs.hubitat.com/index.php?title=How_to_Install_Custom_Drivers

  • Next step: Quick Setup Guide

🔼 Back to top

5. Quick Setup Guide

Detailed instuctions for each step follow the Quick Setup Guide. Begin by clicking on APPs in the HE menu, then click on Nyckelharpa

  1. Setup Global Settings, then click Next, then Done.

  2. Setup Forced Arming, Adjust HSM's settings

  3. Create the Required Modefix profile

  4. Optionally create a Talker profile

  5. Optionally set a one or more existing keypad devices to use the user provided Centralite Driver, then add one or more User pin profiles

  6. Optionally enable HSM Panic response by creating a Custom HSM Panic Rule

🔼 Back to top

6. Global Settings. Includes preparation information needed for Forced HSM Arming.

Global Settings is reached by: clicking Apps in the menu, then click the Nyckelharpa app, scroll down to Global Settings, then click "click to show"

  1. Select all the keypads used for arming HSM
  • When devices are selected, default options for valid and invalid pin message routing are shown
  1. Prepare for Forced Arming: For each armState select real contact sensor devices that will allow HSM arming when the device is Open.
  • _When Global Settings is saved, each selectd contact generates a child Virtual Contact Sensor named NCKL-contact-sensor-name that must be used to Adjust HSM Settings for Forced HSM Arming
  • Specify optional destinations for "Arming canceled contact open" and "Arming forced messages: Push, SMS, Talk. Optional, but must be set to output these messages
  1. Select any contact to be monitored for Open / Close Talker messages only, that are not used with Forced HSM Arming

  2. Select any alarms and beeps as required

  3. Set the Virtual Child Device prefix, Default NCKL. Once set, it displays but cannot be changed.

  4. Set any Hubitat PhoneApp and Pushover messaging devices

  5. When finished, click Next, then click Done

🔼 Back to top

7. Forced Arming, Adjust HSM Settings.

Forced Arming is a two step process: An standard initial HSM arming that fails normally, followed by a second arming within globally defined arming window seconds (default 15) that forces HSM to arm. It works from any arming source, including: keypads, locks, dashboards, and the HSM app

  1. Required Basic Setup:
  • Follow instructions in Section 6 above, generating the NCKL-child-contact-sensors
  1. Important! When arming from the Dashboard HSM Status, a keypad using the HE System Keypad drivers, or anything other than a keypad using the Centralite keypad driver: an alert must be created in HSM's Configure Arming/Disarming/Cancel --> Configure Alerts for Arming Failures (contacts open) section, or HSM immediately arms ignoring all open contacts.
  • Suggested solution:
    Create a dummy Virtual Switch
    Edit dummy Virtual device's settings, disable debug and text logging
    In HSM's Configure Arming/Disarming/Cancel --> Configure Alerts --> Light Alerts: turn on the "dummy Virtual Switch".
  1. Setup HSM's devices for Forced Arming:
  • In Intrusion-Away, Intrusion-Home, and Intrusion-Night, "Contact Sensors": replace the real contact-sensor-name(s) with the virtual NCKL-contact-sensor-name(s)
  • In "Configure/Arming/Disarming/Cancel Options", "Delay only for selected doors": replace the real contact-sensor-name(s) with the virtual NCKL-contact-sensor-name(s)
  1. How to Force Arm, a two step process: Arming that fails normally, then Arming again within 15 seconds
  • Arm system as you would normally. When there is an open contact sensor monitored by Nyckelharpa, the system will not arm as is normal for HSM
  • At the initial arm fail:
    Talker issues an alert message including the open sensor(s) and the 15 second forced rearm time
    Keypads using Centalitex driver:
    Centralite/Xfinity-reject tone, delay, two beeps
    Iris V2-reject tone, delay, two beeps with old beep or three or four chirps new beep
    Iris V3-3 beeps old beep then the reject tone, unable to test new beep my device has old firmware
  • Arming the system again, after a minimum of 3 seconds, to a maximum of 15 seconds from the initial arming failure, forces the HSM system to Arm. When using the Centralitex Keypad driver an "Arming Forced" message is issued.
  1. Notice: Force Arming fails when attempting to arm using the Dashboard Mode.

🔼 Back to top

8. Modefix setup and usage

Modefix processes HSM armState changes, and optionally sets the Hubitat HSM mode. It must be created even when the optional mode change data is empty.

(Optional) For each armState set:

  • all valid modes for the armState
  • the default mode for the armState

Caution: improper armState/mode choices, creates havoc with the system.

🔼 Back to top

9. Talker messages

Table with Reason Issued and Message Issued.

  • Pin messages, arming canceled, and arming forced, do not allow for text adjustment.
Reason Issued Default Message Destinations Issueing Module
Contact Sensor Opens, arm state disarmed %device is now open TTS, Speaker Nyckelharpa
Contact Sensor Closes, arm state disarmed %device is now closed TTS, Speaker Nyckelharpa
Exit Delay Alarm system is arming in %nn seconds. Please exit the facility TTS, Speaker Nyckelharpa Modefix
Entry Delay Disarm system, or police will arrive shortly TTS, Speaker Nyckelharpa
System Armed Alarm System is now armed in %hsmStatus Mode TTS, Speaker Nyckelharpa Modefix
System Disarmed System Disarmed TTS, Speaker Nyckelharpa Modefix
Valid Pin Entered
Centralitex driver only
%keypad.displayname set HSM state to %armState with pin for %userName User Defined in global Settings Nyckelharpa
Bad Pin Entered
Centralitex driver only
%keypad.displayname Invalid pin entered: %pinCode User Defined in global Settings Nyckelharpa
Arming Canceled Open Contact (1) Arming Canceled %contact name(s) is open. Rearming within 15 seconds will force arming User Defined in global Settings Nyckelharpa
Arming Forced Open Contact
Centralitex driver only
Arming Forced %contact name(s) is open. User Defined in global Settings Nyckelharpa
Intrusion Message Defined in HSM User Defined HSM HSM
Panic Message Defined in HSM Custom Rule User Defined Custom HSM Rule (see Section 12) HSM
  1. In order to get the Nyckelharpa contacts open message and forced arming when using anything other the the Centralite Keypad driver: you must create an alert in HSM's Configure Arming/Disarming/Cancel --> Configure Alerts for Arming Failures. Please read Section 7, paragraph 2.

🔼 Back to top

10. Centralitex Keypad Device Handler

The Centalitex Keypad Device Handler was created by Mitch Pond on SmartThings, where it is still used by a few Smartapps including SHM Delay. With Mitch's assistance and Zigbee skills it was ported to HE, then I added the Alarm capability that sounds a fast high pitch tone until set off on the Iris V2, and beeps for 255 seconds on the Centralite, and the compatabilitty with the Hubitat keypad device drivers, HSM and Lock Code Manager.

This DH may be used with the Centralite/Xfinity 3400, Centralite 3400-G, Iris V2, Iris V3 and UEI keypads

  1. After installing the keypad DH, edit keypad devices changing Type to Centralitex Keypad, Save Device

  2. Remove keypads using Centralitex driver from HSM. In HSM section Configure Arming/Disarming/Cancel Options --> Use keypad(s) to arm/disarm: optionally remove keypads using the Centralitex driver.

  3. Add keypad to Nyckelharpa Global Settings

  4. When using Nyckelharpa pins: Create User pin profiles. When using an Iris V3 User pin code 0000 is required and used for instant arming, but will not disarm. This keypad does not send a pin, even if entered, when arming.

  5. When using Lock Code Manager Pins: in this device's setting set "Use Lock Code Manager Pins" on, save settings

  6. Create HSM Custom Panic Rule

  7. When using an Iris V2/V3 keypad set if Partial key creates Home (default) or Night arming mode

🔼 Back to top

11. Nyckelharpa User pin profiles with Centralitex Keypad driver

When using the app's keypad Device Handler and User Pin Module

  • For each valid user pin, create a User pin profile

  • Pin codes may be restricted by date/time, use count (burnable pins), and keypad device

  • To use the Iris V2's instant arming, no pin required, create a User profile with pin code 0000. It is not accepted for OFF

  • The Iris V3 requires a User profile with pin code 0000, or it will not arm. It is not accepted for OFF.

  • You may define "Panic Pins" designed for use on keypads without a Panic key, but may be used on any keypad

🔼 Back to top

12. Lock Code Manager pins with Centralitex Keypad driver

When using the app's keypad Device Handler

  • In the keypad Preferences set "Use Lock Manager Pins" to On/True. If you want to be be able to see the pins for the device set "Enable Lock Manager Code encryption" to Off; tap/click button "Save Preferences"

  • Pins may be maintained using the Lock Code Manager app, or device's pin manangement buttons

  • A Panic pin is created by by placing case independent text "panic" as part or all of the pin's "Name", allowing a panic response when using a keypad without a Panic key.

🔼 Back to top

13. Create Custom HSM Panic Rule

A custom HSM Rule is required to force an HSM response to a Panic key press, or Panic pin entry, enabling an instant Panic response even when the system is disarmed

  1. Click on Apps-->then click Hubitat Safety Monitor

  2. Click on Custom

  3. Click Create New Monitoring Rule --> Name this Custom Monitoring Rule-- enter Panic -->

  4. Rule settings What kind of device do you want to use: select Contact Sensor
    Select Contact Sensors: check the Keypad Devices using Centralitex Keypad Driver, and %prfx%-Panic Id device when using HE drivers, click Update
    What do you want to monitor?: Set Sensor Opens on/true
    For how long? (minutes): must be empty or 0
    Set Alerts for Text, Audio, Siren and Lights
    Click the "Arm This Rule" button
    Click Done

  5. Important: verify the Panic rule is "Armed" or it will not work

  6. Do a Panic test: Press the Iris keypad's Panic button, on Centralite 3400-G simultaneously press both "Police Icon" buttons, or enter a Panic pin number on Centralite 3400 / UEI.

  7. The Panic Alert may be stopped by entering a valid user pin on Centralite / UEI, or a valid pin and OFF on an Iris; or the "Cancel Alerts" button from HE App HSM options

🔼 Back to top

14. Debugging

  1. No entry delay tones on keypad
    Keypad may be selected as an Optional Alarm device. Remove it as an Alarm device

  2. No exit delay tones
    Create and save a Modefix profile

  3. Forced arming does not occur
    A user reported the Snapshot app somehow interfered with Nyclelharpa's forced arming, and removing or disabling Snapshot fixed the issue. This does not make sense to me, merely reporting what I was told by the user.

🔼 Back to top

15. Arming From Dashboard

  • Always arm and disarm using HSM Status. Forced arming is supported and alert messages are created.

  • Mode will generally work, however when there is an alert, the mode remains in the entered mode, but the HSM Status does not change.

🔼 Back to top

16. Uninstalling

  1. If using forced arming, change HSM settings NCKL-child devices to real devices
  2. If using Panic Key or Panic pins, remove custom Panic rule from HSM
  3. it is now safe to remove Nyckelharpa, child devices are deleted during removal process

🔼 Back to top

17. Get Help, report an issue, and contact information

🔼 Back to top

18. Known Issues

  • Messages need individual custom destination settings

  • SMS was disabled by Hubitat, but is still defined as a destination. Do not use SMS

  • Iris V3 Keypad Issue: Lights remain on when device is sitting upright on a table or flat surface.
    Cause: Keypad's motion or proximity sensor is activated.
    Solution: Move keypad to edge of table, lay it flat on table or surface, or mount it on a wall.

  • Do not intermix Centralitex keypad drivers with system keypad drivers. Use one or the other

🔼 Back to top

About

Keypad center and controller for HSM

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages