Ha02 - Getting started with a DSC Home Alarm

# Introduction

This write-up is part of a larger “Home Automation” series – be sure to check out the other writeups and videos for some larger context for Home Automation, and how your home alarm can factor into home automation.

In the Home Automation series, when I need certain baseline data to assist in automation, I’m often pulling data from the home alarm system: What doors opened? What rooms had motion? What’s the state of the smoke or carbon monoxide detectors?

These modern alarm systems offer rich features and robust functionality inexpensively. They are reliable and make the perfect subsystem to build in for home automation.

We can easily interface the system to Home Assistant (and a lot of other things) to automate lights, plugs, appliances and even defense against fire, flood, appliance malfunction and more.

To get started, you need a home alarm system. This writeup is about the Non-Neo DSC home alarms. Often these are installed by Vivint, ADT or your local installer but generally the components are all from the same vendor.

You want to avoid “DSC Neo” because DSC does not allow third party integrations with them. The keypad bus is encrypted. It’s an anti-consumer product, in all.

Getting Started

DSC has some good reference material online. The manual is written for alarm installers, but once you’ve got the hang of it, it is very easy to follow.


For this write-up, I’m going to give you a sort of “cheat sheet” but you really do want to read over the reference PDF above, and document your setup in case you ever need to program a new system from scratch.

The programming manual has a kind of worksheet you go through toward the end of the book that walks you through all of the parameters. If you skip right there it’s kind of overwhelming; it’ll make more sense if you look at the cheatsheet first.

Out of the box Programming

There are two codes for these types of panels. The installer code and the master code

The master code is meant to be given to the home owner. The installer code is rarely, if ever, given to the home owner by the installer. Often an installer uses the same installer code for all homes! Not the best in terms of security.

ADT often uses 6321 as their install code. DSC default is 5555

The default master code is usually 1234

The installer code is used to set all the options. The master code is used for arming and disarming and often, though not always, can be used to program more arm/disarm codes for the alarm.

“Zones” in this system refers a single sensor (in the case of wireless sensors) or a single wiring loop (which could have one or more wired sensors). On smaller systems, usually just one or two wired sensors per zone makes sense.

Zones can be varying types – there are some built-in types and the types sort of determine how the alarm panel responds to a zone. Door zones might optionally “chime” if they are breached whereas you wouldn’t want that in motion zones (usually). Smoke alarm zones are usually monitored 24/7 for an alarm state and don’t depend on the panel being armed.

“Partitions” are something else – a “Partition” is a group of one or more sensors, and ideally, keypads. A sensor can belong to more than one partition. there is a built-in partition called “System” that all sensors belong to.

You should be asking “Wait, how does the system handle when a sensor is in a zone that is part of two partitions and only one of them is armed??” A lot of other guides get this part wrong online; it’s actually very clever:

The sensor will only trip the alarm if the zones to which it belongs are all tripped.

Why would that be useful? You can set up the area around your house where packages are delivered to be a zone that exists in multiple partitions. That “delivery zone” is never armed but you can activate a door chime function if there is motion in that area or if your mailbox is opened. If your alarm is armed, a package delivery person would not set off your alarm. Cool stuff.

Extending the Alarm

The alarm, by itself, is useful. But the functionality of an alarm by itself is not useful for automation. We will use the alarm sensors to automate things like turning the lights on when you come home, or detecting when there is a leak in the bathroom. If a smoke alarm goes off, but no one is home to hear it, does it dial your celphone? It could…

Parts List

DSC 1864 panel (Not Neo!!!)
Power Brick
Spool of 4-pin alarm wire (cat5e/cat6 will do), but small alarm wire is much easier to fish).
RFK5500 Button Panel

Note: There are many software/firmware versions of the RFK5500/5501. Try to get one with firmware 4.x or newer. It’s got a lot of usability improvements and nice features. The RFK panel has a built-in wireless reciever and the PK5500 is just a keypad without the wireless component.

Physical Install

See youtube video TODO

Do you need End of Line resistors?

EoL resistors are cool. You can tell the Installer Pros from Noobs because if your panel has a bunch of resistors in it, the installer didn’t understand the reason for having the resistors.

The panel CAN be programmed not to need resistors, but you want them. These sensors are either normally open, or normally closed. A resistor puts the zone in an in-between state. If a bad guy cuts the wire, it’ll go “more open” than it was, or it’ll go to a dead short. Either way, the alarm panel knows something happened with a hard-wired zone and it will trip.

