Garage Door Monitor and Control

My home automation project to control and monitor a standard garage door opener over wifi via MQTT and built in web server.

Garage Door Monitor and Control


I wanted to figure out how to monitor the status of my garage door when I am away. I always get a sneaking suspicion that the door is open and having some feedback would be great. My goals for this project were to have network control of the open close, and a status monitor

Primary objectives:

  1. network control, hardwired rather than just using an extra controller
  2. open and close commands to device
  3. status monitoring of the door's state (open, closed)

Secondary objectives:

  1. some method of locking out the garage door from use while away
  2. temperature monitoring with the left-over IO (it gets really hot in the garage)
  3. extra leads for possible mail box monitoring
  4. Motion sensor in garage (might look into an ic2 module)

hardware background

The garage door (chamberlain whisper belt drive) is equipped with a set of contacts for open close function that would normally be wired back to a physical switch. After some consideration I went with a set of relays to control it this one is an example however there are plenty more available online up to 16 channel. In retrospect I probably would have gone with a separate breakout board relay board for my sprinkler project but it’s just as easy to swap the link node board for the 8-channel version if I ever needed.

I selected the relays as I also wanted to look into locking out the motor for door security at the time. However, I could have used a set of optocouplers to isolate my circuit and control the contacts too but I didn't investigate it. The relay also offers isolation and if I need I could pick up and lock out the motor completely.

I have also implemented a basic lockout using the spare relay to close in the contacts on the fully open garage door contact set. This effectively tricks the door into thinking it’s already open and won't open at all. This is ideal as I can lock the door out even with a remote or hard-wired open command being used. The best alternative would be to find another permissive for the motor or lock its leads out directly but I don’t trust this little relay to handle all that power.

There was a plethora of information online about how to sense the door's closed or open state. I saw everything from using a reed switch equipped near the chain drive at open and close positions to commercial products that used a tilt sensor to pick up the position of the garage. I was confident the door opener itself must have had some sort of limits for sensing when to kick out the motor in its close and open states so I took a look under the hood.



check out my code on github

Cover photo by Heather Shevlin / Unsplash

Related Article