[RELEASE] Virtual Keypad

You can select what chimes separately.

1 Like

Mark I appreciate the feedback. The above does not work for what I describe as I would like to only have Away trigger the chime and all other states be silent. I know this was brought up before and unsure if someone has found a solution. Unless i am missing something in your post that will completed such.

Now since I have written the post I was able to have various different states have independent chime sounds using the following. It might help some as it bypasses the trigger from the app and gives you more flexibility. I had to add a stop RM since it kept playing the sounds for a few extra seconds.

1 Like

Accomplished some more configuration.

Through some trickery with virtual contact sensors and RM I have several "indicator lights". This was all inspired by the native Chime in this app.

@mbarone I am however have issues with bumping up the size and weight on the text block. I've entered the basic css to do this but nothing changes.

I also will be working on trying to get the check mark to execute a bypass of open sensors.

The right lower button does a hub reboot with a delay to allow for Full Kiosk to load a "hub rebooting" screen and then reload start url on hub start.

The middle lower reveals a qr code for 15 seconds on the main dashboard for guest wifi access.

I've been extremely indecisive about the best background for this.

Looks great!

Re background -- i like something with a little less color/lines to help the buttons/content stand out against it..

re text size/weight -- css changes should work, as long as you are targeting correctly, and they aren't being over-written by other css code. you should be able to use the dashboard settings dialogue, to up the text size and spacing for the tiles. this might help a little bit. Im not sure exactly what you are trying to modify with css, additional details may be helpful to get you a good solution.

I really like the qr functionality for guest wifi. can you explain how you did this?

for bypassing open contact sensors, you may want to take a look at:

1 Like

I layered I virtual contact over a qr code. I then set the open state to be totally transparent. When closed it has a label and icon totally concealing the QR.

A custom button in the keypad triggers a rule to open the contact for 15 seconds then automatically close it.

Im checking out Nyckleharpa but I'm noticing right of the bat that it doesn't seem to integrate your keypad.

Nyckelharpa works with the Virtual Keypad by reacting to the changes it or anything makes to the HSM status or mode.

1 Like

I basically will only be using it as a means of bypassing things if so desired. I am wanting to have the same function of a traditional alarm system.

Something is open, system not ready to arm.

You enter code on key pad, hit a button and system bypasses and becomes ready to arm.

Upon disarm, system automatically returns to normal monitoring state (no bypassing)

At the request of @mbarone I am posting this feature suggestion in the main thread instead of in message.

I am extremely close to have identical function to a standard alarm system with one missing function. The ability to bypass an open or fault condition by entering a code before standard arming.

Without going into too much detail and becoming very long-winded I have accomplished much of this functionality through various rules which I would be more than happy to walk anyone else through. The one missing link that I have discovered is the ability to block arming function from even being attempted until a a virtual contact or switch is in the correct state. That is a new feature in this app would be needed. It would not be a all-inclusive route to what I want but would be the main supporting link between my rules and the app itself. It would go somewhat like this...

Correct code entered

Arm function selected

Arm command not executed because chosen contact is "open"

Maybe even update inputDisplay to reflect "not ready to arm" or something similar.

Everything else can easily be handled by RM. Here is what I have set up so far to clarify this idea.

Is this something that other's would interested in? I hope!

From my basic understanding it would not actually be direct manipulation or interaction with HSM it would simply be holding back the executing control over HSM.

When a contact is open at arming, Nyckelharpa stops HSM from arming, gives an optional notification message or TTS with all the devices that are open and the amount of user defined seconds you have to force arming by reentering the arming request. My system requires a pin only for Disarm.

Nyckelharpa was developed when HSM did not allow user selected devices to be open at arming.

Should you prefer another method by all means move forward.

Played around big time with CSS.....

Going back and looking at old versions...WOW vast improvement

This a snap of the entry delay indicator. Also have a transparent/full green one layered over for exit.


Another update!

Using Virtual Keypad AND Advanced iFrame.

I tweaked code in the iFrame driver as it relates to formatting the actual display. I also did some further tweaking with CSS.


when you tap "Sensor Status" you get this:


A few initial thoughts:

I definitely have more appearance tweaking to do. I also may nest another iFrame launcher button for non essential statuses.

I kinda got iFrame inception going on!

1 Like

Virtual Keypad
V1.0.22: 2021-12-05

  • added new preference to modify modal css

for anyone upgrading, please go into the virtual keypad device, and save the preferences to apply the changes.

This only affects the virtual keypad if you are using the button/modal implementation.

1 Like

Did some more CSS work. Got it looking like a physical keypad.

I'll post a disarmed shot in the morning.


It's been a while since I had to do this stage. I am setting up a very simple keypad for the kids. For some reason the button is not bringing up the iframe.

Edit: I tried using the advanced iframe driver instead it is also not working.

Is it possible that I can only have one iFrame open at a time? I have the main keypad up on my main dashboard all the time. The button to launch the other keypad iframe is also on my main dashboard.

Can you see if there are any console log errors when loading the dashboard, and when trying to open the iframes that do not work? Use the developer tools in your browser.

There shouldn't be any collision issues with the iframes, especially the iframe-advanced driver.. I have several of those on my main dashboard without issue.

I have not tested multiple keypads on a single dashboard, but that should also not be a problem. That being said, I'm still on hub version 2.2.8, so I don't know if a recent security update or other change affected this use case.

This is what I get...


OH! I think I may have caused the issue with my naming.....let me check

Ok, turns out you can't name the button to open the iframe things like Kid's Keypad it has to be Kids Keypad

Ah.. I dont really sanitize any inputs so you could get issues from using apostrophes in the names... probably should push an update to handle that better.

Just to confirm, its all working for you after removing the apostrophe from the button name?

Working totally as expected now. Keypad and advanced iframe, to be clear

Thought I would share the latest labor of integrating my second keypad.

Please disregard the nasty fingers. Mechanics perma dirt.:rofl:

Standard main dashboard with a boatload of css trickery:

Kid's can click the new button (that I have yet to tweak for better appearance)

Thanks to the new addition of layout preferences I tweaked and tweaked and tweaked till I got the appearance of the second keypad lined up right over the original. It also times out after 30 seconds so I had no need for the close button.

The one single Disarm function is then linked to this....