Chamberlain MyQ Garage Door Support

My opinion:
thoward1234 did the first attempt to convert the app & driver from ST the HE. Read the thread and you will see that multiple 'corrections' were identified that to my knowledge never made in back into the code shared on that github. Because of this bdwilson incorporated most, if not all, of those additional edits into his published version. So ....

  • the bdwilson version is the more recent.
  • Of the published versions ..... the bdwilson version is 'better'. Although if you incorporated the additional edits listed in this thread since the original thoward1234 version was publish (as I did), they are probably the same.
  • I can't answer what will happen if you switch versions? It depends on if the resulting devices the 'new' app creates are identical to the prior version and they replace the old devices with the same name, or if they create new additional devices with different names (I have no idea what will happen there?)? If they create new devices you will have to alter your RM rules to the new device names, at a minimum (or, temporarily rename the old devices then rename the new devices to the old names to the rules will still work). Make sure the final RM rule is referencing the new device name and not the old one. You definitely will need to test everything to see if they are working as expected. Worse case is you may have to rebuild the RM rule from scratch.

Hope that helps. Good luck.

I've updated my code (which I've sent a pull request to @thomas.c.howard for him to pull in my changes). He’s updated his copy to reflect these fixes:

Here's what I just fixed:

  • Updated to include support for up to 6 garage doors (this was added earlier on but never merged with thoward).
  • Added debug logging option (on last page of install before done). This should get rid of all debug logging - just go back and update both your driver and app, then walk through the app install again and on the last page the debug slider will be at the bottom).
  • Removed notify function (causing error condition)
  • Bumped up all version #'s so it won't show that an update is required.

Merged

1 Like

I updated both the app and driver code. Now every time the door is opened or closed I get this error

app:1042019-04-08 12:07:46.247 pm errorgroovy.lang.MissingMethodException: No signature of method: user_driver_tchoward_MyQ_Garage_Door_Opener_260.log() is applicable for argument types: (java.lang.String) values: [refresh called from Garage Door Opener (104|GarageDoorOpener|20926303)] Possible solutions: on(), poll(), run(), close(), off(), run() on line 594 (refresh)

Any ideas as to what is causing this and how to fix it?

Sorry, edit the MyQ Lite User App and change line 594 to this:
ifDebug("refresh called from " + doorName + ' (' + door + ')')

I've put in a pull request for @thomas.c.howard

That fixed line 594 but now getting similar errors on lines 565 and 588. Replaced child.Log with ifDebug on line 565 and that cleared that error but doing the same on line 588 causes the door to stop responding to commands.

Fixed. I've re-requested @thomas.c.howard to pull updates.

All, ignore the "not on the most current version". This is pull in version info from the SmartThings version not this Hubitat fork.

Thanks That solved my issues.

1 Like

Thanks for all the contributions/updates. I have pulled the updates in.

1 Like

Thanks for all of the effort you've put into making MyQ work with Hubitat. My Hubitat is 3 days old. I'm coming from Wink (which randomly died 4 days ago). I'm hoping you can help me with my question.

Whenever I click the "GD Control" tile to open or close the door, I get a popup asking "Are you sure?" with "Yes" and "No" buttons. Yes activates the door and no cancels the request. The popup does not happen with the momentary tiles. Is there any way to get rid of this popup? I would like the door to operate when I click the tile without it being a 2-step process.

I installed the NoSensor and Momentary Button Tile drivers along with the app and it sort of worked. The install eventually went smoothly (once the operator errors were corrected!) and I created separate up/down devices because the only sensor I have at the moment is the one that came with the MyQ bridge. When I created a "Garage" dashboard, I added the momentary "GD Opener Opener" & "GD Opener Closer" tiles and the "Garage Door Control" tile. I was able to get the door to go up and down with the momentary tiles, but the Garage Door Control button never changed to "open" or "closed" and would not activate the door in either direction whether I clicked "Yes" or "No" on the popup. Only the momentary tiles worked. I found that the GD Control tile changed states to "opening" and "closing" according to which momentary tile was pushed then reverted to "unknown" after 20 seconds. The NoSensor code is actually written to do exactly that. So I tweaked it.

I copy/pasted the "def resetToUnknown" section twice. I renamed one "def resetToOpen" and the other to "def resetToClosed". I then changed the first line of each section:
sendEvent(name: "door", value: "open", isStateChange: true, display: false, displayed: false)
sendEvent(name: "door", value: "closed", isStateChange: true, display: false, displayed: false)

I then changed the last line of "def openPrep" and "def closePrep" to:
runIn(15, resetToOpen)
runIn(20, resetToClosed)

(I set the timer on Open to 15 because I want the status to change in 15 seconds instead of 20.)

Now, the GD Control button cycles like this:
Green background. Status reads "closed". Closed door icon.
Grey (default tile color) background. Status reads "opening". Open door icon.
Red background. Status reads "open". Open door icon.
Grey background. Status reads "closing". Closed door icon.

Things are working smoothly, and I can set rules based on the status of the door being "open" or "closed" like I need and as I've done in the past with my Wink. I'm aware that Hubitat is basing the status of the door on a click as opposed to the actual status of the door and as soon as I get the sensors and install them I'm going to start over with the other version.

The only thing is, I'd really like to have the door operate on a single-click, no verification basis.

I apologize for the long post. Thanks again for all of your help.

I think the confirmation prompt is a function of the dashboards, not the app itself.

3 Likes

Yes, it's a function of the Door Control template. If you switch to the "Switch" template, then it will turn on for open and off for close. But there will be no confirmation prompt.

2 Likes

What's better, contact sensor or tilt sensor? I heard of people having issues with the tilt sensor?

I'm using EcoLink Contact sensors on my doors which appear to work good. I'm thinking I should just buy another for my garage door?

I used a contact sensor at first but the magnetism of my garage rails made my sensor flip open/close rapidly.

I used a smartthings sensor but the myQ lite app here didn't recognize it. I changed it to be a contact sensor within the myQ lite app and it works fine.

Ecolink sells a garage open tilt sensor.

I’m assuming this will work?

I assume because you want a zwave device?

So the MyQ Lite App is suppose to work with tilt, I couldn't get it working that way so I can't say.

Not so much that but because of the 5 year battery life.

So I finally got to installing all this, and it works! (using a ST multipurpose sensor w/ magnet to sense acceleration and if its closed or open). I am using the regular code not the NoSensor code, since I have a sensor.

All that seems to work, it opens and closes my liftmaster MyQ opener just fine. BUT... there seems to be some kind of polling delay. The Garage door stays at "opening" after opening, and not going to Open, so you cant just tap the tile to close it. I had to go into the device and click refresh or tell it to poll, then it reset the state.

there something I am missing to get this to be more responsive to the state of the door immediately after opening or immediately after closing? Like forcing it to re-poll every 10 seconds for the minute after the last action or something? Here is the current view of the sensor and door setup

It sometimes takes a second or two for it to catch up from the sensor device to the door device. But it shouldn't be more than a couple seconds.

So I have this setup with a ST Multipurpose sensor on the door. Using the magnet to detect open/closed. I've found the accelerometer to be very sensitive and any strong wind or even loud noise causes it to trip to "opening" and then send another notification it is closed.

I am using the full app, not the "no sensor" app since I have the sensor.

This is the configuration of the sensor:

am I doing this right? overall it works well. I have noticed the ST sensor is draining its battery very fast.