More on Ademco Keyfobs

We’ve been using keyfobs with our security system for a couple weeks now, which is enough to get a good feel for how they work. First off, the reliability is a lot better since I relocated the panel’s wireless receiver about 40 feet closer to the garage door area. I have a feeling that the house’s aluminum siding was interfering with reception in the receiver’s old location.

Currently, I have the fobs programmed to arm/disarm totally independently from the garage door opener. That is, two keypresses are required when either coming or going: One to arm/disarm the system, and another to open/close the garage door. This has proven to be a little inconvenient, particularly when arming/closing/leaving. This particular process would be a lot smoother if I could get the “arm” button to shut the garage door as well as arming the system. I’ve come up with a tentative plan to accomplish that, if it works.

[More:]

First things first: For this to work, the garage door needs to be set up as what Ademco calls a “vent” zone. With a vent zone, the system can be armed while the zone is faulted (i.e. the garage door is still open). Then, when the zone is restored, it is automatically armed. To set this up on my panel, I had to define a custom zone type for the garage door. See your panel docs for details.

With that out of the way, the plan is to use two dry-contact relays (these are provided by the panel as on-board triggers, as well as by zone expanders and add-on relay boards):

  1. Wire the two relays in series (connect N.O. terminal from relay #1 to C terminal on relay #2)
  2. Connect C terminal from relay #1 and N.O. terminal from relay #2 to the terminals on the garage door opener
  3. Program relay #1 to activate (close) when garage door zone is faulted and open when zone is restored
  4. Program relay #2 to close for 2 seconds when “Arm” button on keyfob is pressed
  5. Program both relays to close for 2 seconds when “Door” button on keyfob is pressed

Explanation: The garage door operation is controlled by shorting two terminals together. If you do this when the door is closed, it opens, and vice-versa. With this method, we have no idea what state the door is in. So, we can’t use a single relay and just blindly close the contacts when arming. Otherwise, if we armed when the door was already closed, it would open, which we obviously don’t want.

To get around this, we need some way to tell whether the door is open or closed. That’s where the garage door’s zone comes in. We assume that if the zone is faulted, the door is open, and if not faulted, the door is closed. So, wire two relays in series, so that when both are closed, the door triggers. Then program one to close only when the garage door is open (faulted), and the other one to close when the “Arm” button is pressed. So when arming with the fob, the door is only triggered if it’s already open. This should work reliably almost all the time; the door can occasionally get into a half-open state where the zone will be faulted but the door will open when tripped. But, this doesn’t happen all that often, and just tripping it again will close it.

For the “door” button, which triggers the door regardless of its state, we just program both relays to momentarily close. This unconditionally triggers the door. Only one potential “gotcha” here: I’m not sure what the panel will do if a relay is already activated and we send it another signal to momentarily close the relay. We need it to keep the relay activated. If it doesn’t, there’s a chance that the zone-activated relay could end up open at the wrong time, and the “Arm” button then wouldn’t close the door as expected. In this case, we’d need to add a third relay in parallel with the opener, to handle the “door” button. But I’m hoping that won’t be necessary.

What about disarming, you ask? Can we get the system to disarm automatically when the door is opened via the keyfob? Well, here’s the deal. When arming, you always want to close the garage door. However, the inverse is not always true: You might want to disarm the system without opening the garage door. So, for now, I’ve chosen to leave this as a two-step process. I may rethink it down the road.

5/18: I’ve been kinda busy to do much with this the past 2 days, but this morning I got around to doing a brief proof-of-concept, to see if the panel could activate two relays simultaneously. I currently have a keypad function key programmed to trigger the garage door opener. There are two steps necessary to set this up:

  1. Program the function key for “Device Activation” (*57)
  2. Program an output action (*80), triggered by “zone type” 66 (function key), which closes the garage door’s relay for 2 seconds when triggered.

To do my test, I just added an additional output action to turn an X10 light on/off with the same function key trigger (zone type 66). It worked — when I pressed the function key, the garage door opened and the X10 light turned on at the same time. That bodes well for this project; I should be able to do it with 2 relays and a bare minimum of wiring. Stay tuned!

5/19: Work on this continues at a glacial but steady pace. Today I identified the relay wires on the zone expander and verified that the relay is working, by programming a function key to toggle the relay and then checking the resistance between the C and N.O. wires. Wire IDs are as follows. Relay 1: C – Brown; N.O. – Yellow. Relay 2: C – Violet; N.O. – White. To wire in series: Splice yellow to violet, and connect brown and white to garage door opener terminals.

5/21: Wired the relays up in series this morning, and everything seems to work fine. Assuming there are no problems, the only thing left to do is solder the splices and clean up all my wiring. Then it’s done!

For programming… since I have a lot of keyfob zones that need to trip various garage door relays, I decided to create two zone lists (*81) for zones that trip relay #1 and #2, respectively. That saves me from defining identical output functions for each individual button zone. It seems to work well that way.

Saturday’s Hijinks

Another fun Saturday around the house…

First up: The security system. I finally got around to relocating the wireless receiver to try to get better performance out of our new keyfobs. At the same time, I installed the status transmitter module so the keyfobs can receive status information. So far, things look good. the status transmitter seems to work fine, and there seem to be no issues with the window transmitter in the master bathroom. I had some concerns that this one would have problems because of the distance from the receiver. But, it works fine. Next up.. we’ll see how things work like this for a week or so, and if everything looks good, I’ll clean up the wiring, reattach the sirens, replace the battery and stick a fork in this one.

Next up: The pool. With t-minus one week until we uncover it, I decided I should take a look at it. I’ve had other stuff keeping me busy, so I’ve kinda neglected it for the past month or so. As I feared, it’s a nice green swamp. Anyways, to get a start on cleaning it up, I started the pump and siphoned in 5 gallons of 12% hypochlorite. We’ll see how it looks tomorrow.

[More:]

This year, rather than adding chlorine through the skimmer, I think I’ll pour (or siphon) it into the shallow end in front of a return jet. That should disperse it pretty efficiently, and it should also be easier on the pump and filter. Siphoning is a little slower than pouring the stuff in directly, but it avoids splashing, which is a big plus.

The fun never ends..

Followup 5/15.. the 5 gallons of chlorine cleared it right up and left a chlorine residual, but the pH is high now (8.2). Dunno what the alkalinity is, but I’m sure it’s low. Not sure which I should adjust first.

A bit of everything today

I skipped work today so I could ferry the clan around on various errands, and seized the opportunity to knock a few odd things off the to-do list.

First off, I paid my first visit to Namco, my favorite place to get pool supplies. The prices have gone up this year, which comes as absolutely no surprise to me. But, they’re still pretty much the cheapest place around for chemicals, particularly after late August when they blow everything out at half price (which really drives home how high the dealer markup is on pool chemicals). I bought a couple 5-gallon jugs of liquid chlorine, which is basically sodium hypochlorite (household bleach) at about twice the strength of grocery store bleach. Namco has this stuff at $13 for 5 gallons, plus a $6 deposit for the jug. That’s a decent price, and it makes me wonder how much of a premium I’d pay to use this stuff instead of calcium hypochlorite for daily chlorination. The main advantage of cal-hypo is its shelf life: I can buy it at half price late in the season, and it’ll still be just as potent the following spring. Its drawback is inconvenience. To avoid clouding the pool water, you need to dissolve the cal-hypo in a pail of water, then pour it off. Then you have a lot of sediment left over that you have to get rid of. The liquid chlorine is much more convenient, but its shelf life is shorter, so I’d need to buy it at full price during the season. The challenge here is to figure out the true effectiveness of the cal-hypo vs the liquid stuff, then see how much of a premium I’d pay for the liquid stuff, and determine if the convenience is worth the price difference. I love doing this kinda stuff, so you can be sure I’ll tackle that soon..

In other news, we got our vegetable garden planted. To keep the critters at bay, we strung chicken wire around the garden and hung some old CDs above it. The theory is that the CDs will blow around and flash as they catch the light, which discourages birds. We’ll see how it does this year. I guess the next step would be to add lawn edging to prevent moles/groundhogs/etc.

… and finally, I made a stab at speeding my wife’s anemic Windows XP box up a bit. Basically I went into the Microsoft System Configuration utility (Start Menu -> Run -> enter msconfig), went to the “startup” tab, and disabled a whole bunch of unnecessary kruft that the OS was starting up at boot time. It’s amazing the amount of junk that accumulates there over time.. Quicktime crap, Adobe crap, crap from some kid’s software we installed, crap from Dell, crap from the stupid stuff that Dell pre-installs on the computer, AOL crap, the list goes on and on. After I turned a bunch of stuff off, I rebooted and the machine seemed a good deal snappier. I guess we’ll see how it goes from here.

Post-setting indoctrination

I set a 4×4 post today, complete with concrete footing. While this may not seem like much, it was a big deal for me as I’d never done it before. My parting impression: it’s a lot of work. Between digging the hole and handling the concrete, it’s quite the back breaker.

To dig the hole, I used a garden variety post-hole digger. I can see why people recommend a power auger if you’re doing a lot of these… it’s slow going. And of course, by Murphy’s law, about 1 foot down I hit a giant rock (several giant rocks, actually). I was able to break them up pretty easily with my ball-peen hammer and a cold chisel, but it certainly added some additional sweat equity to the job. An air chisel or demo hammer would probably make this a bit more fun.

I wanted to get the hole about 2-1/2 feet deep, but I stopped a couple inches short because I hit a giant root, and I made the executive decision that the hole was deep enough. Then I dumped in some gravel, followed by a few inches of concrete for the footing. Then I stuck the post in, plumbed it and staked it up, and backfilled the hole with concrete. It sounds easy, but it was a lot of work, especially since I was mixing the concrete by hand. The concrete is still curing, and hopefully once it’s done the post will be pretty bulletproof.

Incidentally, the purpose of the post is to support…. a bird feeder. Yep, a 4×4 with concrete footing is probably way overkill for a bird feeder, but it was a worthwhile exercise nonetheless. I may be doing the same thing for our mailbox one of these days.. the mailbox and post have both seen better days.

Alarm Oddity

So, I’ve got the wireless keys programmed into the alarm. Everything seems to work. The only “wild card” here is the range of the things, because the receiver is mounted a little farther away from the garage than I’d like. If the range turns out to be a problem, I’d expect all of the buttons on the keys to work inconsistently. What I’m seeing in practice, is that the garage door button works consistently, but the disarm button is spotty. I get the same behavior with both keys.

I don’t really have an explanation for this, so the first thing I’m going to try is moving the receiver closer to the garage. I’ll mount it in the new spot temporarily, and see how it works (in particular, it needs to still work with my existing wireless zones). The other thing is, I still haven’t installed the status transmitter module. It doesn’t seem like that should have anything to do with it, but I’ll go ahead and install it at the same time, and see how things go.

Stay tuned..

Followup.. turns out the spotty behavior did affect the garage door button after all, so most likely, this was simply an issue of the signals not getting to the receiver. My hypothesis is that the house’s aluminium siding was interfering with signal propagation. The fobs seem much more reliable now that I’ve relocated the receiver.

Busy yardwork day

I played hooky from work today so I could catch up on some much-needed yardwork. If my work schedule permits, I really like doing that because I can pick a day where the weather is good, knock off all the yardwork, and free up the weekend for more leisurely pursuits. I started at 9:30 this morning doing trimming and edging, then mowed all the grass, then mulched up some twigs with the chipper/shredder. Plus, I relocated one of our compost bins and fixed the door on our big barrel composter. All in all, a very productive day.

Next up, I need to do a little pruning and weeding, and do end-of-season maintenance on the snowblower. Then I’ve got two outside projects I’d like to get done before I have to deal with the pool… a new lid for the sandbox, and a permanent pole for our bird feeder. I hope to get the ball rolling on these this weekend.

Wireless Alarm Keys Demystified

I successfully programmed an Ademco wireless keyfob transmitter today, and figured I’d document the process.. My panel is a Vista-20P and the transmitter is a 5804BD.

  1. Program an RF house ID into the panel. The house ID needs to be a number between 0 and 31. On the Vista-20P, this is done in location *24:

    Enter programming with 4-digit installer code + 800
    Enter *24
    Enter 2-digit house ID
    System chimes to confirm entry

  2. Install batteries in the transmitter. When prying the case open, hold the transmitter with the buttons facing down; otherwise they’ll all fall out when you pull the case apart.
  3. Program the house ID into the transmitter per the instructions. It must match the house ID programmed into the panel.
  4. Program each button individually using zone programming (*56). On the Vista-20P, zones 49 through 64 are reserved for keyfob zones. The following example will program button 4 to disarm the system:

    Enter *56 to enter zone programming
    Enter 1 at Set to Confirm? prompt
    Enter 49 to program zone 49 (or whatever)
    Enter * at summary screen
    At zone type prompt, enter 22 (disarm)
    Enter 1 at partition prompt
    Enter 0000 at report code prompt (no report)
    Input Device type will default to “Button type RF”
    Enter the device serial number at the prompt
    Enter 4 as the loop number (corresponds to button 4)
    Press button 4 on the keyfob at “Xmit to Confirm” prompt
    System confirms that the correct serial number was transmitted
    Review summary screen and press *
    Press 0 at “Program Alpha?” prompt

    Now, exit programming and assign a user number to this button: Enter master code + 8 + user number + #4 + zone number. For user 04 and zone 49, you would enter

    master code + 8 + 04 + # 4 + 49

    Keypad will chime to confirm.

    That’s it; button 4 on the keyfob should now work to disarm the system. The process should be repeated for each button on the fob (each button corresponds to a separate loop number).

Next step is to hook one of the buttons up to the garage door opener. It appears that I need to program the button as zone type 23 (no alarm response), then go into device programming and define an output function to activate the appropriate relay when the zone trips.

This weekend I’ll install the 5800TM transmitter so that the fobs will be able to display system status. I’ll also test the range to see if I’ll need a repeater. Hopefully I won’t.

Followup 4/22… I’ve programmed both keyfobs and everything worked as expected. I’m pretty impressed with the range of these things.. it seems to be pretty close to the advertised 200 feet. It’s looking like I won’t be needing a signal repeater. Haven’t gotten to the 5800TM yet, and may not this weekend, but the fobs don’t need it to work. I’ll use this week to test them out, and assuming they continue to work well, I’ll put the 5800TM in next weekend.

Time to fix the garage door opener

As I noted earlier, our garage door opener receiver died a few weeks back. Rather than get a new, cheap, made-in-China receiver to replace it, I’ve decided to get a couple wireless remotes for our security system and program them to operate the garage door. Now, the original plan was to buy two bidirectional remotes (they can receive and display system status as well as arm/disarm the system, hence the term “bidirectional”), and a special keypad which includes an RF receiver/transmitter module to support the remotes. But, our system already has an RF receiver, and I recently learned that my particular alarm panel does not support more than one receiver.

Now, why am I interested in a second receiver if I already have one installed? It’s basically because of the oddball layout of our house. Our house is very long and narrow, and the center is narrower than the rest of the house. There’s no real practical spot to mount a receiver in the dead center of the house. It either needs to go closer to the west side of the house, or the east. It so happens that most of my wireless zones are on the west side of the house, so that’s where I mounted the current receiver. Unfortunately, the garage and entrances are all on the east side, so the receiver isn’t in the optimal spot for remote keys.

Plan A for dealing with this was to get the keypad with the RF receiver, and mount it closer to where we’d be using the remotes. But, I can’t do that because my panel doesn’t support multiple receivers. That brings me to Plan B, which is to buy the remotes and the required transmitter module, and just try them out with my existing receiver in its current location. These things supposedly have a 200 foot range, and I’m still well within that, so it can’t hurt to try it out.

While researching this today, I learned that there’s now a wireless repeater module I can buy, which effectively extends the range of the existing receiver. So if I go with my Plan B and the performance isn’t up to snuff, I can add a repeater closer to the garage, and that should hopefully do the trick. So that’s the current plan. We’ll see how it goes!

Started the Pool Pump

After a winter of freedom from the big money-sucking hole in the back yard, I bit the bullet and fired up the pool pump today. Now, in the Mid-Atlantic, swimming season runs from roughly the beginning of June through Labor Day. If you’re lucky, you’ll get a couple extra weeks on either end, but for the most part, that’s what you get. For the past few years, my routine has been to start the equipment up around now, and uncover the pool around Memorial Day. I’ve found that starting the equipment early saves work, because it allows me to chlorinate the water before it gets too warm and algae starts taking hold. And with pools, anything that saves work is a bonus.

Anyways, the pump primed right up using the main drain for suction. The water level is still too low to use the skimmers. And the water temperature is (drumroll please) a balmy 56°F. Another 25 degrees and we’ll be swimming.

Now I need to start thinking about my spring pool project, repairing some loose coping and recaulking the expansion joint between the pool and the deck.

Mower blade

I took a first look at my push lawnmower today while my 3 year old rode his tricycle around outside. I reinstalled the blade (which I sharpened over the winter) and looked into a problem I had been having with the deck. Last summer I hit a big chunk of wood (or something similar) and ever since that, when I make certain maneuvers, the blade will graze the deck and make a loud, unhappy clattering noise. At first I thought the deck was dented, and banged on it a few times with my ball-peen hammer to try to get it back in shape. But, it looks like the real problem is that a weld has partially broken loose, causing part of the deck to stick out too close to the blade. If my peening attempts didn’t do the trick, it looks like I might be able to reattach the loose piece with a sheet metal screw.

Based on the engine date code, this mower is 16 years old this year (I bought it used in 1996). The engine is still good, and I’ve been nursing it along for a while now and it keeps on going. Hopefully it’ll last me another 16…

Followup 4/15.. I fired the mower up today. After about 5 minutes of mowing, the blade started scraping the deck again. Shut it off, drilled hole, inserted screw to hold deck together, problem solved (for now at least). Looks like the mower will live to see another season..