Hubitat Safety Monitor API

Hubitat® Safety Monitor

Guide for Apps to Interface

Hubitat™ Safety Monitor (HSM) uses Hubitat Location Events to communicate with other apps.
It reports its state using an event named “hsmStatus”, and custom monitoring rule arming/disarming with “hsmRules”. It reports alert events with an event named “hsmAlert”. Apps can set the arm/disarm state of HSM with an event named “hsmSetArm”. These events and their values are summarized below.

hsmStatus
	armedAway		intrusion alerts for Away are armed
    armingAway      intrusion Away arming pending exit delay
	armedHome		intrusion alerts for Home are armed
    armingHome      intrusion Home arming pending exit delay
    armedNight      intrusion alerts for Night are armed
    armingNight     intrusion Night arming pending exit delay
	disarmed		intrusion alerts are disarmed
    allDisarmed     intrusion, smoke, water and custom alerts are disarmed

hsmRules
	armedRule 		descriptionText = name of HSM Monitoring Rule armed
	disarmedRule	descriptionText = name of HSM Monitoring Rule disarmed

hsmAlert
	intrusion		intrusion away alert
    intrusion-home  intrusion home alert
    intrusion-night intrusion night alert
	smoke			smoke alert
	water			water alert
	rule			descriptionText = name of HSM Monitoring Rule alert
    cancel          alerts cancelled
    arming          failed to arm due to open contact

hsmSetArm
	armAway		    arm intrusion alerts for Away
	armHome		    arm intrusion alerts for Home
    armNight        arm intrusion alerts for Night
	disarm			disarm intrusion alerts
	armRules		arm all HSM Monitoring Rules alerts
	disarmRules		disarm all HSM Monitoring Rules alerts
	disarmAll		disarm all alerts and all HSM Monitoring Rules alerts
	armAll			arm smoke, water and all HSM Monitoring Rules alerts
	cancelAlerts	stop all in progress alerts


Examples:

For app to subscribe to HSM status:
	subscribe(location, “hsmStatus”, statusHandler)

For app to subscribe to HSM alerts:
	subscribe(location, “hsmAlerts”, alertHandler)

For app to arm HSM:
	sendLocationEvent(name: “hsmSetArm”, value: “armAway”)

Handler example for HSM alerts:

def alertHandler(evt) {
	log.info “HSM Alert: $evt.value“ + (evt.value == “rule” ? ”,  $evt.descriptionText” : “”)
//    only has descriptionText for rule alert
}

Note: For armingAway, the number of seconds of exit delay is in the event data map as "seconds".

10 Likes