[Release] Virtual Garage Door App/Driver (ST Port)

There was a thread about this over in the Broken Code section, but I wanted to post this here along with instructions for any newcomers.

This is a port of pmckinnon's ST app and driver. It is for building your own smart garage door from contact sensors and a dry contact switch. A common setup is a Fortrezz MIMO connected to your existing garage door opener, and a SmartThings multipurpose sensor. It's important for this app that your sensor has both acceleration and contact functions (typically you would configure it to detect tilt and discard the magnetic trigger).

I've made the app into a parent/child app just to keep things cleaner if you have more than one garage door. @stephack did the heavy lifting on making the device driver work with the Hubitat dashboard (though I think we're all hoping a future dashboard update allows us to remove those changes). For the record, I'm only slapping my name on this code so that others don't get bothered about code I ported.

To get started, first install the Virtual Garage Door DTH:
https://github.com/peng1can/Hubitat/blob/master/Virtual-Garage-Door-Device.groovy

Then create a virtual garage door for each of your doors using the Virtual Garage Door devicetype.

Next, install the Garage Door Manager parent and child apps:
https://github.com/peng1can/Hubitat/blob/master/Virtual-Garage-Door-Parent.groovy
https://github.com/peng1can/Hubitat/blob/master/Virtual-Garage-Door-Child.groovy

Create a child for each of your doors.
For the actuator, select the electronic switch that triggers your opener (the MIMO in my example).
For the Contact and Acceleration Sensor, choose the multipurpose sensor attached to your door. You should select the same device for both entries.
For the Virtual Garage Door Device, select the virtual door that you created above.

You'll have to open and close the door a time or two to get everything synced up.

One tip, I usually name my physical devices (the sensor and the actuator) with a leading ~ to make those devices appear at the bottom of the device list and to remind me not to use them in other automations/dashboards.

Note: This was mostly just a port of someone else's SmartThings code. My 1940's garage turned out to be too small to use for actual vehicle storage, so I never got to use the app extensively. I have also departed the HE platform, so unless someone else picks up the code, it's best to assume it is "as-is," though as far as I know, it does actually work.

6 Likes

Questions about the needed devices to integrate this into to my hubitat.

  1. contact sensor, does this use the contact open closed or is the contact sensor set to garage mode. if it uses the contact any suggestions on device and mounting to get magnet to work. I assume the current samsung window/door sensor is the correct choice if using garage door mode.

  2. I have two garage doors. can i use 1 mimo2+ and support the two doors?

  1. The app is written assuming you're using a samsung multipurpose sensor (or one that works similarly). Set the sensor to garage mode, and then the built-in tilt sensor will report the contact/door open/closed. You don't need the magnet in that case. I place the sensor as high as possible on the door because the top panel on the door is the first one to tilt, so the door should report open even if it's only open a little bit.

  2. I have the same 2-door setup, and using the MIMO2+ is exactly why I ported/fixed that driver and split this app into parent/child. I have everything wired up and working as a proof-of-concept at home, but it's fair to warn you that I won't have it wired up to the actual opener until this weekend (didn't want my doors opening and closing while developing/testing). I'm fairly confident everything works as expected at this point, though.

cool. I already have said devices in my cart at amazon. just have to press the button and wait until. ummm monday.. unless I pay for one day :>

I struggled at first to make this work using my MimoLite and Ecolink Tilt sensor as it did not have the "acceleration" attribute. This combination worked well for years in my previous SmartThings setup using the Rboy Garage Door Manager app.

I fortunately had a SmartThings Multisensor V4 that, once I put a fresh battery in it, provided all the needed attributes that your app needed to function. Even the Dashboard tile works great!

Thank you very much peng1can!

Glad it's working. I got everything built and assembled and tested when I moved into my new house, but the garage has been too full for me to get to actually use the app myself!

Anyone have status sync issues when using both actual garage door openers and button controllers to open and close the garage door? The Dashboard tile and the virtual garage door attributes get out of sync sometimes and show the door status as opposite of what the actual garage door state is.

Are there any logs I can look at or upload here to help in the troubleshooting?

Thank you!

I just switched over from st yesterday. I spent all last night moving over my devices. I ran a similar smart app thru st that gave the option to turn off the switch after a second or two. I am using a st multi purpose sensor for the tilt sensor, and a st smart switch for the switch. I built my own relay using 12vdc to close the contacts on the garage opener. The switch is turned on sending 12vdc to the NO relay and closing it simulating a wall switch push. Using that app it would also turn off the switch to open back up that relay after two seconds. Is there a way to do the same thing using this app? Thanks for the help in advance.

When you create a Virtual Switch, you have the option of turning it off after some time.
03%20PM

ST "simulated..." = Hubitat's "virtual..."

So I would create a virtual switch using the st switch then use the virtual switch instead of the actual switch in the garage door app?

There has been discussion about a DIY Garage Door App.. one that 'combines' two physical devices.

I found this discussion:

there could easily be more...

I have this code installed and am using a smartthings outlet to turn on a 12 volt relay to close the contacts on the garage door opener simulating a push of the opener button. I have the app up and running, and it all seems to work ok except for one part. I can not figure out how to turn the outlet off after a few seconds automatically after turning it on. Since the outlet is staying on I have to manually go in and turn the outlet off before I can cycle the door again. Any idea how to fix this?

Please see this thread:

So I have an extra Smartthings sensor, that works with this, but at the moment, I have a V2 NYCE tilt sensor that worked fine the the MyQ.

Anyone got this to work, or do I have to use a device with an acceleration monitor?

.

so to add to this. So everything works fine.. the problem I have, is once the door is open, and I start my motorcycles (and no they are not crazy loud belive it or not) it sets off the accell sensor. meaning when I back the bike out, sometimes I have to wait for it to let me close the garage.

so there is no way to get it to work with just a tilt sensor and nothing else?

is there any other apps?

@peng1can very cool app sir!

Im just in the process of building a new garage door setup to replace my dead Aeotec GD controller.

This time I'm using a z-wave zConnect Controller with wired contacts for detecting open/closed and a Tilt sensor (YTD which one) for detecting door movement.

I set up a virtual garage door following your instructions but the one thing I'm puzzling over is the Dashboard tile for garage control - it doesnt seem to work. However, the status tile does.

Screen Shot 2020-10-09 at 8.02.41 am

Any chance you could update your virtual driver so the "garage control" tile works with it? I prefer to have a single tile for increased WAF.

From a safety standpoint the control tile is better than a switch tile because if you click on it by accident, it throws up an "are you sure" dialogue box and doesn't do anything until you confirm the requested action.

Back when I had a Vera Hub. I accidentally closed the garage door on my wife while scrolling through devices on my phone (she was about to close her SUV tailgate and it nearly crushed her hand against the door), as it lacked this feature. As you can imagine, I spent some time in the dog house for that incident.

Sorry I can't help, I tried 3 hubs and could never get a stable z-wave network with Hubitat, so I never managed to use this app myself. I moved on to a different platform (z-wave problems fixed instantly), so I think it's safe to say this code is unsupported.

Sorry to hear that. :frowning:

fair enough

Try this. I use it and works good

/ Mattias

2 Likes

Cheers, I'll take a look.

1 Like