Alarm system reverse engineering

Hi all. I'm currently investigating the possibility of using an arduino to hack my home alarm system. I currently pay a monthly monitoring fee but I'd like to mod the system to allow it to notify me of a tripped alarm and drop the service. I've already got a Foscam remote camera set up to my phone so I can verify any alarm signal I get.

For the most basic functionality I figure I can simply use the 12vdc signal to the system siren to trigger a simple arduino script to send me a text message. This method is the simplest I can think of and will get me the most basic functionality I need. I'll have to figure out what to do about the outbound phone call the system makes to the current monitoring company during an alarm but I should be able to handle that through the keypad interface I would think.

My ideal setup would be to monitor the communications between the keypad and the alarm control board and maybe even allow remote control of the system from my phone. This brings me to my main question. How does one decipher the communications between the keypad and the alarm main panel? I've found some resources online which seem to indicate that the communications is a simple serial of an 8 bit sequence in some cases but I'm not sure how to verify this. Any help would be greatly appreciated.

Tom

I'll have to figure out what to do about the outbound phone call the system makes to the current monitoring company during an alarm

Unplug the phone line. No calls get made, then.

How does one decipher the communications between the keypad and the alarm main panel?

You are asking about hardware that only you can see. Typically, a keypad is polled, to see if any key is pressed, and if so, which one.

The only issue I see with disconnecting the phone line is that the alarm gives an error warning when it can't detect a phone line. It's probably easy to fool, I'm guessing it detects line voltage.

As for the keypad, it appears to have a 4 wire connection. I assume 2 of the wires are DC in and the others are associated with communications (probably a clock signal and a communications line). What I'm trying to figure out is how to read and decipher the communications signals.

This will be my first project involving this kind of digital communications so I am unsure how to proceed. The way I envision it in my head is pressing a button on the keypad and reading the signal output to the control board with some sort of device (maybe an Arduino programmed to read a digital signal and output it as a string of binary or as a hex value?). I could then repeat this for all the functions on the keypad to build a library of commands that I could then use to monitor the communications between the 2 units.

Tom