The code is at https://git.ethitter.com/snippets/25. This is tailored to be used with Home Assistant’s MQTT panel, hence the switch that transforms some of the values before they’re sent to the MQTT bridge.
Next up, I want to integrate the alarm states, which are published under the “Security” event rather than the “alarmSystemStatus” event.
Following up on the “intrusion” piece of this, I haven’t yet been able to sort out how, if at all, the hub exposes those events. My SmartApp code reliably sets the alarm state, so falling back to the SmartThings app to dismiss alerts doesn’t seem terribly burdensome (those should be infrequent, I hope ). If I’m ever able to capture the intrusion events, I’ll certainly add support for those triggers in the MQTT alarm panel.
Unfortunately, I was never able to find where the Intrusion alerts were exposed. That said, it’s probably been a year since I last checked. I’ll have to find some time to look again.