Local Control Options for MyQ Garage Door Openers

Inspired with the solution here, I roll up my own garage door switch without any relay. I have been developing this for a couple weeks and document them in the Environment sensor thread. I am really close to install it on my garage. I need to buy one more reed switch. I think it is time for me to share my solution here. Perhaps, it could help someone here.

I notice the remote (at least chamberlain, liftmaster and craftman) is a 3V device. I think it should be safe to connect the buttons to a 3.3V MCU and toggle GPIO to simulate a button press. I have a drawing on what I think about how the button works.

I used a clone arduino UNO which operate on 3.3V. I hook it up to Zigbee Environment Sensor which also act like a Thingshield. Here is how it look like. I transplant the GD remote on the second mezzanine.

Here is 37 seconds demo video.

Since, it is over kill to use arduino to just push a button, I added a few sensors on the board. I have a couple contact sensors. I have motion sensor and vibration sensor hook up as well. Here is how they look in hubitat.

As pictured, I am able to click buttons on my remote. I can monitor temperature, humidity, pressure, light of the garage and detect power outage in the garage. I am hoping that I can use the vibration to tell me the door is moving. I am able to detect motion inside the garage. At this point, I am able to detect whether the door is fully open or closed with 2 contact sensor.

I am sorry if this is too long. I primarily just want to share that the garage door remote may work without relay. You can simulate the button click with simple GPIO toggle with an 3.3V MCU. Toggling this way is very fast. I set mine to toggle in the order of 10 milliseconds which is probably unwise to do with a relay.

3 Likes

One issue I am continuing to fight with is when I want the GDO to open based on presence and if wife and I arrive together HE sends the "on" command then sends it again - which stops the door from opening. I've put some logic around it based on 2 contact sensors plus my multisensor for vibration, but still don't have it quite right. Works great if one of us leave or arrive, but not for multiple.

Here's a dumb question that might help me fix my GDO issue.

If a virtual switch is "on" and a rule turns the switch "on" does that trigger a 'turns on' trigger? or does 'turns on' have to mean changed from another state to "on"?

I have not gotten to setup my rule yet. My plan in this scenario is to check the contact sensors status. I am thinking to ignore any momentary button push command when your door is "opening" or "closing". A door is in these states when the fully opened and fully closed contact sensor is not engaged. Would that work to solve this particular issue?

I'm using LGK Virtual Garage Door.

Using the built in virtual switch driver, if it’s turned on a second time while already in the on state, it will not create a new trigger. And yes this will work for you.

Edit: as a side note, this virtual switch drive has the option to do just that, send another event if the switch is turned on and is already on. Useful in some cases.

I currently have the Zooz GDO installed, but I do NOT use it with my automations because it accepts multiple pushes of open or close and causes the actual door to stop or reverse when undesired. Part of the problem is the app accepts additional "pushes" while the door is in "ing" state. i.e. if door is opening you can push either open or close and it will trigger the door to stop where it is. If the door is closing you can push either button and the door will reverse and open.

Not sure if LGK vGDO behaves the same - might have to try it again.

I understood this point now. My switch driver does not have the contacts information as well. I do not think that my switch need this logic. I do not plan to approach it this way.

I am thinking to use RM as my automation(or an app). In this rule, I am imagining that I will pull in information from the contact sensors when my cars are detected. At that point, I will toggle the remote button only when the closed contact sensor is detected.

I think of my GD switch as my physical remote. I can have multiple physical remote and got into the same issue that you describe. I visualize myself as the rule (or an APP). In this rule, as I see my car approaching, I would click on my remote button if the door is fully closed. If I see a second car coming and garage door is not fully closed, I would not click on the remote. Just FYI, this is my plan. I thought I just share with you.

1 Like

Scroll back to my post Local Control Options for MyQ Garage Door Openers - Get Help / Devices - Hubitat

I'm using a GV to determine the status of the door based on 2 contact sensors and a multisensor. The I have a RM that uses this GV to determine if it should activate the relay once (closed to open) or twice (stopped to open). Have a separate rule to close on departure, but we almost never don't close it manually on departure. Not sure if that part works right or not, lol.

