Garage door opener

screenshot of garage door opener web site

From my phone or other web browser, I login to my secret control panel site via openid. That site shows a garage door opener page:

screenshot of garage door opener web site

Sliding up the virtual cover fetches a one-time use code (something like Post Once Exactly). The code even expires after a few seconds, in a further attempt to prevent accidents.

screenshot of garage door opener web site

Submitting that form sends the code to my web server, which can send an internal HTTP PUT to a service on the garage computer. It's like my parport-serve HTTP-to-parallel-port service, but different since it also drives a shiftbrite on some of the pins.

The parallel port service holds a pin high for a few seconds. This signal goes through a big low-pass filter to avoid accidental opens due to noise, a transistor for amplification, and then to a relay connected to the garage door opener's input (where the standard buttons are connected). The filter takes more than a second to activate the relay. Relays make a different sort of clicking sound when you fade them on like that.

Brad Fitzpatrick uses an X10 relay unit in his similar setup.