[RELEASE] Zooz Garage Door Opener

This app was designed for the Zooz MultiRelay (ZEN16).

   
Disclaimer

REMOVAL OF EMERGENCY REVERSAL SYSTEM OR EYES CAN RESULT IN SERIOUS INJURY OR DEATH IF THE DOOR IS UNABLE TO REVERSE OR STOP IN THE CASE OF AN OBSTRUCTION.

You should look into your local safety standards of automatic garage door openers. United States Example

It's probably a good idea to sound a siren/chime while the garage door is moving and you can use the opening/closing and open/closed events of the child door device as triggers to do that.

   
Description

  • The SmartApp automatically creates a child garage door device for each garage door you setup in the app and you can use it to see the state of the door and open/close it.

  • When you use the child device’s open/close commands it will put the device into the corresponding opening/closing state, turn on the relay switch, turn off the relay switch after the delay (if applicable), and once the door stops moving it sets the door state to the contact sensor’s state.

  • If the contact sensor changes and the child device didn't initiate the change then it sets the door state to the corresponding opening/closing state and once the door stops moving it sets the door state to the contact sensor's state.

  • If the switch turns on and the child device didn't initiate the change then it sets the door state to the corresponding opening/closing state, turns off the switch after the delay (if applicable), and once the door stops moving it sets the door state to the contact sensor's state.

  • If you want to use a siren/chime to play a sound while the door is moving you can use the opening/closing events of the child device for the start/stop triggers. The "Garage Door Operating Delay" setting allows you to delay turning on the relay to ensure that the siren/chime starts playing before the door starts moving.

   
Screenshots

Main Page

Door Settings Page

   

Device Automatically Created for Door

   
Instructions

You can find detailed instructions for installing and setting up the Zooz Garage Door Opener app in Zooz's How to Use the ZEN16 MultiRelay as a Garage Door Opener on Hubitat documentation.

Important: Make sure you time how long it takes for your garage door to completely open or close and set the "Garage Door Opening Duration" setting to a value above it.

   
Apps and Driver Code

The Zooz Garage Door Opener app has 2 apps and 1 driver that need to be installed. The links below are also in the official documentation mentioned above.

Parent App Code

   

Child App Code

   

Child Driver Code

5 Likes

I intentionally left out any type of reversal safety features because if there's an issue with the contact sensor (dropped offline/dead battery) then the door might open back up every time you tried to close it.

You can easily set that type of feature up using Rule Machine and if there was a problem with the contact sensor then all you'd need to do is disable that rule.

Here's an example of a rule that logs a message when the door fails to open or close:

Disclaimer: There's no guarantee that any type of homemade safety feature will work so use at your own risk...

5 Likes

Wouldn't the garage doors own safety sensors (the laser) work to ensure that the garage doesn't close on someone?

Based on a quick Google search, you're right, all garage door openers manufactured after 1992 require some sort of auto reverse feature which is usually a beam sensor or resistance detection and if someone has a garage door that's almost 30 years old they probably shouldn't be automating it.

Assuming the door opener doesn't ignore attempts to close it immediately after the built-in auto reverse is triggered, implementing that feature manually could be dangerous so I have no idea why 2 different people privately suggested adding that feature...

I guess if the opener only had the beam sensor, the vehicle was barely inside the door, and someone was getting something out of the trunk then it's possible they wouldn't trip the sensor, but that seems highly unlikely and playing a sound while the door is moving should give them plenty of time to move before it hits them.

1 Like

@krlaframboise: Thank you so much for this solution! Before I found this solution, I set everything up with virtual buttons and rules, but this solution takes the prize! Now I just need to get two more contact sensors to finish my automation.

1 Like

You're aware that this app only supports 1 contact sensor per door, correct?

I assumed as much. I have three doors, each connected to a relay, but only one door has a contact sensor so far. Once I have contact sensors on the other doors I'll be able to set them up using this app.

In the meantime, I can at least open and close those two doors using virtual buttons.

I also plan on setting up one of my Arlo cameras in the garage so I can see what actually going on with the doors, in addition to motion sensing and recording benefit.

1 Like

Zooz Garage Door Opener App v1.1

I just posted a new version of the "Zooz Garage Door Opener App" code which has the new setting "Create Virtual Lock" and when enabled it will create a child virtual lock device that you can use with Alexa to securely control the door.

The app automatically syncs the child lock device's locked/unlocked state with the child door device's closed/open state. That worked as expected during my testing, but if anyone runs into issues with reliability then I might have to create a custom child lock driver instead of using the built-in virtual lock driver and subscribing to its
events.

After updating the code, everyone should test to make sure the app works as expected even if you're not using that lock feature.

2 Likes

Would it be possible to disable/remove relays show they don't show up in the device list?

Thank you for the head up!

Do I update just by overwriting the existing app code with the new raw code from github and save?

Yep. Just did that exact procedure with no problems.

2 Likes

Thanks for sharing!

That can't be done without using a custom handler for the MultiRelay and I don't believe my SmartThings handler can be easily ported...

I wanted to say thank you to @krlaframboise for putting this together. It works great on my home-grown controller: Yet Another Garage Door Controller w/ Hubduino

2 Likes

I just wish Google Home supported HE locks and garage doors. :cry:

I am surprised that Google Home don't support it, I find that strange,

My wife and I use Apple Homekit on our iPhone to control all of our door locks and garage door. I thought maybe since Apple Homekit support it then Google Home support it as well too cuz they are always competitive each other when it come to apps.

You could overcome this using a virtual switch, but the problem really comes down to security. Without the support for a PIN code, anyone could simply yell through a window to open the front door or the garage door and a Google Home device will do as it's been told. Amazon dealt with this security vulnerability by adding a lock code for locks.

Although I do not have any Amazon Alexa devices in the house, I can control it by voice using the Amazon Alexa app on my phone. This is useful when I'm not in my car, like when I'm leaving for or returning from a bike ride, and only because I haven't taken the effort to add a keypad to open/close a garage door from the outside.

Ah I never thought it was possible to yell it from outside to unlock doors or open garage door. Interesting ..

My wife and I are Deaf so we don't speak either but I was plan on getting Alexa or Google Talk for our hearing children some day.

Now, I am having second thoughts about getting it for them.

Thanks for the head up ..

I haven't had any problems controlling my locks using the community integration ([Alpha] Community-maintained Google Home integration). I'm even prompting for a pin before it will unlock (no pin for lock).

1 Like

I had no idea this existed. After a few hours of messing around with it, I can now control my garage doors and my locks via Google Home with PINs. I can even control it from Android Auto -- score!

Thanks, @amdbuilder, and thanks to @mbudnek for creating this solution!

1 Like