Putting the resistor at the panel is not necessarily effective depending on how the rest of the sensors are wired in. The sensor should be located at the last sensor in the chain of sensors for that zone. (This is covered in more detail in the above installer PDF, but it doesn’t explain why very well. This is a better explanation. ) Fire zones often have “double EoL resistors” so the panel knows that the zone is a fire zone.

Cheat Sheet

Enter Installer Programming

Press *8 on the keypad followed by the installer code (5555 or 6321 on ADT systems, typically, unless your installer has reset your panel.

Exiting Programming or moving back one level

Generally pressing # will move you back one level or pressing repeatedly will “log out” of installer mode.

Actual Programming

There are 8 hard-wired zones that are in the panel by default. If you get a hard-wired zone expander, 9-16 will also show up as hard-wired zones. I recommend using zones 17-64 for wireless zones for that reason.

If I could give you an orientation for programming these, it is what I imagine programming old mainframes of the 1970s would have been like. You need a good mental picture of what’s happening to really master these things. Not that I have.

I recommend you do the physical installation for hard-wired zones first, and keep track of which zone is which space by labeling the wires.

The first step is setting the zone type for each of the first 8 (or 16) zones.

That’s programming location 001 and 002. How do you get there?

*8 (installer code) 001

Now the thing wants you to enter 8 two-digit codes. What are the two-digit codes?

This pic from the manual is telling you that 001 to 004 let you specify what type of zone it is. There is actually up through code 88, see the manual for a full list.

If you don’t have all 8 zones hard wired in, you can set them to 00 when it comes time to key them in.

So if I had a panel setup for:

Zone 1 : Entry Door
Zone 2 : Entry Hall Motion
Zone 3 : Motion Sensor
Zone 4 : Far Outside Door Sensor
Zone 5: Garage Door Sensor
Zone 6: Smoke Detector
Zone 7: Glass Break Sensor
Zone 8: Crawl Space Door Sensor

I might want to trigger the alarm immediately if any zone other than 1 is violated. I only come in via the entry door. See motion without entry door? Alarm. See other doors opened when armed? Alarm.

You get the idea?

So I might enter

  • 8 (Installer code) 001

This “section” [001] sets the zone type of the first 16 zones (regardless of if you have the hard-wired zone expander, or not). This entry sequence tells it the zone types for the first 8 hard-wired zones and then the next 8 zones are null. After the 16th “00” entry, it’ll take you back to enter another section and continue programming.

There is also this idea of Armed Stay. The idea here is you arm your alarm because you are home, but if someone sneaks into your house, you know. In this case you should think about what you want to do. You might want an immediate alarm on the entry door, crawl space door, etc. But motion would be okay because that’s you, in your house. I’ve also seen some people only allow motion on the 2nd floor with an alarm keypad on the 2nd floor such that if any motion is detected on the first floor, it will set off the alarm.

The pre-set zone definitions for away/stay are labeled this way to give you something to work with for that kind of use case.

[006] – Allows you to set the installer code

[007] – Allows you to set the master code

Don’t read the manual and assume that you need to fiddle with everything. The panel defaults are mostly sane and you shouldn’t much with the settings. Any setting you change you should fill out on the programming worksheet as that’s what I’m going to ask you for if you have trouble and want help.

TODO: You have a lot more work to do to get a usable system – tweaking a few options, setting up the RFK leypad.

Recommendations for GREAT security improvements.

You can prevent someone from resetting your panel’s programming, even with physical access to your panel. If you forget your codes, it mostly means you have to replace the entire control board.

Change the # digits in the codes to 6 or 8. By default it is 4 digits. C’mon, what is this, 1982?

Help, I don’t know my code!?

OK, so as a best practice earlier I recommended setting some codes and DISABLING the ability to reset the panel. See? DSC does take security seriously! If your panel has NOT been set to disallow resets, here is how you reset it:

  1. Unplug everything.
  2. Unwire all the zones and PGM outputs (if re-doing an existing panel, keep track of what goes where so you can put it back!)
  3. Jump a wire between Zone1 and PGM 1
  4. Plug the panel back in. Wait 30 seconds.
  5. Unplug the panel, and remove PGM1/Zone1 wire.
  6. Plug the panel back in and try one of the keypads with one of the default installer codes (5555 or 6321)

Look into the Elk M1 alarm. Its robust, diy accessable, open and published api. I’ve integrated it with Node Red, and, amongst many other things, allows you to control lights as you discussed in your video. Elk has an owners forum, where tech support has been responsive to “advanced” use cases.

Satel Integra panels may also be worth a look.

They are quite configurable and have a home assistant integration.

Unfortunately they do not seem to have a distributor in the USA, so would need to import one from Europe.

Seems like not quite as many features around the edge use-cases and much more expensive.

I like all these things, and I like that there seem to be a lot of third party components, but it is much more expensive for the same functionality as dsc. It may be worth getting one to see how it stacks up – if it’s more secure, or extensible. Not thrilled about the $200+ network interface module though.

The Lutron integration seems ham-fisted, and some of the docs here:
seem to require registration to read.
Registering to get a basic programming manual is so 1995.

Will keep digging.

If you like manuals there is also a “Reference Manual” for those panels, which is more in depth than the “Installation Guide”

I can’t post links yet, but its the same url just id=14075

I personally wouldn’t disable the ability to reset the panel, but that’s just me, probably because I’ve seen people forget or accidentally change the installer code before. Theoretically though, if someone has physical access, they likely no longer care about your panel that’s supposed to detect physical access. Seems like that feature is mostly used to lock consumers out of being able to reuse their panel with a different alarm company.

bumped. I tried the link with that id, but got a 404… I might not have been trying the right url though. You should be able to post links.

Banks and some other places like that use the panel lock feature, too, I guess to make it harder to be ocean’s eleven’d

Oh, maybe it is slightly different


Yeah, places that are open to the public it does make more sense.

oh yeah, DSC. Yeah I have this :slight_smile:

I thought you meant the reference manual for one of the alternative panels above as I don’t see it as a good sign an “open” competing company requires registration to get their manual.

DSC has their own motives, I’m sure, but their stuff is pretty killer. I have a 3d printed float sensor I installed in the floor drains of my basement to know if the storm drain outside is starting to back up into my basement. Eventually I’ll probably dig up…something… and install an antibackflow valve. But early warning is nice!

1 Like

Yeah, I think you will be hard pressed to find anything very open in the professional security industry. In the absence of which, going DSC Power Series for the hardware with some adapter that can tie into the bus seems like the best move.

IF someone wanted something commercially available I would say a GE Interlogix Concord 4 panel with an LTE/Z-Wave module and an Alarm.com service plan could check off an awful lot of boxes.

The Alarm.com account needs an alarm monitoring company to activate it though, and it is just their closed app.

Searching the web, I see " DSC PC1864NK". The “NK” worries me. That’s not the “neo” part is it?

1 Like

ebay an option? https://www.ebay.com/itm/193654414676​​​​​​​

ebay is fine; however, that link was a dead end. I’m guessing a number of us are following along with you hoping to duplicate what you’re doing and the listings go fast. This https://www.amazon.com/gp/product/B002WEUTGM/ref=ox_sc_act_title_1?smid=A1A9LDS9MN61P9&psc=1 is the sort of thing I find on AMZ, but I don’t know if it’s the “right” one.

Apparently “NK” just stands for “No Kit” which means no power supply, keypad or anything except the panel and enclosure. There is also a “PCB” suffix that doesn’t include the metal enclosure.

Also, I came across this which seems like an awesome alternative to the EnvisaLink:

1 Like

Speaking of dated… In my limited experience, Lutron requires telnet for integrations. No experience with the Elk <> Lutron module. The Elk databus is RS485, and I doubt its encrypted. You can probably roll your own network interface module. The security panel industry, along with a lot of the “professional” home automation, seems to be stuck in 1995 in general. But, to some degree its to be expected.

I agree requiring registration is frustrating, but I bet they would talk with you if you reached out. The API is a simple ASCII. Heres a NodeJS library: github_com/kevinohara80/elkington

Call these folks, they will quote far better prices than you see online (but you need to call to get best pricing):

Not sure if you’ve ran across DLS5 yet, but it’s DSC’s programming software for PC. It’s typically only distributed to licensed installers but it can be found if you look hard enough. It does require a DSC PC-Link cable for around $10, AlarmSystemStore carries them. It makes programming a breeze and allows for quick reconfigurations without having to dig out the manual. AlarmSystemStore has some tutorials on the usage of DLS5 as well.

1 Like

I have started ordering all the components to set up a new alarm system based on the PC1864.
The house has never had an alarm system before so there are no sensors, however I’m determined to run wires for most of the motion sensors.

I’m just trying to decide on which type of motion sensor to order. I’m looking at both the wired and wireless models because I want to be able to buy wireless ones if I need to, and they should ideally be the same brand/style as my wired ones if possible.

I have been put off by the DSC wireless sensors because of the 5-6second delay they have. Therefore I’m looking at alternative brands, such as Paradox which have wired and wireless sensors that work on the 433MHz band.

I’m trying to work out which wired and wireless sensors would be compatible with the DSC alarm systems.
I’m guessing any wired sensor with NO or NC contacts should work.
But when it comes to wireless, do they all talk the same language, as long as they are operating on the same frequency? I.e should any 433.92MHz wireless sensor work with a DSC RFK5500?
And what about other bands that are around 433MHz? I saw one sensor that specified it used 433.42MHz or something. Would that not be compatible?

I’ve received most of my alarm components and I have the standalone alarm working ok.
This is what I purchased

PC1864 V4.7 BRA - DSC PC1864 8-64 ZONE CONTROL BOARD (VERSION 4.7) | eBay
Based on the model number I’m guessing this model is designed for the Brazil market. But it seems to be working fine. Only thing is that there are a couple of settings that the manual says should be ‘Future Use’, but they are set in the unit so they must be for something. I will try and send an email to DSC and see if I can get a manual for this particular unit to find out what these settings are for.

PC5108 x 3 - TYCO PC5108 / PC5108 (BRAND NEW) | eBay
The sticker on these say they are V2.0 PC5108 REV04 V
I haven’t connected any sensors to them yet, but the tamper contacts on them are working (I had to short them out so I didn’t get a tamper error on the controller).

RFK5564 V1.31 - https://www.amazon.com/gp/product/B00QUEOW18/ref=ppx_yo_dt_b_asin_title_o02_s00?ie=UTF8&psc=1
This one appears to be quite an old unit (manuf date of 10/2014) but it works perfectly and doesn’t seem to be missing any features.

Generic (large) In-wall enclosure Buy the Dynamix HWS-2004V2 20" Network Enclosure Recessed Wall Mount... ( HWS-2004V2 ) online - PBTech.co.nz

230V - 16V 40VA Transformer - Transformer 16VAC 40VA C/W Fuse Holder & Terminal Block
Make sure you get one that suits the voltage in your country.

Bosch ISC-BDL2-WP12 Tritech motion sensors x 5 - https://www.amazon.com/gp/product/B0056Z3W6I/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1
I have so far purchased 5 of these, and I’m very impressed with them. They are very sensitive and look ok. I also have some ISC-BPR2-W12 on the way which are just PIR sensors (not microwave). I’m gonna see how well these work in comparison to the Tritech ones.

GRisk Reed Switch 150RS-T 1/2"
I have ordered 20 of these and I’m going to try and wire them into as many doors as possible. Windows will be a bit harder as we have aluminium joinery. I might eventually install some wireless sensors on some of the windows.

Internal Siren - I bought one locally in New Zealand Flush Mount Internal Siren
It works and is very loud. Still need to run a cable to it and mount it in the wall somewhere.

EyezOn Envisalink EVL-4EZR - https://www.amazon.com/gp/product/B016WQTJ4S/ref=ppx_od_dt_b_asin_title_s00?ie=UTF8&psc=1
I’ve just ordered this so will hopefully have it in the next couple of weeks.

I still need to buy an outdoor siren and maybe some wireless window sensors in the future.

PS. I’m looking forward to the next episode in this series.

1 Like

I really liked the videos and your right up on this was very informative. Have you looked into the open source project Konnected it’s seemed to hav e some of the points you were looking for being open source and pretty easy drop in replacement or integration with current alarm systems.

Wendell you absolut god, this is just what i’ve been looking for!
I have a few questions that i hope you or somebody else with the knowledge could share with me :slight_smile:

  1. how can i manually trigger the alarm from home assistant? reason? external sensors that i might want to use if/when alarm mode is enabled in the house.
  2. Where are the settings stored? i have 2 RFK5500-868 (europe) pannels, are there batteries in these pannels to hold the config or is it written on some nand somewhere, if so where is the nand?

Yes, i have it hooked up to HA with envisalink.

Anything alarm related is stored in the eeprom on the panel itself (not the pads even. Though the lcd pads can store alias names for zones like zone 01 is bedroom type things is stored in each pad. There is a facility got broadcasting zone labels from one pad to another as a one time thing.

There might be a cleaner way to do it but the alarm panel has an external input for triggering the alarm. This works with “any” kind of sensor and is right on the screw terminal. I have that for a water alarm in my basement which is not really an alarm sensor.

You could make an Arduino or esp3266 gadget to do the same via WiFi if you really want that.

My water sensor triggers whether the alarm panel is armed or not