[RESOLVED] HSM <-> keypad sync feature request

I've added a customer driver to link my physical alarm panel to HSM. Linking the keypad in HSM allows me to arm/disarm the panel. Everything works great, except that if a user uses the physical keypad to arm/disarm, HSM doesn't reflect the change.

It would be nice if HSM monitored the keypad securityKeypad attribute and automatically changed states if they didn't match. Right now I've made up a bunch of rules in RM to force HSM to sync, but that causes HSM to then re-arm or re-disarm the keypad since it's one way.

Unless I'm missing how to enable this now....

Interesting. My ring keypads do sync... most of the time. I have rules to catch when they don't.

Oh really? Hmmm... Maybe HSM is requiring a different attribute that I'm not using.

When you open the device, what are your "current states" listed on the right panel? This is what I built out based on the alarm and securitykeypad capabilities:

  • alarm : off
  • codeChanged : added
  • codeLength : 6
  • entryDelay1 : 60
  • entryDelay2 : 180
  • exitAllowance : 255
  • exitDelay : 255
  • lastCodeName : Hubitat Safety Monitor
  • lockCodes : {USER CODES}
  • securityKeypad : disarmed

Do you have other ones I haven't used?

No, but my "lastCodeName" actually has the user name in it, not HSM. This is presumably from a day or two ago when I used this keypad to disarm the system. This morning the disarm command came from HSM not from a keypad. I'm also using the ring community driver - not sure if that makes a difference.

I had added "HSM" and "Google Assistant" to my alarm panel "users" so I could track were an arm/disarm request came from (hence the lastCodeName being HSM).

Let me check out that driver. I might be just missing something. Much appreciated!

Ah ok. I have HSM integrated with Envisalink on the back end, which adds to the complexity. The ring keypads arm and disam HSM, which arms and disarms envisalink and my vista20 panel. Or I can arm the vista20 and it arms hsm which arms the keypads. And so on.

So it seems I'm missing something looking at that driver. It seems the driver must push an event that indicates armingIn to indicate a physical keypad event. I was not doing that.

Let me play a bit, but it looks promising!

The guy who wrote the community driver @bptworld is really helpful. Might be worth an outreach though he doesn't use HSM.

No need, your poke about the driver was the deal. The driver needs a call like this:
sendEvent(name:"armingIn", value: EXIT DELAY, data:[armMode: "STATE", armCmd: "HSM CMD"])

Replacing EXIT DELAY, STATE and HSM CMD:
STATE: "armed night", HSM CMD: "armNight"
STATE: "disarmed", HSM CMD: "disarm"
STATE: "armed home", HSM CMD: "armHome"
STATE: "armed away", HSM CMD: "armAway"

As soon as you do that, HSM instantly sees that there was a change, and sync's perfectly. Nice!

Thanks again.