Chamberlain MyQ Binding

Thanks for this!

Do you see any issue running this side-by-side with the OH1 version of the binding? I can’t think of a possible problem other than trying to operate the door with both bindings at the same time (which I don’t plan to do).

I could uninstall the OH1 binding, but if I run into an issue with the new binding, I’m kinda stuck…

Also, will this binding auto-discover the opener?
Edit: Answering my own question here. I don’t see a discovery service running, so I think the answer is no.
Edit2: Ah, I see, the discovery service starts once you create a gateway thing.

I see this in my logs after I create a gateway. I’m using the same ID and password that I use for the OH1 binding.

2018-04-03 07:31:35.941 [INFO ] [nternal.ChamberlainMyQHandlerFactory] - Checking if the factory supports chamberlainmyq:MyQGateway
2018-04-03 07:31:35.943 [INFO ] [nternal.ChamberlainMyQHandlerFactory] - Checking if the factory supports chamberlainmyq:MyQGateway
2018-04-03 07:31:35.945 [DEBUG] [handler.ChamberlainMyQGatewayHandler] - attempting to login
2018-04-03 07:31:35.945 [DEBUG] [handler.ChamberlainMyQGatewayHandler] - BrandId: 2
2018-04-03 07:31:35.945 [DEBUG] [handler.ChamberlainMyQGatewayHandler] - ApiVersion: 4.1
2018-04-03 07:31:35.945 [DEBUG] [handler.ChamberlainMyQGatewayHandler] - Culture: en
2018-04-03 07:31:35.945 [DEBUG] [handler.ChamberlainMyQGatewayHandler] - MyQApplicationId: XXXXXXXX
2018-04-03 07:31:35.945 [DEBUG] [handler.ChamberlainMyQGatewayHandler] - Requesting method POST
2018-04-03 07:31:35.946 [DEBUG] [handler.ChamberlainMyQGatewayHandler] - Requesting URL https://myqexternal.myqdevice.com/api/v4/User/Validate
2018-04-03 07:31:35.946 [DEBUG] [handler.ChamberlainMyQGatewayHandler] - Requesting payload {"username":"xxxxxxxxxxxxxxxxx","password":"xxxxxxxxxxxxxxxx"}
2018-04-03 07:31:35.946 [DEBUG] [handler.ChamberlainMyQGatewayHandler] - Requesting payloadType application/json
2018-04-03 07:31:35.946 [DEBUG] [ing.chamberlainmyq.internal.HttpUtil] - About to execute https://myqexternal.myqdevice.com/api/v4/User/Validate
2018-04-03 07:31:36.051 [DEBUG] [handler.ChamberlainMyQGatewayHandler] - Received MyQ JSON: {"SecurityToken":"YYYYYYYYY","ReturnCode":"0","ErrorMessage":"","CorrelationId":"ZZZZZZZZZ"}
2018-04-03 07:31:36.051 [DEBUG] [handler.ChamberlainMyQGatewayHandler] - myq ReturnCode: 0
2018-04-03 07:31:36.052 [DEBUG] [org.openhab.binding.chamberlainmyq  ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.config.discovery.DiscoveryService}={service.id=441, service.bundleid=237, service.scope=singleton} - org.openhab.binding.chamberlainmyq
2018-04-03 07:31:36.052 [DEBUG] [handler.ChamberlainMyQGatewayHandler] - Retrieving door data
2018-04-03 07:31:36.053 [DEBUG] [handler.ChamberlainMyQGatewayHandler] - BrandId: 2
2018-04-03 07:31:36.053 [DEBUG] [handler.ChamberlainMyQGatewayHandler] - ApiVersion: 4.1
2018-04-03 07:31:36.053 [DEBUG] [handler.ChamberlainMyQGatewayHandler] - Culture: en
2018-04-03 07:31:36.054 [DEBUG] [handler.ChamberlainMyQGatewayHandler] - MyQApplicationId: XXXXXXX
2018-04-03 07:31:36.054 [DEBUG] [handler.ChamberlainMyQGatewayHandler] - Requesting method GET
2018-04-03 07:31:36.054 [DEBUG] [handler.ChamberlainMyQGatewayHandler] - Requesting URL https://myqexternal.myqdevice.com/api/v4/userdevicedetails/get?appId=XXXXXX&SecurityToken=YYYYYY
2018-04-03 07:31:36.054 [DEBUG] [handler.ChamberlainMyQGatewayHandler] - Requesting payload null
2018-04-03 07:31:36.054 [DEBUG] [handler.ChamberlainMyQGatewayHandler] - Requesting payloadType null
2018-04-03 07:31:36.054 [DEBUG] [ing.chamberlainmyq.internal.HttpUtil] - About to execute https://myqexternal.myqdevice.com/api/v4/userdevicedetails/get?appId=XXXXXX&SecurityToken=YYYYYY
2018-04-03 07:31:36.225 [DEBUG] [handler.ChamberlainMyQGatewayHandler] - Received MyQ JSON: {"ReturnCode":"216","ErrorMessage":"Unauthorized (216)","CorrelationId":"ZZZZZZZZZ"}
2018-04-03 07:31:36.225 [DEBUG] [handler.ChamberlainMyQGatewayHandler] - myq ReturnCode: 216
2018-04-03 07:31:36.225 [ERROR] [handler.ChamberlainMyQGatewayHandler] - Request Failed: Unknow resonse
2018-04-03 07:31:36.225 [ERROR] [handler.ChamberlainMyQGatewayHandler] - An exception occurred while executing a request to the Gateway: 'null'

