HSM · arm / disarm

Connecting the keypad to Hubitat Safety Monitor

The keypad on its own just sends button presses to Hubitat. It's Hubitat Safety Monitor (HSM) that turns those presses into an actual arm/disarm state — and sends the result back so the screen updates. Skip this and the keypad still "works," in the sense that it fills the logs with button presses that go nowhere.

!

One easy-to-miss requirement: HSM won't send state back to a keypad unless at least one alert is configured for arming — even one that does nothing meaningful. Skip it, and the keypad's screen never updates no matter how correctly everything else is wired. More on this below.

Where this lives

HSM's own app

This isn't a separate integration to install — it's a section inside HSM's existing configuration. HSM's intrusion detection, delays, and monitored devices are all generic Hubitat setup, well covered by Hubitat's own HSM documentation. What follows is only the part specific to connecting a keypad.

Hubitat Safety Monitor main configuration page, showing Intrusion-Away, Intrusion-Night, Water, Intrusion-Home, Smoke/Gas/CO, and Custom selector buttons, plus a Configure Arming/Disarming/Cancel Options section listing delay settings and Arm/Disarm with WallKeypadCase and Wall Keypad LAN
HSM's front page — the keypad-relevant box is "Configure Arming/Disarming/Cancel Options"

Add the keypad

inside that box

Tapping that box opens a larger page. Under Use keypad(s) to arm/disarm, select your keypad's driver device — it'll show up by whatever name you gave it back in step 2 of the setup guide.

HSM arming and alert delay configuration, showing Use delays for arming, Use delays for alerts, and Use keypad(s) to arm/disarm with Wall Keypad LAN and WallKeypadCase selected, plus per-keypad toggles for disarm-to-disarm-all and Partial button behavior
Delay settings and the keypad selector
On [keypad] use Partial button to arm Night (turn off for Home)

One toggle per keypad. The keypad's physical ARM button always means full Away — there's no toggle for that. Partial is the only button with a choice: leave this on and Partial arms Night; turn it off and Partial arms Home instead.

Use disarm to disarm all?

Generic HSM behavior, not keypad-specific — whether disarming clears every armed state at once versus per-zone.

Multiple keypads all receive the same state — there's no per-keypad targeting. That's not a limitation, it's how a real alarm panel works too: a front-door keypad and a bedroom keypad both show the same armed/disarmed state, because they're both windows onto one system.

What the buttons actually mean

terminology, translated
Keypad buttonHSM state
ARM → Armed - AwayFull arm. No toggle — always maps here.
PARTIAL → Armed - NightDefault. Toggle off to send Home instead — see above.
(disarm) → Disarmed

The alert that has to exist

the part that costs the most tries

Further down HSM's config is a section for arming-failure and bypass-warning alerts. It looks optional — like something for notifying you if a door's left open when you try to arm. It isn't optional. Without at least one alert action configured here, HSM doesn't push state to the keypad at all, even when arming and disarming both work correctly from HSM's own side.

HSM Configure Alerts for Arming Failures and Bypass Warnings section, with an Arming Alerts action set to turn on pseudoBulb to 100%
A placeholder alert — "Turn on pseudoBulb to 100%" — satisfies the requirement
You don't need this alert to do anything useful. A real install might flip a smart plug or send a notification; a test rig can point it at a device that does nothing anyone will notice. What matters is that something is configured here.