[WITHDRAWN] MyQ LiftMaster/Chamberlain

Sorry @Mbhforum I’m not familiar with pollster and how it works. Since it was created by the community here, I would reach out to see if they can help you resolve the issue.

@thegibertchan the problem is with scheduling within apps. Pollster is just one example of this.

@thegibertchan - as Mbhforum said, the issue is happening when trying to use a scheduler within the app. Have tried with all the built-in Smartthings methiods: cron, runIn, and runOnce. They all silently fail after some period of time. Pollster was simply our attempt at workaround, but, it too, fails eventually - probably because all it does is set up its own cron job to call the app and dies due to the same core reason the app’s cron does.

I just had a brief look at the service manager code and I concur with brbeaird. If he’s put a try/catch around everything in the refresh method, and the polling is still s^%tting the bed, then it’s gotta be on ST’s backend and a problem with scheduled jobs in general.

I’m at work right now, but will keep the logs open and glance at them throughout the day to see if I can catch anything of interest. Though if it really is a backend problem, I likely won’t see anything.

What issue did the renaming fix, status or multi doors?

Got tired of poor status, so added a tilt sensor (Ecolink Garage Door TILTZWAVE2-ECO_02) for $27, status is now 100%, switched over my front lights to turn on when dark and door open to work off this sensor and also my warning if door left open for over an hour. All 100% to the second. Only thing I don’t like is on the things page is I have the myq button with the bad status and the new tilt sensor next to I with the correct status, is there anyway to combine to one good button with correct status? I tried the above and it gave me what I wanted, only problem is I like it on the things page with quick access to all devices, not the door & locks section. Any way to do this?

P.S. I’ve mounted this same tilt sensor to a mailbox so I know when the mail man comes, 100% status for several months. Great little sensor, only thing I wish they did was put 2 AA batts in it, the small watch batts didn’t like the cold up north, so I mounted the sensor in a small blue plastic elect box just a little bigger to fit the AAs and it’s still at 100%, even in cold, also a much cheaper batt to replace. I’ll do the same with the garage sensor. The elect section of HD/LOWES have some nice boxes with mounting tabs to bolt onto door rail or mailbox for.

Everything, I couldn’t add it or do anything with it before I did the fix suggested.

So something changed with the myQ api overnight. Looks like the user id is no longer returned, but the login response is valid. anyone else see this?

According to the author of Pollster, there’s a timeout issue caused by delays in the ST cloud that then kills the app.

I have two comments that may/may not shed any light on the issue:

  1. it’s the use of the try/catches around the http* calls. IIRC they typically look like this:

try {
//stuff
} catch(Error) {
}

Specifically the catch. In Java ‘Error’ is an actual class that extends Throwable, but is a sibling to Exception (which also extends Throwable). So will that catch ONLY Errors? Most likely the HTTPBuilder API does NOT throw Errors, but an exception class that extends Exception. Having said that, in Groovy, variables can be untyped, so in this case since the Exception is not typed, is “Error” the variable name? I think it may be the latter, in which case this point can be ignored, however maybe someone can correct me.

  1. When I noticed the polling “go south”, I saw a lot of socket timeouts in the logs when making the http* calls. I’ve had sockets s&^t the bed every now and again in Java and the connection needs to be reestablished. I don’t know what is happening under the covers with those http* calls – maybe they’re caching an http connection that’s not being reset on error?

Just my thoughts.

EDIT: Ignore the first point. Just tried in the groovy web console. ‘Error’ in that context is treated as the variable not. So it will catch everything and anything.

the myq API that I’m using in is still v1, whereas iphone and android apps are using v4 now. I did notice that v1 keeps changing from time to time, sometimes they don’t return attributes like last door state or the device type. I was hoping to move to v4 version and that would most likely break craftsman. I don’t own Craftsman gateway, so I won’t know for sure.

Hey Chamberlin did a system update to their backend system last night. It broke MyQ SmartApps. Can’t get it to login into Chamberlin anymore. If hangs after entering the password. Can’t control the garage doors anymore. Any ideas?

Yep, it’s definitely broken. However, can login if I do manual HTTP GET calls through the API (Documentation here: http://docs.unofficialliftmastermyq.apiary.io/)

Trying to figure out exactly what the difference is with how the SmartApp is trying to do it. Will post once I have some success (unless copyninja beats me to it).

I think I found it. The Chamberlain API now returns 0 in UserID upon successful login. Apparently it used to return something else. Simple change to 1 line fixes it.

I submitted a pull request to add the fix to the original code. In the meantime, my forked code has the fix in it (and no other changes from the original), which is located here: https://github.com/brbeaird/SmartThings_MyQ

Thanks for the quick fix! This integration is just becoming more and more unreliable by the day. I guess this is the problem with community supported integrations…then again, Harmony has been broken for 4 months!

Used the update code from the link you provided. However, it’s still not letting me log in via the MyQ SmartApp. Is there something else I need to do other than swap your code for what I had?

Did you make sure and publish it after you saved? Are you just getting invalid password error?

Yes I published it and yes getting invalid password.

Not sure about that. Would need to see some debugging results. In the Smartapp, there are debug statements commented out in lines 306 and 310. You can try uncommenting those and see what shows up in the debug logs in the console. You could maybe also try renaming the door in the MyQ app (suggest something simple with no spaces) and see if that helps reset things somehow?

I was able to get everything working as it was before I started to receive the login errors today from MyQ Chamberlain. However now I can not close the garage door. I can monitor the status and open the door but not close it. Any help appreciated.