I have not review all of your rule and any suggestion you have gotten. I just want to bring one thing quickly that may happen. Have you consider what happen to your rule if there is a delay on the GD contact status reporting? That delay of reporting the status of the contact sensor could caused the wrong condition be evaluated when the second car comes in. I suppose if you turn on logging and track the sequence you may verified whether this is the case,

I been using Universal Security+ 2.0 interface module on my garage door opener for a little over a year now in combination with ZEN17 relay and Zwave+ tilt sensor.

Still works flawlessly for us and never had a single issue with it.

We use Homebridge to connect the garage door to our Apple Homekit on our iPhone.

1 Like

Can you expand on your usage? What are your triggers, what actions are you taking, which vGDO driver are you using?

I think I finally have mine working right. It is complex using 2 contact sensors and a multisensor (tilt/motion) and switched back to the LGW vGDO - Zooz vGDO was bad at sending repeated commands and messing things up.

This post are the steps I have taken using the interface module to trigger the opener with a tilt sensor. It have app and driver instructions which I follow to a T

I tried following that and it would not work for me. Problem is, the SmartThings MultiSensor takes 1-2 seconds to report "open" when the door starts moving. If two people "arrive" at the "same" time (> 2 seconds and < 15 seconds) the arrival routine tells Zooz to open the GDO and the second request causes a second trigger of the ZEN17 and stops the door. The LGW ignores multiple requests to open or close when it has already been triggered.

I would not want my garage door opener to ignore the multiple request.

Reason is that often I open my garage door a foot or so before sending a request again to halt it from opening any further from the closed position.

I think that how garage door operate or at least it how it operate for me for the most of my life when I own a garage door opener where you send a signal to the opener then when it open just enough like few inches off the ground or a foot then you quickly send a signal to halt it from opening any further.

This allow your garage to cool down on a hot summer or let your outdoor pet to enter without having to expose your whole garage out in the public etc.

3 Likes

Note this is more about an automation problem and not about how the device works. I'm using WebCore. What I have is: if status hasn't changed within X (minutes/sec) don't run the command/rule again. This will prevent a "flapping" condition. So, this would be useful if you are moving in and out of your trigger zone. Like you leave the house closes because you left the zone then the road passes through that zone again causing the door to re-open. This would be a use case not to re-trigger, but this is through automation and not at the device level.

1 Like

I decided to use the 2 contacts sensor as "rotary encoder" to decode the garage door position. Basically, it uses 2 contact sensors and a magnet. The 2 contact sensor is placed in parallels about 2 inch a part. The magnet is installed on the pully of the garage door. The magnet will approach the 2 contact sensors. We can tell whether the garage door is opening or closing by looking which contact close first. It is important for the event from the contacts come at the right order. We then can count the position of the garage door.

The 2.29 update help to make this much more reliable. Thanks to @gopher.ny and Hubitat team for the single thread option.

Here is a short 32 seconds demo to test the concept. I am happy with the result. This will open a path for me to partially open the door in the future.

2 Likes

For what it's worth the MyQ integration is working on Home Assistant. I used this HE app to bring it in from Home Assistant and it works flawlessly:

If you have an extra raspberry pi lying around it might be worth tinkering with to get it working this way. I've also used the aforementioned app to bring in Vivint window/door contact sensors and iDevice switches that do not have HE native integration so it can be used for multiple use cases.

Edit: I realized my method is not truly local control since it's still going through MyQ Gateway so please disregard if you're trying to achieve full local control.

Finally tired of MyQ issues and jumping to Zen16. Picture of push button, current wiring and snips from owners manual attached. My question is regarding the safety wiring (sensor to make sure garage doesn't close on someone). How do those wires get attached? Would they just stay where they are on the opener? It seems they are currently in the white/grey.
Am I understanding that the wires coming from my wall button will go into Sw1 and then add wire from R1 to the opener (currently what is my red/white terminals?
Sorry for what is likely dumb questions!




Just leave the eye-sensor wires as-is - no need to mess with those.

Here's info from Zooz about wiring up the Z16 to a GDO... Since you have a purple-button opener, you shouldn't need to add a rolling-code security adapter for the Z16, so that's good news.

How to Use the ZEN16 MultiRelay as a Garage Door Opener - Zooz Support Center (getzooz.com)

1 Like