Smartening up a traditional home alarm

After some research into smart (ie with an open API) alarms, they are either too expensive or unavailable (Vista 20P etc) or limited in scope (Konnected). It's in that context that I thought it would be fun to roll my own off of a (relative standard?) existing alarm system using an esp32.

The requirements (of the eventual API) are:

  • Sense Alarm Status: armed, disarmed, triggered
  • Set Alarm Mode: arm/disarm
  • Sense individual PIR status: triggered/idle
  • Trigger alarm: panic button

A good to have is:

  • Trip individual zone

I think the project should be straight forward but lack the electronics knowledge to get it over the line. What follows are the individual exposed features of the alarm system, and how far my basic knowledge has got me.

Sense Alarm Status: armed, disarmed
Terminal 27 becomes 12V positive on Set of the system. To be used on conjunction with "latching type detectors". I think an optocoupler across this should lend itself to be detected by a MCU, but I think I need to figure out the voltage compatibility.

Sense Alarm Status: triggered
No explicit terminal, but I think we can take this from the Bell Output. The pair of terminals are marked +ve supply (12V) and -ve sounder trigger (0V), but I'm not quite sure what happens on alarm. Some kind of circuit in parallel to the bell then?

Set Alarm Mode: arm/disarm
Remote keyswitch terminals are available: open to set, close to unset. I think a relay is what's needed here?But maybe an optocoupler would be enough able to control this switch subject to voltage concerns.

Sense individual PIR status: triggered/idle
The alarm system uses (what I believe to be are) standard four wire normally closed PIRs. I am not sure how to detect when a normally closed circuit is open (and in a way that won't affect the alarm panel either!)

Trigger alarm: panic button
A pair of terminals are available which, if opened, will trigger the alarm. Ordinarily I'd think of an optocoupler again, but given the required failure state of this (ie I don't want it to be left open), I'd want a "normally closed" optocoupler (if such a thing exists or can be built).

Trip individual zone
Easy I think - similar to the above (ie NC relay), except in serial to each zone's PIR

Again I think each individual project is fairly straight forward, but I don't know exactly how to build the circuits for each. I have a follow up question about how to wire these all up to the MCU (as I don't think there are enough pins for everything), but I can revisit that once I have the circuits down.

It also doesn't help that I don't have a panel to test or play with, so any help would be appreciated!

Interesting project but we are not a free design or code writing service. We will be happy help out with your design and or code but first you have to make an attempt to design it, write it, post it and explain what is not working properly.

If there is hardware it is always best to post links to technical information as there are many versions of the same or different items. Since we cannot see your project, my eyes are to weak, you need to post using the language of electronics, an annotated schematic (best) or a clear picture of a drawing. Pictures never hurt. Frizzing (wire) diagrams are not considered schematics here.

That's fair - I will try to flesh out the OP with each subproject as I make progress.

The hardware is pretty old, but I have an installer's manual. I'll try to find an electronic version. Given the alarm isn't available to directly develop against, can you suggest a method to build as far as I can go until I'm ready to interface with it?

Do you have any recommendations for designing the circuits? On Linux if possible.

I use LEDs and Switches where possible. You will need to consider the interface to the real world as running wires directly to the Arduino is a great path towards failure.

SimulIDE is a free program available in the Ubuntu and Fedora software stores. I have not used it, so I can't vouch for it, but it looks pretty complete.