Afternoon Report

The “AC Loss” issue with our new alarm panel seems to be resolved, at least for now. After reprogramming the last few zones in the system, I unplugged the system and let it run on battery for several minutes. Then, I swapped out the old Ademco 4300 X-10 transformer, replacing it with the transformer that came with the new panel. When I plugged it back in, the AC Loss condition cleared up. I have a hard time believing that the transformer was the issue. I read the panel voltage across terminals 1 and 2 with both transformers, and it was exactly the same — about 16.7 volts AC. Maybe the panel was just in a confused state, and needed an actual AC power loss and recovery to “reset” itself. However, the problem did persist through several power cycles (although I’m not sure I ran the panel on battery at any point). The only way to find out for sure would be to swap the old transformer back in, and see if the problem returns. However, since it’s working now, I’m inclined to leave it alone.

I decided to try doubling my cold brew recipe this afternoon. I put 2 slightly heaping scoops of Wellsley Farms breakfast blend into the (inverted) AeroPress, added room temperature filtered water up to near the top, stirred for 1 minute, and pressed. Then, I split the concentrated coffee equally into two tumblers, topped them up to roughly 8 ounces, and added ice and a couple drops of stevia to each glass. The extra coffee made it a little bit harder to press, but it turned out just fine. I couldn’t tell any difference from my single cup recipe. The next time I do this, I may measure the total amount of water per glass more carefully, then press into a carafe or pitcher instead of directly into a tumbler.

This and that

I had hoped to take a bike ride this morning, but ended up sleeping until almost 9:00. It was probably just as well, as it’s very hot and humid today, and would have been a rather sweaty ride. The reason for my oversleeping was that we got a call around midnight from our alarm monitoring company because of a “trouble” condition. Turns out that the newer Vista panels have “trouble” reporting enabled by default, while the older ones didn’t, and I didn’t think to turn it off when I programmed the new panel. Earlier in the evening, I had popped the cover off one of the wireless contacts to check the battery, which caused the zone to go into “trouble”. I’m not sure why the alarm company called at the time they did, but it does confirm that reporting is working! The panel is still showing “AC Loss” this morning, in spite of the power being just fine. When I get to messing with it again, I’ll try unplugging it, running it on battery for a few minutes, and plugging it back in, to see if it resets. If not, I may try swapping out the transformer, and if none of that works, I’ll contact the alarm company.

The pool SWG is still reading an abnormally high temperature today. At least it’s consistent. When I get to messing with that, I’ll try re-seating the tri-sensor cable and see if it corrects itself. I may also pull the tri-sensor itself out of the manifold and take a look at it. If none of that works, I’ll test it with the tri-sensor simulator to narrow down the source of the problem, and contact my Autopilot dealer to see what he recommends. This is a rather easy issue to work around, either by calibrating the temperature reading down, lowering the Chlorine output, or turning off the setting that automatically adjusts the output based on the water temperature. Assuming I can’t fix this easily, I’m inclined to ride it out for the rest of this season, and buy any needed replacement parts over the winter.

I brewed yesterday’s dark roast coffee recipe again today, exactly the same way, except I used 180g of water instead of 200g. Truth be told, I didn’t notice much of a difference from yesterday. It was a pleasant cup of dark roast. I have enough beans to make 7 or 8 more cups, and I’m probably just going to be boring and stick with this recipe until they’re gone.

Broken stuff

The abnormally-high temperature reading on my pool’s SWG that I noticed 10 days ago is back. This morning, it was reading 94°F when the actual water temperature was 80°F. The reading was consistently about 14-15° too high every time I checked today, all the way up until 7:00 or so, when I went out to swim. I’m going to try disconnecting and re-seating the cable that connects the tri-sensor to the controller, and I’ll take a look at the contacts to see if they’re dirty or oxidized. Maybe it’s just a bad connection. I went ahead and ordered a tri-sensor simulator, which is a little widget that plugs into the controller and generates a fixed temperature, salt, and flow reading. If cleaning and re-seating the cable doesn’t do the trick, then I can use the simulator to determine whether the problem is with the tri-sensor or the controller.

In other news, we are preparing to get rid of our landline phone service, but before we can do that, I have to convert our security system to use cellular and/or internet monitoring. The problem is, the panel’s firmware was too old to work with the new communicator, and to make a long story short, I had to swap out the entire panel. It’s kind of amazing that the panel is still in production, and is practically identical to the version that was produced 21 years ago when I originally installed it. All I had to do was move all the wires over and then reprogram the new panel (a tedious, but not difficult, job). That was today’s project. Now, the weird thing: the new panel works perfectly, except for one thing: for some reason, it thinks it doesn’t have AC power. The alpha keypad flashes “AC LOSS”, and the fixed keypad says “NO AC”. This is normally what it does during a power outage, when it’s running off the battery. Get this, though: it does this even with the battery disconnected. So, if it doesn’t have AC, I don’t know how it can possibly be working. Induction? Hamsters? Who knows. The voltage from the transformer is fine: I read 16 volts AC at the transformer itself and the connection terminals on the panel. I’m wondering if maybe I can just ignore this, as everything seems to be working, but I’m concerned that it may not be charging the battery. If it’s not, I’ll find out in the next few days once the battery runs down. As a last resort, I may try unplugging the panel to simulate an actual “NO AC” condition, and seeing if maybe it resets itself when I plug it back in. But I’m not holding my breath, as the problem has persisted through several power cycles. I’m also going to reread the manual and see if there’s anything I missed with the initial setup. If all else fails, I’ll contact my alarm company, and see if they have any ideas.

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.


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.


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.

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.

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.

Upgrading the security system

Four years ago, I installed a full-perimeter hardwired security system in our house. This probably ranks as the single largest DIY project I’ve ever undertaken. All told, it took me about four months, working alone, and splitting the time with my day job as well as household chores and other projects. Would I do it again? Actually, now that I have kids, I’m not even sure if I could do it again. It ate up almost all my spare time even without kids. I think my wife was about ready to divorce me. But, in the end, we have a great, professional grade, monitored system, and I have full control over it to make changes, upgrades, etc., which brings us to the actual topic of this entry. I’d like to add a few zones (for a very basic intro to alarm system terminology, see this FAQ) to the system, but I’m running out of expansion room. Because of the layout of our house, I laid the system out in sort of a star topology; the panel is near one end of the house, and I have a “zone expander” installed near the other end. Each zone is terminated at either the panel or the zone expander, depending on which is closest. The zones I’d like to add are near the zone expander, but the expander (which provides 8 zones) is full. Matter of fact, it’s overloaded — in a couple spots, I’m doubling up devices which really should be on separate zones, becuase of the lack of space. Not only that, I’m up against the maximum auxiliary power load that my panel supports. If I add any more powered devices (motion detectors, glass break detectors, sirens, etc.), the panel will be overloaded in that department too.

So, before I do anything, I’m going to need to upgrade the system to allow for the additional zones and power draw. Here’s the current plan:

  1. Install an additional zone expander and mount it near the current one, to provide 8 additional zones.
  2. Install an auxiliary power supply and battery to handle additional powered devices.

I’m hoping I can fit all of this gear into a single metal enclosure. If necessary, I can move the existing zone expander, which will requre splicing several wires, but shouldn’t be the end of the world. The shopping list then becomes: metal enclosure, zone expander, power supply, battery, and extra wire, for a total price tag of around $250. Of course, these days, the real cost includes finding time to do this, as there are a lot more demands for my spare time these days. I’m thinking this project probably won’t get off the ground until close to the end of 2006. But we’ll see.