Although this is very cool, it seems overly complicated (admittedly, the only thing I wanted was to be able to remotely control the garage door, and also see if the garage door is opened or closed -- so my solution is not as precise as this one). Here's what I did:
I bought one of these ($15):
http://www.smarthome.com/7455.HTML
You screw one part onto your garage floor, and the other onto the garage. When the garage door is closed, it closes the circuit (logic one), and when the garage door is opened, the circuit is opened (logic zero).
Next, I got one of these ($90 including the enclosure):
http://www.industrologic.com/dr51prod.htm
This is a little microcontroller that has digital inputs. I have it mounted to a garage door, and ran wire to the garage door sensor. I wrote a little "BASIC" (pseudo-basic) program that senses whether there's been a change on the input with the sensor. If so, it then sends "open" or "closed" (text ASCII) on the rs232 port. Also, the microcontroller has a relay output, which I ran to the garage door opener itself. If you send a command "actuate" to the controller on the rs232 port, the controller closes the relay contacts for 1 second, which causes the opener to open or close the garage door.
Now, like every good HA person, I have an Ethernet port in the garage that's hooked into our home network. Therefore, finally, I got the equivalent of one of these ($125) (I actually bought mine from neteon.net, and have the older DE-311 version, which is a little more expensive):
http://store.moxastore.com/rs2327.html
This is a device that allows you to route rs232 communications over a standard TCP/IP Ethernet network. The idea is that you install software on your computer that gives you a "virtual" com part, which is virtual in the sense that the com port is located remotely, on the network, as opposed to being a physical port on the computer.
I use Girder (www.promixis.com) and myhtpc (the predecessor to Meedio, www.meedio.com) for control. Girder receives the commands from the Ethernet serial server, and updates a file accordingly. Myhtpc displays a closed garage door icon when the garage door is closed, and an open garage door icon when the door is open. In effect, Girder writes a small text file indicating which jpg to use (closed or open). When I click on the icon in myhtpc, myhtpc sends a command to Girder, which then sends a corresponding command to the microcontroller to momentarily close the contacts on the garage door opener to open/close the garage door. I can provide more details on this, but in effect, myhtpc uses .my text files to display things, and I just have Girder rewrite the .my file when there's a garage door open/close event.
We actually have two garage doors, but the nice thing is that you need just one microcontroller (which has a number of inputs and a couple of relay outputs) and one serial port Ethernet server for both. The only thing I had to buy again was another garage door sensor, which is only $15. So the complete solution is under $250.
Voila!
- Mike.