Garage Door Blockage Indicator System

Just to lay out the parameters of what I wanted to do, I was trying to come up with a system to indicate when you had pulled far enough into the garage to close the door. I am not using this directly to prevent door closure, nor am I automating the door in any way. This is a complete standalone system that does not interface with any of the existing garage door closer safeties.

Parts (all from Amazon):

  • Ecolink Intelligent Technology Z-Wave Garage Door Tilt Sensor, White TILT-ZWAVE2-ECO (or any sensor with external terminals)
  • Seco-Larm E-931-S35RRQ Enforcer Indoor/Outdoor Wall Mounted Photoelectric Beam Sensor
  • 12VAC, 2A power supply "wall wart" I had laying around, this beam sensor can take a variety of voltages, check the instruction manual for details.
  • Two pack of LEDPLY Zigbee GU10 Smart Bulbs
  • Two pack of LABOREDUCER Plug in Wall Lamps GU10 light fixtures
  • Various soldering supplies, wire, zip ties, and shrink tubing, depending upon how far away you are mounting all this from a 120v receptacle and so on.

Mount the sensors. You will have to be a bit creative to get these at the right height, and distance from the garage door tracks. I was able to use some L-brackets I had laying around, but a block of wood or anything like that could be used to get the spacing correct. I mounted these at bumper height for my cars, and about 2 inches (5cm) further out than the track or any part of the garage door reinforcements.


From there you need a sensor to get this device into Hubitat. Notice the terminals in the upper left corner of this tilt sensor. We aren't using it as a tilt sensor. Mount this someplace securely next to the garage door, on the same end you mount the beam sensor (not the reflector end of the door) I just zip tied it to the track bracket when I was done testing.

I cut the barrel jack end off the power supply, leave extra. Strip the wires.

