hjdhjd / homebridge-myq

:car: myQ Liftmaster and Chamberlain Plugin for Homebridge https://github.com/nfarina/homebridge
Other
568 stars 44 forks source link

v2.6.5 - API connections reset due to auth issue #499

Closed cbf02000 closed 3 years ago

cbf02000 commented 3 years ago

Describe The Problem: Requests to open/close garage door hits a connection reset, likely due to an auth issue.

To Reproduce: Simply try to open/close garage door via Home.app on iOS.

Logs:

[8/30/2021, 2:31:42 PM] [myQ] myQ API: Successfully connected to the myQ API.
[8/30/2021, 2:31:42 PM] [myQ] myQ API: Discovered device family garagedoor: Garage (serial number: <REDACTED>, gateway: <REDACTED>).
[8/30/2021, 2:31:42 PM] [myQ] myQ API: Discovered device family gateway: Garage Door [Chamberlain WiFi <REDACTED>] (serial number: <REDACTED>).
[8/30/2021, 2:31:48 PM] [myQ] myQ API: Connection has been reset.
[8/30/2021, 2:31:48 PM] [myQ] myQ API: Unable to retrieve account information. Will retry later.

Homebridge Configuration:

{
    "email": "<REDACTED>",
    "password": "<REDACTED>",
    "refreshInterval": 6,
    "activeRefreshInterval": 3,
    "activeRefreshDuration": 300,
    "platform": "myQ"
}

Environment:

DNSGeek commented 3 years ago

Same here

hjdhjd commented 3 years ago

This, as someone else pointed out a bit ago, looks like the same sort of server-side shenanigans on the myQ end...time will tell. My hunch is that it's just that time of the quarter/month when they do more code pushes to production that give them headaches.

Let's see what the next few hours or a day or two bring for this one.

Captainscarlet22 commented 3 years ago

Please note…the MYQ app isn’t working either. I can’t sign in…

frindle commented 3 years ago

This, as someone else pointed out a bit ago, looks like the same sort of server-side shenanigans on the myQ end...time will tell. My hunch is that it's just that time of the quarter/month when they do more code pushes to production that give them headaches.

Let's see what the next few hours or a day or two bring for this one.

Wasn't this the same issue from a few days ago?

jlg89 commented 3 years ago

I can add this. For weeks, my plugin has been unable to connect to the API at all, it's been getting "Error: 400 Bad Request" responses, and the myQ app wouldn't connect either...from my home network. From any other place, it worked fine. So I contacted Chamberlain support, explained the issue, sent them traceroute data, and kindly but firmly insisted that something in their system was blocking web requests from my home network's public IP. Told them that it looked like either the IT guys or the web programmers had installed a firewall that was affecting customers, but hadn't told the customer service folks about it.

At 2:30 PM today, on the nose, my plugin was suddenly able to connect to the API. Worked perfectly for about 15 minutes, and now it's getting the same errors as the OP is seeing. It's progress, though.

So...I believe there are two potential issues at work here. There's the "same sort of server-side shenanigans" that routinely break the API for the myQ plugin, but there also seems to be an IDS of some sort that blocks IPs that the myQ system decides are unruly or unfriendly. I've always used the defaults for the myQ plugin config, so it's possible that those might be right on the edge of triggering that IDS, whatever it is.

hjdhjd commented 3 years ago

@jlg89 The IDS and blacklisting is a well-known phenomenon that occurs on occasion, particularly if you tweak the defaults to poll the myQ infrastructure more frequently.

If you want to backoff a bit, go into the Advanced Settings in the webUI and adjust it up from the default refresh interval for polling status from every 12 seconds, to polling every 20 seconds or a number you’re comfortable with.

Regardless - that’s not what’s happening here…these are, and remain, server-side shenanigans. :smile: Let’s see what happens from here.

cbf02000 commented 3 years ago

Just as a datapoint, my myQ app works just fine, from the same subnet/public IP.

So I have to assume there is something special that the app adds to bypass some firewall or something. Is there any cookie or HTTP header that API endpoints now require (at least to not hit a blockage)?

marcelgood commented 3 years ago

FWIW, they had an outage last week and put up a notice on their support site. The outage was related to Google Assistant, but probably the same API. There's no notice on the support site today, but it's likely a continuation of last week's issue.

frindle commented 3 years ago

I kicked my refresh up to 45 seconds and the problem went away, so this may be as simple as them changing their blocks for "abusive" traffic.

hjdhjd commented 3 years ago

Glad you found your sweet spot. Closing this one out.

cbf02000 commented 3 years ago

OK, indeed adjusting the polling interval to 45 sec did indeed resolve the issue. I guess their server has some logic that keys off of a client ID of some sort, other than the source IP address.

adamcoulombe commented 3 years ago

I left default settings intact, the issue resolved itself overnight after several hours. Seems like this was indeed server-side shenanigans

frindle commented 3 years ago

Issue is back today despite changing refresh to 45 seconds. As much as it sucks this does appear to be a MyQ server side issue since it is not a steady problem.

hjdhjd commented 3 years ago

I get everyone’s frustration, but this is life with using an undocumented API written by a company that isn’t exactly a “cloud native” organization…

If you want predictability, you’ve probably already spent more time being frustrated by this than buying the $70 “Home Bridge” from Liftmaster / Chamberlain to get something that more closely resembles a more native solution.

Then again, their apps are flaking too right now, from time to time.

😦

github-actions[bot] commented 1 year ago

This issue is locked to prevent necroposting on closed issues. Please create a new issue for related support requests, bug reports, or feature suggestions.