Edit: Found these posts discussing the issue.



I uploaded a new version with the change you suggested.

Thanks,
Scott

https://drive.google.com/open?id=1DGUUJ6taBpO0yz1SuxDELT_NekELRqfP

1 Like

That got me past the 216 error. Thanks!!

I’m tied up for a couple days. I’ll be able to test more thoroughly in a few days.

1 Like

One other thing I noticed. It looks like you might be building the binding against an earlier version of ESH that doesn’t have this change.

As a result, running the binding on a recent 2.3 snapshot causes the discovery service to throw a bunch of exceptions, including this one below. It’s not urgent, but at some point it would be great if you could build a 2.3 version of the binding based on a recent ESH code base. :slight_smile:

javax.servlet.ServletException: org.glassfish.jersey.server.ContainerException: java.lang.IncompatibleClassChangeError: Expected static field org.openhab.binding.chamberlainmyq.internal.discovery.ChamberlainMyQDeviceDiscoveryServic
e.scheduler
        at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:489) [171:org.glassfish.jersey.containers.jersey-container-servlet-core:2.22.2]
        at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427) [171:org.glassfish.jersey.containers.jersey-container-servlet-core:2.22.2]
        at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388) [171:org.glassfish.jersey.containers.jersey-container-servlet-core:2.22.2]
        at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341) [171:org.glassfish.jersey.containers.jersey-container-servlet-core:2.22.2]
        at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228) [171:org.glassfish.jersey.containers.jersey-container-servlet-core:2.22.2]
        at com.eclipsesource.jaxrs.publisher.internal.ServletContainerBridge.service(ServletContainerBridge.java:76) [15:com.eclipsesource.jaxrs.publisher:5.3.1.201602281253]
        at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:848) [86:org.eclipse.jetty.servlet:9.3.21.v20170918]
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:584) [86:org.eclipse.jetty.servlet:9.3.21.v20170918]
        at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:71) [187:org.ops4j.pax.web.pax-web-jetty:6.0.9]
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) [85:org.eclipse.jetty.server:9.3.21.v20170918]
        at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) [83:org.eclipse.jetty.security:9.3.21.v20170918]
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226) [85:org.eclipse.jetty.server:9.3.21.v20170918]
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180) [85:org.eclipse.jetty.server:9.3.21.v20170918]
        at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:284) [187:org.ops4j.pax.web.pax-web-jetty:6.0.9]
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512) [86:org.eclipse.jetty.servlet:9.3.21.v20170918]
        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) [85:org.eclipse.jetty.server:9.3.21.v20170918]
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112) [85:org.eclipse.jetty.server:9.3.21.v20170918]
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) [85:org.eclipse.jetty.server:9.3.21.v20170918]
        at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:80) [187:org.ops4j.pax.web.pax-web-jetty:6.0.9]
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134) [85:org.eclipse.jetty.server:9.3.21.v20170918]
        at org.eclipse.jetty.server.Server.handle(Server.java:534) [85:org.eclipse.jetty.server:9.3.21.v20170918]
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333) [85:org.eclipse.jetty.server:9.3.21.v20170918]
        at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251) [85:org.eclipse.jetty.server:9.3.21.v20170918]
        at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283) [78:org.eclipse.jetty.io:9.3.21.v20170918]
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108) [78:org.eclipse.jetty.io:9.3.21.v20170918]
        at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93) [78:org.eclipse.jetty.io:9.3.21.v20170918]
        at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303) [89:org.eclipse.jetty.util:9.3.21.v20170918]
        at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148) [89:org.eclipse.jetty.util:9.3.21.v20170918]
        at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136) [89:org.eclipse.jetty.util:9.3.21.v20170918]
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671) [89:org.eclipse.jetty.util:9.3.21.v20170918]
        at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589) [89:org.eclipse.jetty.util:9.3.21.v20170918]
        at java.lang.Thread.run(Thread.java:748) [?:?]
