Chamberlain MyQ Binding

Will this binding work with a Craftsman myQ gateway?

Craftsman in the past used a different web URL but I think now it uses the same website as Chamberlain and Liftmaster. Try downloading the standard Chamberlain MyQ app and if your login works with the normal app it should work with the binding. If you have any problems please let me know.

Thanks,
Scott

I use it and it works for me. I did put a new build out a couple days ago. Also market bindings don’t install the required dependencies, and the myq binding requires the HTTP Client. If you install the Philips Hue binding it will install the needed dependencies or you have to manually install it with the command line.

Thanks,
Scott

I could login into the Chamberlain app with my Craftsman creds, but my gateway wasn’t in it. When I tried to add it, the app responded with “this device is on another user’s account”. So I removed the gateway from the Crafstman app and added it to Chamberlain.
Thanks for your help. Let’s see how far will I get with getting it to work with OpenHAB.

Edit: Amazingly, everything just worked from the first try, including my second door! Just need to take care of the “cookie rejected” in the log.
Great work, @ scooter_seh

Chamberlain did some maintanence today on their servers and after that I noticed I’ve been getting a lot of errors in my log and it’s no longer polling the status of my doors. It’s still able to control the door and my lights but it just seems to have a problem polling door status.

Anyone having the same problem?

The status is not updating on mine as well. I will look into it more tonight.

I am too, it was working for me until about 2-3 hours ago. I can’t control my doors at all either currently.

there was a maintenance on chamberlain service this morning. Even the official app wasn’t working. Now it’s back online, but having error in the logs and can’t control anymore.

2019-02-27 18:11:40.785 [ERROR] [org.openhab.binding.myq.internal.MyqBinding] - Could not connect to MyQ service
java.io.IOException: Null response from MyQ server
at org.openhab.binding.myq.internal.MyqData.request(MyqData.java:217) ~[256:org.openhab.binding.myq:1.13.0]
at org.openhab.binding.myq.internal.MyqData.getMyqData(MyqData.java:128) ~[256:org.openhab.binding.myq:1.13.0]
at org.openhab.binding.myq.internal.MyqBinding.poll(MyqBinding.java:210) [256:org.openhab.binding.myq:1.13.0]
at org.openhab.binding.myq.internal.MyqBinding.access$0(MyqBinding.java:202) [256:org.openhab.binding.myq:1.13.0]
at org.openhab.binding.myq.internal.MyqBinding$1.run(MyqBinding.java:407) [256:org.openhab.binding.myq:1.13.0]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
at java.lang.Thread.run(Thread.java:748) [?:?]

Yep. I saw a log of errors in my log also. Hope they clear it up soon.

From a quick glace it looks like the status sent back is slightly different than what the binding is expecting?

I created a new openhab 1.x JAR file with some fixes for the API changes. You will have to manually install the JAR to your addon folder.

https://drive.google.com/file/d/1lg0HV7Kw_9dVumtS4xQoxBxdKLCRk-fU/view?usp=sharing

3 Likes

Thanks for the fixes. I think I can control the garage, but I see the same errors over and over

22:14:16.191 [WARN ] [che.commons.httpclient.HttpMethodBase] - Cookie rejected: "$Version=0; TS01fb5e53=011207433a93bffd0518c165826549aec76d9dbc3d4ed20e4e402dae5d34eac8f86b401af735d0065908686e10e2e6c5bcca302439ab1cee11c3e37490af073ae3389ddab9; $Path=/; $Domain=.myqexternal.myqdevice.com". Illegal domain attribute ".myqexternal.myqdevice.com". Domain of origin: "myqexternal.myqdevice.com"
22:14:16.192 [DEBUG] [ab.binding.myq.internal.MyqDeviceData] - Chamberlain MyQ Devices:
22:14:16.193 [DEBUG] [penhab.binding.myq.internal.MyqDevice] - GarageDoorOpener DeviceID: xxxxxx DeviceType: GarageDoorOpener Doorstate : 2
22:14:16.194 [DEBUG] [penhab.binding.myq.internal.MyqDevice] - GarageDoorOpener DeviceID: yyyyyy DeviceType: GarageDoorOpener Doorstate : 2
22:14:48.377 [ERROR] [org.openhab.io.net.http.HttpUtil     ] - Fatal transport error: java.net.SocketException: Connection reset
22:14:48.378 [ERROR] [enhab.binding.myq.internal.MyqBinding] - Could not connect to MyQ service
java.io.IOException: Null response from MyQ server
        at org.openhab.binding.myq.internal.MyqData.request(MyqData.java:217) ~[276:org.openhab.binding.myq:1.13.0]
        at org.openhab.binding.myq.internal.MyqData.getMyqData(MyqData.java:128) ~[276:org.openhab.binding.myq:1.13.0]
        at org.openhab.binding.myq.internal.MyqBinding.poll(MyqBinding.java:210) [276:org.openhab.binding.myq:1.13.0]
        at org.openhab.binding.myq.internal.MyqBinding.access$0(MyqBinding.java:202) [276:org.openhab.binding.myq:1.13.0]
        at org.openhab.binding.myq.internal.MyqBinding$1.run(MyqBinding.java:407) [276:org.openhab.binding.myq:1.13.0]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [?:?]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [?:?]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [?:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
        at java.lang.Thread.run(Thread.java:748) [?:?]

Will you have an updated 2.x jar coming shortly?

slvr530i if you clear the cache and tmp files and restart those errors will go away since they are from the 1.13.0 version of the jar.

I build the 2.x binding and added it to my google drive. I am still working on updating the Eclipse Marketplace.

Thanks,
Scott

https://drive.google.com/open?id=1Na6KpJ04j4YMo8yS-O0giCmrMrH4awMJ

1 Like

I installed it and now I’m seeing this:
02%20AM
Is this part of Chamberlain’s maintenance?

Im having the same issues, going to give it a few days and see what happens. Its a PIA as my door triggers the lights via a rule!

I would force remove your MyQ things from the paper UI, including your gateway, clear the cache, then readd the gateway and then add your devices back. The gateway will probably have a new thingID you you will have to relink your channels.

Thanks,
Scott

Thanks Scott for your quick replies and quick work

Just curious
What was the change in the API
I tried to find out what the change was but couldn’t find anything

Two years ago they added new web endpoints and the URL’s are all camelcase now and I updated the login web request code and and “send command” code to use the new URL back then. I didn’t update the URL for the “update status” web request and it is/was still using the previous URL that was all lower case. When I changed the URL to the newer camelcase URL and updated the appID and the binding started working again. They must of removed the older all lower case endpoints. I don’t know if changing the appID was necessary, but I just copied what Home Assistant is using.

Thanks,
Scott