Boyo,
A number of modern Alarm systems have interface modules that’ll let you physically hook up to an external HA interface, in addition to whatever service-based offering the panel is also notifying.
I have a Paradox Digiplex/EVO 48 hardwired into the house (although it also supports wireless modules) which currently has:
a) 3x Keypads
b) 16 Hardwired Zones (48 possible), including motion sensors, window and door sensors etc
c) 2x Remote controls (Arm, Disarm, Panic)
It has expansion options/modules for Serial/USB HA Controller interface, Ethernet/Web interface, GSM/SMS Interface, Voice Modules, Zone doublers (etc). I didn’t chose this panel, it’s just what happened to be in the house, and it was “open” enough that expansion was possible.
I have it hooked up to my Vera, and have been Developing/Debugging the Alarm Panel interface for it. It’s currently about 800 lines on Lua/Luup code.
This interface turns each of the Alarm’s Zone inputs into a “MotionSensor” that Vera can use, like a switch, to trigger scenes, lights and to send notifications (etc). I can also check the Alarm & Zone status remotely via findvera.com.
I could enable it to be remotely Armed/Disarmed etc, but haven’t done that yet (my focus has been on stabilization)
Others could port the code to Alarm Panels from different manufacturers as long as they have the Vendor-specific API Documentation (the Wire protocol for the USB and/or RS-232 interface).
It takes time, patience, research and a lot of experimentation to do this from scratch. But it was the Alarm/API Documentation that took the longest to get, since my manufacturer doesn’t expose it (generally) … but Google is a wonderful thing.
You’ll also want to check your local Alarm operators, since they likely don’t support all vendors and/or models, so it might end up being a compromise between Alarm Models/Vendors with API’s, and what your Operator can support.