Caused by: org.glassfish.jersey.server.ContainerException: java.lang.IncompatibleClassChangeError: Expected static field org.openhab.binding.chamberlainmyq.internal.discovery.ChamberlainMyQDeviceDiscoveryService.scheduler
        at org.glassfish.jersey.servlet.internal.ResponseWriter.rethrow(ResponseWriter.java:278) ~[?:?]
        at org.glassfish.jersey.servlet.internal.ResponseWriter.failure(ResponseWriter.java:260) ~[?:?]
        at org.glassfish.jersey.server.ServerRuntime$Responder.process(ServerRuntime.java:509) ~[174:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:334) ~[174:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271) ~[173:org.glassfish.jersey.core.jersey-common:2.22.2]
        at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267) ~[173:org.glassfish.jersey.core.jersey-common:2.22.2]
        at org.glassfish.jersey.internal.Errors.process(Errors.java:315) ~[173:org.glassfish.jersey.core.jersey-common:2.22.2]
        at org.glassfish.jersey.internal.Errors.process(Errors.java:297) ~[173:org.glassfish.jersey.core.jersey-common:2.22.2]
        at org.glassfish.jersey.internal.Errors.process(Errors.java:267) ~[173:org.glassfish.jersey.core.jersey-common:2.22.2]
        at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317) ~[173:org.glassfish.jersey.core.jersey-common:2.22.2]
        at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305) ~[174:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154) ~[174:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473) ~[171:org.glassfish.jersey.containers.jersey-container-servlet-core:2.22.2]
        ... 31 more
Caused by: java.lang.IncompatibleClassChangeError: Expected static field org.openhab.binding.chamberlainmyq.internal.discovery.ChamberlainMyQDeviceDiscoveryService.scheduler
        at org.openhab.binding.chamberlainmyq.internal.discovery.ChamberlainMyQDeviceDiscoveryService.startScan(ChamberlainMyQDeviceDiscoveryService.java:57) ~[?:?]
        at org.eclipse.smarthome.config.discovery.AbstractDiscoveryService.startScan(AbstractDiscoveryService.java:208) ~[?:?]
        at org.eclipse.smarthome.config.discovery.internal.DiscoveryServiceRegistryImpl.startScan(DiscoveryServiceRegistryImpl.java:427) ~[?:?]
        at org.eclipse.smarthome.config.discovery.internal.DiscoveryServiceRegistryImpl.startScans(DiscoveryServiceRegistryImpl.java:412) ~[?:?]
        at org.eclipse.smarthome.config.discovery.internal.DiscoveryServiceRegistryImpl.startScan(DiscoveryServiceRegistryImpl.java:260) ~[?:?]
        at org.eclipse.smarthome.io.rest.core.internal.discovery.DiscoveryResource.scan(DiscoveryResource.java:97) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?]
        at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81) ~[174:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144) ~[174:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161) ~[174:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:160) ~[174:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99) ~[174:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389) ~[174:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347) ~[174:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102) ~[174:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326) ~[174:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271) ~[173:org.glassfish.jersey.core.jersey-common:2.22.2]
        at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267) ~[173:org.glassfish.jersey.core.jersey-common:2.22.2]
        at org.glassfish.jersey.internal.Errors.process(Errors.java:315) ~[173:org.glassfish.jersey.core.jersey-common:2.22.2]
        at org.glassfish.jersey.internal.Errors.process(Errors.java:297) ~[173:org.glassfish.jersey.core.jersey-common:2.22.2]
        at org.glassfish.jersey.internal.Errors.process(Errors.java:267) ~[173:org.glassfish.jersey.core.jersey-common:2.22.2]
        at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317) ~[173:org.glassfish.jersey.core.jersey-common:2.22.2]
        at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305) ~[174:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154) ~[174:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473) ~[171:org.glassfish.jersey.containers.jersey-container-servlet-core:2.22.2]
        ... 31 more

