Chamberlain MyQ Garage Door Support [OUT OF DATE]

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](http://192.168.0.30/logs#app2648)2018-09-03 15:47:12.498:errorjava.lang.NullPointerException: Cannot invoke method latestValue() on null object on line 477 (summary)

[app:2648](http://192.168.0.30/logs#app2648)2018-09-03 15:47:12.477:debugbutton devices to delete: []

[app:2648](http://192.168.0.30/logs#app2648)2018-09-03 15:47:12.471:debugID's to look for: [2648|GarageDoorOpener|2018111 Opener, 2648|GarageDoorOpener|2018111 Closer]

[app:2648](http://192.168.0.30/logs#app2648)2018-09-03 15:47:12.469:debugError! com.hubitat.app.exception.UnknownDeviceTypeException: Device type 'MyQ Garage Door Opener' in namespace 'brbeaird' not found

[app:2648](http://192.168.0.30/logs#app2648)2018-09-03 15:47:12.460:debugCreating door with sensor

[app:2648](http://192.168.0.30/logs#app2648)2018-09-03 15:47:12.457:debugCreating child door device 2648|GarageDoorOpener|2018111

[app:2648](http://192.168.0.30/logs#app2648)2018-09-03 15:47:12.452:debugIn CreateChild

[app:2648](http://192.168.0.30/logs#app2648)2018-09-03 15:47:12.449:debugStoring door info: Single Garage Doortype: 2 status: 2 type: GarageDoorOpener

[app:2648](http://192.168.0.30/logs#app2648)2018-09-03 15:47:12.447:debugFound door: 6792106

[app:2648](http://192.168.0.30/logs#app2648)2018-09-03 15:47:12.437:debugStoring door info: Double Garage Doortype: 17 status: 2 type: Garage Door Opener WGDO

[app:2648](http://192.168.0.30/logs#app2648)2018-09-03 15:47:12.425:debugFound door: 2018111

[app:2648](http://192.168.0.30/logs#app2648)2018-09-03 15:47:11.930:debugInitializing...

[app:2648](http://192.168.0.30/logs#app2648)2018-09-03 15:47:07.339:debugSingle door detected (array).

[app:2648](http://192.168.0.30/logs#app2648)2018-09-03 15:47:07.334:debugDoors chosen: [2648|GarageDoorOpener|2018111]

[app:2648](http://192.168.0.30/logs#app2648)2018-09-03 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.

3 Likes

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])

to

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

Seems to be working great now.

Thanks.

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?

Thanks.

Try currentValue in place of latestValue

Thanks Mike. Unfortunately the result is the same:

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

Maybe I am not understanding something, or perhaps there are some system functions that do not need to be declared, but I am seeing calls to these methods, but no corresponding method declared in the code:
line 276: getChildDevices() also on 415, 954
line 322: getChildDevice() also on 373, 374 , 468, 571, 581

The only method declared that is close is getChildDeviceID(). Are these typos? Or, Are they calls for a 'built-in' system function and are legitimate?

Thanks.

this is great stuff.. thanks for bringing it over.. If I read it correct, you must have a tilt sensor? If not, it will not work.. or is there a workaround? I get through the set up process and it fails.. here is what I get.. I just want to make sure I am not missing something obvious. The logs seems to indicate it is logging in to myq just fine. thanks!

MyQ Lite
Summary

Installation Details:

Garage Door Opener: problem creating door device (no-sensor type). Check your IDE to make sure the brbeaird : MyQ Garage Door Opener-NoSensor device handler is installed and published. 

Garage Door Opener: problem creating push button device. Check your IDE to make sure the smartthings : Momentary Button Tile device handler is installed and published. 

Your SmartApp version (3.0.0) is not the latest version (2.0.3)

.........................................

I ended up with some errors too.

app:132018-09-11 21:42:02.347:errorjava.lang.NullPointerException: Cannot invoke method latestValue() on null object on line 477 (summary)

app:132018-09-11 21:42:02.322:debugError! com.hubitat.app.exception.UnknownDeviceTypeException: Device type 'Momentary Button Tile' in namespace 'smartthings' not found

app:132018-09-11 21:42:02.316:debugError! com.hubitat.app.exception.UnknownDeviceTypeException: Device type 'Momentary Button Tile' in namespace 'smartthings' not found

app:132018-09-11 21:42:02.304:debugError! com.hubitat.app.exception.UnknownDeviceTypeException: Device type 'MyQ Garage Door Opener' in namespace 'brbeaird' not found

app:132018-09-11 21:42:02.295:debugCreating door with sensor

EDIT: Got it working. Had to edit the 2 lines of code mentioned earlier but didn't see.

It's working great for me now! I don't have a tilt sensor, but do have a z wave contact sensor I am using to let the app know when the door is open.

I haven't checked for errors. Tomorrow I will open live logging and see if I get any.

1 Like

Did you end up making the changes to the code or rewrite it?

2 Likes

Thomas(@thomas.c.howard),

Thank you for porting myQ from ST. Everything is working for me. The only problem I have is inability to use the garage opener in the event section(When this happens) of Alexa routines in order, for example, to create a notification in Alexa when garage door is opened. In the original ST implementation the garage opener is shown in the Alexa event section, but it is not shown in HE. Did you make any porting changes related to this or it's Alexa skill problem in HE?

Honestly, when we did the port, we did as few changes as possible to get it to work. I will take a look when I get home tonight...

Ok, thanks

Thomas, I finally got around to installing my new garage door opener and your code. Thank you for your efforts with the conversion of the app and driver. I did want to point out a few edits I had to make to the app code since I got errors during install.

  • You updated the namespace of the driver from "brbeaird" to "tchoward" but you didn't update all the addChildDevice() calls
  • I chose not to create push buttons and only the garage door and I got an error while the code was trying to add the child device with the namespace.
  • I update lines 350 and 363
  • I don't have any light devices but that code would need to be updated too with the proper namespace and driver code would need to be included
2 Likes