Chamberlain MyQ Garage Door Support [OUT OF DATE]

Is there a plan to support the Chamberlain MyQ garage door opener?


See if that helps. It’s months old though. @bertabcd1234 might have a modern bit of advice.

So, I don't have a MyQ door anymore (related word of advice: don't get one, either; use something like a Z-Wave opener you can use entirely locally and on your own terms--you have Hubitat and don't need the opener itself to be extra "smart" since that's what your hub is for). But before I moved, I did try the code and think there was a problem with the quick port I tried--it's been so long I can't remember, but it might have been something with async HTTP calls. Don't quote me on that. :slight_smile: I know Hubitat has added/changed some things since I tried, so it might be worth looking at again if anyone really needs this...but I can't stress enough that I only used it on ST because I rented and my opener happened to already be compatible.

So, here is the reversed engineered solution. Credit goes to the original authors (Jason Mok/Brian Beaird/Barry Burke) who implemented this in Smartthings. My son and I ported this to Hubitat this morning. This does require that you have a tilt sensor to detect the status. I am using the Ecolink sensor. Link below.

MyQ Lite for Hubitat


This isn't installing properly for me, I installed copied app and driver code into HE. Installed app and entered my credentials for MyQ and selected my Smartthings Multi-Purpose Sensor as contact and acceleration sensors. After I press next it goes to a final screen that just says MyQ and then when i select done it goes back to the beginning of setup page. If i go the installed apps page I don't see the app installed, could you provide specific instructions?

We’ll take a look this week; it might be the acceleration sensor (we did not test that). Could you post the logs during the installation attempt?

@thomas.c.howard I having the same issues as @halfrican.ak . Thanks.

[app:3625]/logs#app3625)2018-09-02 08:53:45.771:errorjava.lang.NullPointerException: Cannot invoke method latestValue() on null object on line 477 (summary)

Looks like the error shows after clicking on the last page of setup after choosing sensors, as you predicted. Doesn't seem to matter if I select an acceleration sensor.

It looks like the door is failing in the login to MyQ... Can you give me all the logs (start to finish)? Also, we need to debug the acceleration sensor. For reference, we set up with Liftmaster, Eco Link Tilt Sensor (contact sensor). We have not tested Chamberlain or Craftmaster....

I'm using a Chamberlain B970 and a Smartthings Multi-purpose Sensor for the contact.

There wasn't a whole lot more in the log when i tried to install, but I'll upload it when I have a chance.


Yup, same problem here. I appreciate the attempt at the port, and am looking forward to trying again after an update.

Some issues on Chamberlain. Using the same ST MultiSensor for Contact and Acceleration. The App is only showing one of my two doors that I have registered with Chamberlain, but you can see two in log.

[app:2648]( 15:47:12.498:errorjava.lang.NullPointerException: Cannot invoke method latestValue() on null object on line 477 (summary)

[app:2648]( 15:47:12.477:debugbutton devices to delete: []

[app:2648]( 15:47:12.471:debugID's to look for: [2648|GarageDoorOpener|2018111 Opener, 2648|GarageDoorOpener|2018111 Closer]

[app:2648]( 15:47:12.469:debugError! Device type 'MyQ Garage Door Opener' in namespace 'brbeaird' not found

[app:2648]( 15:47:12.460:debugCreating door with sensor

[app:2648]( 15:47:12.457:debugCreating child door device 2648|GarageDoorOpener|2018111

[app:2648]( 15:47:12.452:debugIn CreateChild

[app:2648]( 15:47:12.449:debugStoring door info: Single Garage Doortype: 2 status: 2 type: GarageDoorOpener

[app:2648]( 15:47:12.447:debugFound door: 6792106

[app:2648]( 15:47:12.437:debugStoring door info: Double Garage Doortype: 17 status: 2 type: Garage Door Opener WGDO

[app:2648]( 15:47:12.425:debugFound door: 2018111

[app:2648]( 15:47:11.930:debugInitializing...

[app:2648]( 15:47:07.339:debugSingle door detected (array).

[app:2648]( 15:47:07.334:debugDoors chosen: [2648|GarageDoorOpener|2018111]

[app:2648]( 15:46:56.978:debugSensor change detected: Event name acceleration value: inactive deviceID: 729

I changed "brbeaird" to "tchoward" on lines 350 and 363 and I got one door installed ... and it works!

Still looking at why it only shows one of my two doors.


Interesting... good to know my avatar has power. I’ll make change tomorrow to the github code... There are a good 1/2 dozen changes I need to make to make multiple doors work...

Fixed the issue of it only seeing one of my two doors. Changed line 77 from:

input("doors", "enum", required:false, multiple: true, options: [state.doorList])


input("doors", "enum", required:false, multiple: true, options: state.doorList)

Seems to be working great now.


1 Like

Those tweaks you made to the code got my installation working too. My acceleration sensor is also working fine using the Smartthings Multi-Purpose Sensor for both the contact and acceleration.

Thanks to all

1 Like

@Matthew @thomas.c.howard thanks again for helping getting this app up and running in HE.

However, I'm seeing the following error in the logs even after the modifications to the code Matthew posted:

2018-09-03 16:54:17.554:errorgroovy.lang.MissingMethodException: No signature of method: app1536022105401311374466.sendNotificationEvent() is applicable for argument types: (java.lang.String) values: [Garage door close command called.] on line 1001 (notify)

LIne 1001 of code for app references a send notification which I'm thinking is a leftover command from ST not supported by HE?

1000: def notify(message){
1001: sendNotificationEvent(message)
1002: }

We will get those changes in this week; as a side note, my son hates the current implementation and will probably rewrite it to be more efficient

I am getting this error consistently:

[app:2648]2018-09-09 18:11:23.801:errorjava.lang.NullPointerException: Cannot invoke method latestValue() on null object on line 473 (sensorHandler)

Line 473 is:
def door = doorToUpdate.latestValue("door")

Any clues what needs to change?


Try currentValue in place of latestValue