I have been building against the trunk so I have a 2.3 snapshot version as well. I was assuming most people are still running 2.2 so I posted the JAR for it. Below is a link to the 2.3 snapshot if interested.

Thanks,
Scott

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

1 Like

Thanks for that 2.3 jar. Discovery is working now. :+1:

Hello, on my side, something has stopped working. Happy openhab myq customer where 90% of the time the door opening trigger work with openhab. But for an unknown reason, the past 3 days or so, I can’t trigger it open. I can read all value no problem, but if I trigger a door open, nothing happen. I had to rely on the clunky myq apps. Am I the only one with the issue? I haven’t changed anything except added persistence to my server, but I’m seeing error when trying to open the door in the log.

Thank you

I installed the 2.3 jar which didn’t work for me so I removed it. However, I still get the following in openhab.cfg; how do I remove these log comments?

2018-04-20 13:50:17.716 [INFO ] [nternal.ChamberlainMyQHandlerFactory] - Checking if the factory supports zwave:ge_zw1001_00_000
2018-04-20 13:50:17.726 [INFO ] [nternal.ChamberlainMyQHandlerFactory] - Checking if the factory supports zwave:ge_ge14291_00_000
2018-04-20 13:50:17.732 [INFO ] [nternal.ChamberlainMyQHandlerFactory] - Checking if the factory supports ntp:ntp
2018-04-20 13:50:17.737 [INFO ] [nternal.ChamberlainMyQHandlerFactory] - Checking if the factory supports zwave:ge_14288_00_000
2018-04-20 13:50:17.744 [INFO ] [nternal.ChamberlainMyQHandlerFactory] - Checking if the factory supports zwave:ge_ge14291_00_000
2018-04-20 13:50:17.750 [INFO ] [nternal.ChamberlainMyQHandlerFactory] - Checking if the factory supports zwave:ge_zw1001_00_000
2018-04-20 13:50:17.771 [INFO ] [nternal.ChamberlainMyQHandlerFactory] - Checking if the factory supports weatherunderground:weather

Thanks

Timeouts on calls to the MyQ server generate a lengthy exception in the logs. As timeouts seems to happen pretty often, I would argue that a single log entry at info level would seem to be sufficient.

2018-04-21 06:47:05.140 [ERROR] [handler.ChamberlainMyQGatewayHandler] - Requesting URL Failed
java.io.IOException: java.util.concurrent.TimeoutException
	at org.openhab.binding.chamberlainmyq.internal.HttpUtil.executeUrl(HttpUtil.java:157) ~[?:?]
	at org.openhab.binding.chamberlainmyq.handler.ChamberlainMyQGatewayHandler.request(ChamberlainMyQGatewayHandler.java:410) ~[?:?]
	at org.openhab.binding.chamberlainmyq.handler.ChamberlainMyQGatewayHandler.getMyqData(ChamberlainMyQGatewayHandler.java:188) ~[?:?]
	at org.openhab.binding.chamberlainmyq.handler.ChamberlainMyQGatewayHandler.refreshDeviceState(ChamberlainMyQGatewayHandler.java:296) ~[?:?]
	at org.openhab.binding.chamberlainmyq.handler.ChamberlainMyQGatewayHandler.lambda$1(ChamberlainMyQGatewayHandler.java:286) ~[?:?]
	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) [?:?]
