Jump to content

- - - - -

How to automate a garage door using its wireless remote

Many of us would like to control our garage doors (automatic opener), but the lack of wires running from our home automation hardware to the garage area may limit this from happening. This How-To will give you some ideas as to how you can accomplish this goal using your existing remote control (well probably a spare one). The method of monitoring the garage door in this example was "hardwired" but that doesn't mean you couldn't use a wireless method such as the DS10A with a W800 RF receiver or an X-10 power flash module. (I already had my garage door monitored by wiring a magnetic contact switch to my SECU16I (Ocelot add-in module)).

This How-To will not show you any "earth shattering" techniques; rather it will hopefully generate some ideas that may work out for you!

CocoonTech.com and its staff are NOT responsible for any injury or property damage resulting from anyone using this How-To guide or any associated pictures or links.


My garage door opener is a Genie "Intellicode" model which can use the remote as shown below (purchased from Home Depot).

Program the remote to work with your garage door as you normally would (mine required pressing a button on the opener, then pressing the remote within 30 seconds to recognize its code). Also test the remote at the mounting location you desire (e.g. your wiring closet) to make sure it will have the proper range for operating your garage door.

Hey, if you flip the remote over guess what, it has a screw holding it together. Well, you know what that means! Open the victim, err unit up by removing the large center screw and lifting the battery cover. Gently pry the circuit board loose from its case.

Examine the PC board and you will note that the control (push) button is connected to the circuit board via four "feet". Two of these feet are connected together and make contact with the other pair of feet when the button is pressed.

Also note that the battery (at least in this case) is a small twelve volt type. Also note the positive and negative battery terminals (you may have to refer back to the plastic case as the markings of positive (+) and negative (-) were there and not on the PC board.

Here is a side shot of the PC board which better shows the "feet" of the pushbutton.

The key here is to determine what two contacts can be used on the switch so you can solder a small gauge wire to them and activate the remote when the two wires are touched together. Place the battery in the PC board, then get a small jumper wire and touch two sides of the pushbutton "feet" and see if the garage door responds. If it doesn't try another "pair" of feet with the jumper wire. Once you find the correct pair, short it out with the jumper wire again and make sure the garage door moves in the opposite direction from the first test. Mark these working feet locations.

Now, solder a pair of wires to those feet. I used 22 gauge wire for this purpose as it was easy to pre-tin and hook over the two feet to hold it in place while soldering. Don't use excessive heat or the solder contacts that hold the pushbutton switch to the board will become loose.

I really didn't want to have to worry about changing out a battery for this remote once installed. That plus the fact that I already had a twelve volt DC power source powering my Ocelot, SECU16I, and RELAY-8 modules in the same area where this remote would be "mounted" (it's an ELK battery backed 12 volt DC power source). So I just soldered wires to the positive and negative terminals of the PC board and connected their ends to this twelve volt source! Note that this really needs to be DC and I'm not entirely sure the stock ADI wall wart supplied with the Ocelot will provide adequate "DC" regulation. Use at our own risk!

I then connected the other ends of the pushbutton feet to my RELAY-8 module (normally open contacts) as it would provide a "contact closure" via commands from my Ocelot.

After these connections are made, place the PC board back into the remote's case (minus the battery if you are using an external voltage source as shown above). You may have to drill a small hole in the bottom to accommodate the wires exiting the case. Place the screw back in the bottom.

I then mounted this remote in my wiring closet near my Ocelot's Relay-8 module as shown below. Note the Elk twelve volt power source (open box) on the adjacent wall which powers this device as well as the Ocelot and its modules as mentioned above.

