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:
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:
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.
Questions about the needed devices to integrate this into to my hubitat.
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.
I have two garage doors. can i use 1 mimo2+ and support the two doors?
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.
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.
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!
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?