You will need to solder these power supply wires to the Secolarm device wire harness. Use the colors indicated in the manual. (see crude MS paint below.

I didn't really need any extra wire as I wisely thought ahead and put an outlet directly above the garage door track for a future jackshaft door opener. So all my stuff mounts within a few inches of the edge of the door. I used the wire supplied with the sensor and the power supply.

I used the Normally Open (N.O.) terminals so the tilt sensor would get a signal when the beam sensor was blocked. You could reverse the logic if desired by using the N.C. terminals so the tilt sensor would get a signal when the beam was not blocked. It will depend upon how you want to write your rule. Follow the diagram above.

From there I needed some lights. I mounted one of these on the front wall on the right side (looking into the garage from the outside) and next to the garage door on the left side (again, looking into the garage from the outside) That is because I drive in on the right, and back in on the left.

I chose these because they were dirt cheap, they plugged in, and I could easily mount them on the wall without any wall boxes. They hold a small bulb, and the head tilts. They are actually decent looking in person.

LED RGB bulbs were also dirt cheap, and they work great in Hubitat with the "Advanced Zigbee RGBW Bulb" driver.



There is one more piece of equipment I forgot to mention above. I already had a garage door tilt sensor mounted to the garage door. This is needed to indicate door position in my rule below. In this case it is one of the Samsung multi-sensors. Not sure how well other sensors might work to indicate movement vs open vs closed.

For a rule. I had to put some thought into this, how I wanted to change color to indicate position, and I didn't want the light on all the time wasting power or just having weird glowing lights in the garage.

This is what I came up with. It surely isn't perfect, but it does work. The idea is that the indicator light is off until you open the door. The indicator light is yellow when the door is moving either up or down. When the door is open and beam is blocked, the indicator light is red, and when the door is open and the beam is clear, the indicator light is green.


That's a very good backup warning system. Only wish I'd known you were building this - I have several unused GoControl contact sensors with external terminals, and I would have been happy to send you one.


They were dirt cheap on Amazon. I paid less than $10 back in the Spring of this year, so I purchased a couple of them. They seem to currently be about $20, which isn't too bad.


Neat project.Did you not use one of the dot lasers because they're not very easy to see? There is a 2 line laser system that is easy to see and make sure you are positioned correctly.

1 Like

I had the same issue with my small garage but came up with a different solution of using these car reverse stops

Just sharing my two cents as it might be useful and I found it easier because you just reverse slowly until it gets stopped by them


I bet you guys have trucks. I get in trouble with my MINI.

Seriously, nice writeup.
I still haven't figured out how the photo electric eye that came with the garage door works.

I did consider that and similar devices. That would have worked on the one side of the garage. Because I back the one car in, I would have needed two of these, and the garage door would have blocked the one beam.

Also, that doesn't tell you if you are blocking the door, just that you theoretically pulled in far enough. When you have just 3-4 inches between the garage door hitting and clearing your car, you have to be fairly precise.


Three inches would be nice. I have that much split front to back.

1 Like

Those do work, but when you want a clear floor to work on your car, those are in the way. Try rolling a mechanics creeper over those blocks! They also are a trip hazard, if you use the garage for entertainment space or for something other than storing a car at all times, those blocks are just in the way.

I also have 6 different cars I rotate through the garage, so a fixed block wouldn't work. In addition, I have a plastic tile "Racedeck" floor, and I didn't want to cut it or screw anything through it.

Good for some situations, but was far from ideal in my case.

That looks familiar! Same situation here. Either use the toolbox as a bump stop, or scrape the rear bumper on the garage door.


Nope. I have 3 cars, two minivans, and a SUV. The minivans are the problem. They might have been mini when they came out in 1984, but they are very truck-like in proportions nowadays.

I found short rubber parking blocks. They are about 1/4 length of a normal parking stop. The ones by the right wheel are glued (originally as an experiment - but liquid nails appears to be good stuff). The ones on the left are taped so I can remove when needed. They are heavy enough they do not need the tape to not move. But, I trust the glued one a little better. (Sharpie marks show that neither appear to move and I check them routinely). I usually pull all cars out and just park in the middle when I need to get under the car. Plus, I can use the taped ones as wheel chocks when I pull them up.

I may be looking at the more high tech approach here.....

1 Like


Love this project. Thank you for documenting your parts list. I will probably do this, but replace the lights with an RGB strip light that's GREEN until you get clear of the beam and then turns RED. Thanks for this!

@neonturbo thank you very much for posting this! I got into mountain biking last year and purchased a QuikrStuff Mach2 hitch based bike rack and I was constantly worried I didn't pull into the garage far enough when I had it on the back of my SUV. I just finished the final touches on this project and wanted to share my results.


Zooz Zen17 Universal Relay:
While I own the Ecolink tilt sensors you used, I have the worst luck with Ecolink products in general (including their contact sensor) and I couldn't get it to sense anything with the external contacts connected to the beam sensor. I had a spare Zen17 that I bought on sale years ago and decided to try it instead. It worked out great for many reasons as I was able to combine multiple automations with this one relay.

  • Beam Sensor's Sensor: Using the S1 and C inputs I am able to detect the beam sensor's status. I am using the NO wire and "motion sensor" in the Zen17 driver because I added this "motion" sensor to my existing Garage Room Lighting app so the overhead lights will come on if someone walks into the garage before the ceiling motion sensors fault.
  • Beam Sensor's Power: When the garage door is closed I decided it makes no sense to have the beam sensor powered so I am using Relay 1 to control the power of the beam sensor.
  • Garage Door Dry Contact Relay: I was already using a MHCOZY Zigbee Relay for my garage door opener but have read @aaiyar's warning that these failed on him so was a bit concerned about continued use of it and am now using Relay 2 to control my garage door opener.

I installed the beam sensor 24" off the floor so it will detect bumpers of our SUVs or my bike rack. I used a piece of 2x4 wood block to install it against the garage door rail above the GDO sensor. I often store things in the corners of my garage so screwing the beam sensor into the walls wouldn't work.

Beam Sensor Installation

Given my multiple uses of the Zen17, I wanted to install it above my GDO. I bought some 22 AWG 5 Conductor wire off Amazon (same gauge as the beam sensor) and extended the 6 foot wire that came with the beam sensor so it would reach my GDO. I bought a sandwich container from my local Container Store and placed the Zen17 relay in it along with the GDO button that automates my garage door. Living in NC we get tons of pollen so the container protects the relay from pollen and dust.

Zen17 Installation

Years ago I installed Gladiator cabinets on the back wall of my garage (highly recommend Gladiator products, expensive but well worth it!) which limits where I could install a light to indicate whether the beam sensor is tripped or not. I chose to go with Zigbee LED strip lighting that I taped down the side of one of the cabinets in the middle of the garage.

Zigbee LED Light Installation

Originally I was using RM to control the light but ran into issues with multiple rules instances firing at the same time. I created a custom app to manage the indicator light to set it to red when tripped and green when not and then turn off the LED after 3 minutes of no activity. You can download this app on Github.

Again thank you for posting your project and giving me the idea and motivation to solve my challenge!



I have the similar set up that I have been running. Do you have any suggestions for the rule when the garage remains open? I have mine turn green when open, but can’t figure out the best way to turn it off if the door is open all day. Just thought I would touch base and ask.

It’s in my last post just above yours. You will need to click the green + by

To see it. FWIW I actually stopped using rule machine to manage this because of warnings about multiple rules firing at the same time due to quick updates from the beam sensor as I am at the rear of my car. I created a custom app to manage this.

1 Like

Sorry, for some reason I overlooked the plus buttons to expand. I have this running below but do not want the light on when the garage is open all the time. Originally this started as a notification device to alert me of anyone coming in and out of the door was open. Has always worked great and was fun to expand. 16’ of green LEDs really tell you if you’re clear or not.

Thank you.

@deserthillsdrive As mentioned above I had issues using Rule Machine to manage the indicator light. I kept getting errors/warnings about multiple rules firing at the same time especially when I was pulling things out of the back of my vehicles. I created a custom app to manage it where I am running it "single threaded" so it won't run multiple instances. I cleaned up my app for sharing and posted it to Github if you care to try it.

Adjust the settings accordingly where you will choose to use a contact sensor (vs my motion) and then set the state of your contact when the beam is blocked. It will then set the color to red or green according to the settings.