Now test your newly automated garage door opener with your automation system. Since I used the RELAY-8 module I manually closed the relay (via Homeseer), then opened it after two seconds (you don't want to leave the connection "closed" as it will be constantly transmitting AND you will not have the remote available for any other open/close commands. Your garage door should now be responding to these commands. If not, troubleshoot the system by first pressing the garage door remote's "stock" button (it should still be operational if re-installed in the case correctly), then go from there.

Other brands of remotes will hopefully be as easy to modify as this one. The key here is to locate the pushbutton switch which controls the garage door on the PC board, then try to "extend" this functionality to a pair of wires by soldering to this switch as best as you can. Test the contacts with a short piece of wire first to insure you have the correct ones.

As I mentioned in the beginning I am monitoring my garage door's position with magnetic contacts hard wired to my SECU16I (digital input add-in module for the Ocelot). I use THIS type of magnetic contact switch. They make normally open and normally closed switches, either will work, you just have to get the logic correct.

You can also use a DS10A to monitor your garage door with this magnetic switch (just replace the stock magnetic contact switch supplied with the DS10A with this garage door type). The only problem is you will need a W800 RF receiver and software such as Homeseer to detect/interpret the DS10A.

You can also use an X-10 Power Flash to monitor the garage contact closures as well (will send an X-10 command on an open or close condition).

Another way to control the garage remote (if you don't have a unit such as an Ocelot/Relay-8) is to use an X-10 Universal Module. There are many posts where people have connected this module directly to their garage door remotes (wired) control button in their garage. Be aware that many recommend using two universal modules in "series" so that two X-10 codes be sent correctly in order for the garage door to operate (increases security using X-10 standard codes). These methods would also work with this garage remote control method. Just make sure you send an "off" or "open" command a couple of seconds after the closed one.

There may be times where you forgot to close the garage door and nobody was home to check/close the door for you. Also, how do you know the garage door was closed at night (bedtime) without having to "check" your HA status?

I implemented an automatic garage door close routine with my Ocelot/SECU16I/RELAY-8 and Caddx NX8E security systems. Basically if the Caddx system is armed in "away" mode (i.e. nobody home), the Ocelot will see this armed state and start a timer when the system "changed" to arm-away. If the timer gets to five minutes and the garage door is still open, it will "chirp" the siren and flash the garage lights as a warning, then close the garage door thirty seconds later.

I also have a routine that will close the garage door five seconds after the security system is armed in "stay" (nighttime) mode.

I have this code run entirely from my Ocelot and it is completely independent of a PC (i.e. much more reliable). To give my Ocelot this capability I already had a "relay output" Caddx expansion board added to my Caddx NX8E system where I could control up to eight relays based on Caddx states such as "Any Armed", "Armed Stay", "Armed Away", etc... I then wired these relays to inputs on the SECU16I (Ocelot expansion module). I also wired one RELAY-8 Ocelot expansion module back to a Caddx NX8E security zone so a general (garage) alarm could be sent based on the Ocleots "smarter" logic.

The code used for the Ocelot to implement these routines is listed below (with comments).

0351 - IF Module #1   -SECU16-I Armed_Away Turns ON         // Kick out of Garage Auto Program when Disarmed

0352 -   OR Module #1   -SECU16-I Garage_Door Turns ON   // Or Garage Closes

0353 -     THEN Garage_Away = 0                    
0354 - IF Module #1   -SECU16-I Armed_Away Turns OFF      // When System Armed in AWAY Mode

0355 -     THEN Garage_Away = 1                       // Start Garage Away Timer
0356 - IF Garage_Away becomes =  300            // After Five Minutes
0357 -   AND Module #1   -SECU16-I Garage_Door Is OFF   // and Door Open
0358 -   AND Module #1   -SECU16-I Armed_Away Is OFF   // and Armed in Away Mode

0359 -     THEN Garage, Turn ON      // Then Turn On Garage Lights (30 sec Warning)

0360 -     THEN Module #2     -RELAY-08 Garage_Siren Turn ON     // Then Turn On Garage Siren (30 sec Warning)

0361 - IF Garage_Away becomes =  301              // After One Second
0362 -     THEN Module #2     -RELAY-08 Garage_Siren Turn OFF    // Turn OFF Garage Siren

0363 -     THEN Module #2     -RELAY-08 Garage_Siren Turn OFF    // Turn OFF Garage Siren

0364 - IF Garage_Away becomes =  303          // After Three Seconds
0365 -     THEN Garage, Turn OFF                   // Then Turn Off Garage Lights
0366 - IF Garage_Away becomes =  305        // After Two Seconds
0367 -     THEN Garage, Turn ON                   // Then Turn On Garage Lights
0368 - IF Garage_Away becomes =  335       // Thirty Seconds After Warning
0369 -   AND Module #1   -SECU16-I Garage_Door Is OFF  // and Door Open
0370 -   AND Module #1   -SECU16-I Armed_Away Is OFF  // and Armed in Away Mode

0371 -     THEN Module #2     -RELAY-08 Garage_Remote Turn ON    // Close Garage Door by Pressing Remote Button

0372 - IF Garage_Away becomes =  337   // Open Remote Button After Two Seconds

0373 -     THEN Module #2     -RELAY-08 Garage_Remote Turn OFF  
0374 -     THEN Module #2     -RELAY-08 Garage_Remote Turn OFF
0375 - IF Garage_Away becomes =  355                    // After 18 Seconds
0376 -   AND Module #1   -SECU16-I Garage_Door Is OFF   // and Garage Door is Still Open

0377 -   AND Module #1   -SECU16-I Armed_Away Is OFF    // and Armed in Away Mode

0378 -     THEN Module #2     -RELAY-08 Garage_Remote Turn ON    // Close Garage Door by Pressing Remote Button

0379 - IF Garage_Away becomes =  357       // Open Remote Button After Two Seconds

0380 -     THEN Module #2     -RELAY-08 Garage_Remote Turn OFF  
0381 -     THEN Module #2     -RELAY-08 Garage_Remote Turn OFF
0382 - IF Garage_Away becomes =  365        // Reset parameters
0383 -     THEN Module #2     -RELAY-08 Garage_Remote Turn OFF
0384 -     THEN Module #2     -RELAY-08 Garage_Remote Turn OFF
0385 -     THEN Garage_Away = 0     // End of Garage Auto Close Program Exit Mode

0386 - IF Module #1   -SECU16-I Armed_Stay Turns OFF      // If Security Armed in STAY Mode

0387 -   AND Module #1   -SECU16-I Garage_Door Is OFF   // and Garage Door Open
0388 -     THEN Garage_Stay = 1                   // Start Garage Stay Timer
0389 - IF Garage_Stay becomes =  5             // Wait Four Seconds
0390 -     THEN Module #2     -RELAY-08 Garage_Remote Turn ON    // Close Garage Door by Pressing Remote Button

0391 - IF Garage_Stay becomes =  8         // After Three Seconds, Open Garage Remote
0392 -     THEN Module #2     -RELAY-08 Garage_Remote Turn OFF  
0393 -     THEN Module #2     -RELAY-08 Garage_Remote Turn OFF
0394 - IF Garage_Stay becomes =  28                 // After 20 Seconds
0395 -   AND Module #1   -SECU16-I Garage_Door Is OFF      // and Garage Door Open

0396 -     THEN Module #2     -RELAY-08 Garage_Remote Turn ON    // Close Garage Door by Pressing Remote Button
0397 - IF Garage_Stay becomes =  30     // After Two Seconds, Open Garage Remote

0398 -     THEN Module #2     -RELAY-08 Garage_Remote Turn OFF    
0399 -     THEN Module #2     -RELAY-08 Garage_Remote Turn OFF
0400 -     THEN Garage_Stay = 0                  // Reset Garage Timer

0401 - IF Module #1   -SECU16-I Armed_Stay Turns ON      // If Disarmed from Stay Mode

0402 -   OR Module #1   -SECU16-I Garage_Door Turns ON           //  Or Garage Door Closes
0403 -     THEN Garage_Stay = 0   // Reset Garage Timer
0404 - End Program  

In conclusion, there are many, many ways of controlling your garage door with your home automation hardware. Hopefully this How-To will "toggle" some ideas in your head and help you implement this feature for your system.

One other item worth mentioning is you can use THIS Elk Relay Timer to trigger your remote (pictured below).

This device can be configured to provide a relay closure (relay on its PC board) for a certain time interval. For instance you can trigger this device with your contact closure from your Universal Module or RELAY-8 and not worry about opening the contacts (at least right away) as this module would then be triggered from that contact closure and provide say a two second pulse (close its relay which is connected to the remote) and automatically open after those two seconds have passed.

This is good if you are using an X-10 interface to "trigger" your remote and want to make sure that this remote opens after a couple of seconds (and doesn't stay on continually because it never received the "open" X-10 signal).

Of course you couldn't send another automated signal to the remote until you send an open command first.

I use this device to monitor when my dryer is finished. I modified my dryer by taking out the "buzzer" that sounds when the dry cycle is finished. Since it was an AC 120 volt signal that sounded that buzzer I just replaced the buzzer with a relay whose coil was 120 volt compatible. I then ran the single pole normally open contacts of that relay to the SECU16I digital input Ocelot expansion module.

I noticed that the module would sometimes "miss" the dryer finished signal because its "on" interval was to short. I just used one of these Elk timers and had my dryer relay trigger it, then wired the relay contacts of the Elk timer to the SECU16I instead, set the time on interval to three seconds and now it NEVER misses a dryer finished signal.

Just remember that this unit needs to be powered with 12 volts DC. Wasn't a problem for me as I already had this source available as mentioned above.

There are kits available that will perform the same operation of the Elk Timer available from places such as All Electronics.

Forum Thread