Caused by: java.util.concurrent.TimeoutException
	at org.eclipse.jetty.client.util.FutureResponseListener.get(FutureResponseListener.java:109) ~[?:?]
	at org.eclipse.jetty.client.HttpRequest.send(HttpRequest.java:676) ~[?:?]
	at org.openhab.binding.chamberlainmyq.internal.HttpUtil.executeUrl(HttpUtil.java:140) ~[?:?]
	... 11 more
2018-04-21 06:47:05.146 [ERROR] [handler.ChamberlainMyQGatewayHandler] - An exception occurred while executing a request to the Gateway: 'null'

Also, I see these log entries pretty regularly. Being a fan of ‘less is better’ in the logs, I’d also argue to make these DEBUG level. :slight_smile:

2018-04-21 06:35:26.802 [INFO ] [nternal.ChamberlainMyQHandlerFactory] - Checking if the factory supports unifi:client
2018-04-21 06:35:26.803 [INFO ] [nternal.ChamberlainMyQHandlerFactory] - Checking if the factory supports unifi:client

The second exception I think the binding is trying to parse the response after the timeout. I will try to fix that.

@scooter_seh Hi there, thank you for the updated add-on. do you know when it will be merged to the repo so we can install thru paper ui?

Hi,

Can I have a copy of a working JAR file please?

I have tried a few different versions, and none of these seem to work :frowning:

I think Chamberlain changed something again. The binding doesn’t work but the app does.

Anyone else having the same problem?

I am running the 1.x binding and it still works for me. Are you using the 2.2 or something else?

Myself I’m on the 2.2 binding and it also stopped working just recently. “Could not connect to MyQ service”
-edit- I am getting errors in the logs, but I can open and close the garage door as well as get status updates when it is opened and closed.

A couple hours after I posted it started to work again.
I was scared Chamberlain changed their API again

Is there documentation anywhere for the 2.2 or 2.3 binding. I generally like to create my own things and items files just to make it easier to write rules. Not to mention faster to add a large number of items and things vs PaperUI

@scooter_seh I started seeing a lot of these exceptions in my logs. It seems like once these errors start, they occur every 30 seconds and they don’t stop. There are so many of them that I had to uninstall the binding. Any idea what might be causing this?

I know there have been several changes to HttpUtil over the last several weeks. I’m running the latest opeHAB build (1312) containing the most recent ESH stable build from July 8.

2018-07-15 20:01:08.602 [ERROR] [handler.ChamberlainMyQGatewayHandler] - Requesting URL Failed
java.io.IOException: java.util.concurrent.ExecutionException: java.io.EOFException: HttpConnectionOverHTTP@153afa8b(l:/192.168.10.34:49270 <-> r:myqexternal.myqdevice.com/68.177.15.145:443,closed=false)[HttpChannelOverHTTP@1bfd165c(exchange=HttpExchange@1fc291fb req=TERMINATED/null@null res=PENDING/null@null)[send=HttpSenderOverHTTP@5ac01c67(req=QUEUED,snd=COMPLETED,failure=null)[HttpGenerator@186c5b16{s=START}],recv=HttpReceiverOverHTTP@6bd0e1b1(rsp=IDLE,failure=null)[HttpParser{s=CLOSED,0 of 0}]]]
	at org.openhab.binding.chamberlainmyq.internal.HttpUtil.executeUrl(HttpUtil.java:157) ~[?:?]
	at org.openhab.binding.chamberlainmyq.handler.ChamberlainMyQGatewayHandler.request(ChamberlainMyQGatewayHandler.java:410) ~[?:?]
	at org.openhab.binding.chamberlainmyq.handler.ChamberlainMyQGatewayHandler.getMyqData(ChamberlainMyQGatewayHandler.java:188) ~[?:?]
	at org.openhab.binding.chamberlainmyq.handler.ChamberlainMyQGatewayHandler$Request.run(ChamberlainMyQGatewayHandler.java:255) ~[?:?]
	at org.openhab.binding.chamberlainmyq.handler.ChamberlainMyQGatewayHandler.sendRequestToServer(ChamberlainMyQGatewayHandler.java:275) ~[?:?]
	at org.openhab.binding.chamberlainmyq.handler.ChamberlainMyQHandler.ReadDeviceState(ChamberlainMyQHandler.java:142) ~[?:?]
	at org.openhab.binding.chamberlainmyq.handler.ChamberlainMyQDoorOpenerHandler.channelLinked(ChamberlainMyQDoorOpenerHandler.java:59) ~[?:?]
	at org.eclipse.smarthome.core.thing.link.ThingLinkManager.lambda$0(ThingLinkManager.java:300) ~[?:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:?]
	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) [?:?]
