DIY Garage Door Controller

I've used a Konnected NodeMCU to control a relay that will "push the button" on my garage door opener. I've also connected a magnetic sensor to the Konnected, so I can tell if the garage door is open or closed. I like this solution better than the GoControl opener (which I also have), because it responds right away (don't have to wait for the beeping before my door opens or closes).

With some simple rules, I've created a couple virtual switches:
Open Garage - toggles the Konnected relay only if the garage door is closed
Close Garage - toggles the Konnected relay only if the garage door is open

This is all working great for me, but it would be cool to use the Hubitat built in garage door controller device and get the nice icon in the dashboard.

Is there a way to do this using a "Virtual Garage Door" type, or do I need to write my own driver?

1 Like

Wow! Clever use of the NodeMCU. I'll be interested to see what happens as being able to use the built-in garage controller device would be pretty slick!

1 Like

Yes, should work. You should be able to “mirror” the state of the virtual GD controller to your device and use the virtual on your Dashboard

Just moving over from ST and I too use an esp32 to control my garage door. bought a cheap one off ebay and soldered wires to the 2 sides of the monetary switch (take it out of the case). Then I used the STanything code and uploaded it to my device. Nice thing you can add a simple dwell switch to it and it will tell you when its open and you can control it from the same board.
Moving to HE I will be adding a second sensor (1 for open, 1 for closed) so that I know for sure the garage is open or not. Ran into a couple times where the sensor gets loose and says it open when its not. Scary when you are away from home!

1 Like

@neonrt7 - I like your idea of having an "open" sensor and a "closed" sensor.

With this info, I can send myself an alert if the garage door doesn't finish it's actuation in a defined period of time.

I use a nodeMCU with relay and contact sensor for garage controler. I'm using HubDuino (ST Anything).. works great and was easy to setup

1 Like

Glad to hear HubDuino/ST_Anything is working well! HubDuino implements the "Garage Door Control" capability as a native, single device that incorporates both contact sensor and a momentary relay output. This greatly simplifies things on the Hubitat side of things when adding it to something like the Dashboard.

A little history... my original reason for jumping back into the home automation game was my desire to know if either of my garage doors had been left open. My wife and I used to look at each other about 10 to 30 minutes into a long trip and ask one another - "Are you sure the garage doors are closed?" Often, we'd turn around and have to verify. So, back in 2014 I bought my first ST Hub and ThingShield. Soon afterwards, ST_Anything was created by my son and me as a means to make it simple for DIY'rs to integrate inexpensive micro-controllers with ST and eventually Hubitat. It has been a very fun hobby, and its inspiration these days comes from creative users who are always pushing the limits of what is possible. Keep those requests coming!


Ogiewon - is there a simple way to integrate both sensors into the ST anything? I was looking at the arduino code and the groovy files, didnt really see a good way to say "If this sensor closed, garage door is closed. If this sensor is closed, door is open"
Any ideas would be helpful.

I originally thought to use two contact sensors per garage door as well... but it was much simpler to use only one sensor, positioned to indicate the garage door is closed. I have had zero false readings using inexpensive, wired, magnetic reeds switches from Amazon.

These are what I bought back in 2014...

I actually use old hard drive magnets attached to my garage doors to activate these switches. The range is really good.

I have those too but when they get dislodged (happened a few times) it would be alot better to have a second failsafe sensor. At this point I think I am just going to add the second sensor and set it as a separate tile.

1 Like

You have to consider if you have two sensors, would you consider the door open if either sensor was tripped or only if both were? If you're having trouble with your sensor falling off, I would attach it better. I attached mine to the top of the door and the surface above the door's opening inside the garage. This seemed to be the place that got me the best placement that didn't have any metal wheels sliding by to knock anything off. I use these sensors and like them a lot. If you use them anywhere else, the cover hides the screws for mounting and the wire attachments, making it a little "cleaner" looking.

1 Like

@ogiewon I have a D1 setup and functioning as a garage door control. Here is what I am noticing - The relay is defaulting to on, which works, but in the event of a power outage, will trigger the door open due to the relay de-energizing then reactivating when the D1 mini comes back online. Is there something that can be adjusted to make it only activate the relay when a open / close command is sent?

Edit - I found the reverse logic option, seems to have solved the problem.


Excellent! Glad to hear you have it up and running.

Yes, some relays are "Active High" and some are "Active Low". HubDuino allows either behavior to easily to configured in the sketch.

Learning curve is a little steep, but once the logic and terms start to make sense, these little devices are fairly easy to get online. Thanks for your work, I am seeing a lot of Amazon orders in my future!


Oh, you sound so much like me of 2 years ago. I once thought about going through my amazon and Microcenter receipts and totally how much @ogiewon has cost me over the years but I stopped after I realized I probably don't really want to know the answer. :wink:

In all seriousness though, the Hubduino project can provide a really versatile and low-cost DIY option for a lot of HA devices that are just too pricey to be practical. It has it's limitations but in general, it has been a life-saver for me. Always nice to see another fall into the trap that @ogiewon has set. (I think he gets kickbacks on esp8266 sales or something) :wink: :clown_face: #fanofogiewon hehe

I am very happy to have built a controller for 2 garage doors that works with Hubitat, and is controllable from Homekit, for $12... Sure beats the commercially available options! And I feel like it is more responsive, probably due to local control of everything. I use Homekit via Hubconnect and homebridge as my dashboard. It has a much higher WAF than the Hubitat dashboards. The fact that the code from @ogiewon works so well, and can be used as devices in Hubitat, allow me to add things like this and make it seamless. Now to go wire it all up....


Thanks again @ogiewon ! I used extra parts and pieces that I had, so cost to build these projects is a moving target, but they work very well, and much less expensive than commercial alternatives! I decided to tinker with the code and added 2 buttons to my garage controller to operate the doors as well (original door buttons don’t always seem to respond, but the ones in Hubitat / Hubduino do!) and used a past project case to put it all in. I am on the trail of larger buttons for the doors, but these work. This house has been a long term rental and I will probably move in a couple of years, so I used command strips to attach it to the wall. I am starting to get my head around the coding, so I can see many uses for these little mini computers around the house....


Any advice on using a D1 to control relays to press a remote button and integrate with existing z-wave contacts (that were working with the Myq lite integration). Planning on using Hubduino but wondering if there is an app to link those to the contacts.

Picked D1 and this remote because it's 3V (and the solder points leave no guessing).

Edit: looks like I have some options.

Final Edit: here is what I ended up with: Yet Another Garage Door Controller w/ Hubduino

1 Like