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.