Caused by: java.util.concurrent.ExecutionException: java.io.EOFException: HttpConnectionOverHTTP@153afa8b(l:/192.168.10.34:49270 <-> r:myqexternal.myqdevice.com/68.177.15.145:443,closed=false)[HttpChannelOverHTTP@1bfd165c(exchange=HttpExchange@1fc291fb req=TERMINATED/null@null res=PENDING/null@null)[send=HttpSenderOverHTTP@5ac01c67(req=QUEUED,snd=COMPLETED,failure=null)[HttpGenerator@186c5b16{s=START}],recv=HttpReceiverOverHTTP@6bd0e1b1(rsp=IDLE,failure=null)[HttpParser{s=CLOSED,0 of 0}]]]
	at org.eclipse.jetty.client.util.FutureResponseListener.getResult(FutureResponseListener.java:118) ~[?:?]
	at org.eclipse.jetty.client.util.FutureResponseListener.get(FutureResponseListener.java:110) ~[?:?]
	at org.eclipse.jetty.client.HttpRequest.send(HttpRequest.java:676) ~[?:?]
	at org.openhab.binding.chamberlainmyq.internal.HttpUtil.executeUrl(HttpUtil.java:140) ~[?:?]
	... 14 more
Caused by: java.io.EOFException: HttpConnectionOverHTTP@153afa8b(l:/192.168.10.34:49270 <-> r:myqexternal.myqdevice.com/68.177.15.145:443,closed=false)[HttpChannelOverHTTP@1bfd165c(exchange=HttpExchange@1fc291fb req=TERMINATED/null@null res=PENDING/null@null)[send=HttpSenderOverHTTP@5ac01c67(req=QUEUED,snd=COMPLETED,failure=null)[HttpGenerator@186c5b16{s=START}],recv=HttpReceiverOverHTTP@6bd0e1b1(rsp=IDLE,failure=null)[HttpParser{s=CLOSED,0 of 0}]]]
	at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.earlyEOF(HttpReceiverOverHTTP.java:300) ~[?:?]
	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:1392) ~[?:?]
	at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.shutdown(HttpReceiverOverHTTP.java:185) ~[?:?]
	at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.process(HttpReceiverOverHTTP.java:132) ~[?:?]
	at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.receive(HttpReceiverOverHTTP.java:70) ~[?:?]
	at org.eclipse.jetty.client.http.HttpChannelOverHTTP.receive(HttpChannelOverHTTP.java:90) ~[?:?]
	at org.eclipse.jetty.client.http.HttpConnectionOverHTTP.onFillable(HttpConnectionOverHTTP.java:115) ~[?:?]
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283) ~[?:?]
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108) ~[?:?]
	at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:251) ~[?:?]
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283) ~[?:?]
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108) ~[?:?]
	at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93) ~[?:?]
	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303) ~[?:?]
	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148) ~[?:?]
	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136) ~[?:?]
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671) ~[?:?]
	at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589) ~[?:?]
	... 1 more
2018-07-15 20:01:08.613 [ERROR] [handler.ChamberlainMyQGatewayHandler] - An exception occurred while executing a request to the Gateway: 'null'

I created a copied of the httputils class and made my own version with a different web client id to spoof the iOS app. Maybe something changed in the dependencies that broke something. My main install still uses the 1.x binding and I have notices in my logs lots of exceptions too. I thing Chamberlian may be changing stuff too. I will try to see if I can find anything out.