hjdhjd / homebridge-myq

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

Constant API issues slowing down Homebridge. #771

Closed asander85 closed 2 years ago

asander85 commented 2 years ago

Describe The Problem: First I want to say: I love the plugin and all the work that was clearly put into this. Really comes through that it is a labor of love, thank you! however, I am having constant API issues slowing down Homebridge. These logs show up every day and are slowing down my entire ecosystem.

To Reproduce: No steps to reproduce, errors pop in all by themselves all day every day

Logs: Pasted below

Show the Homebridge logs here. Remove any sensitive information.

[7/1/2022, 6:47:04 AM] [myQ] request to https://devices.myq-cloud.com/api/v5.2/Accounts/REDACTED/Devices failed, reason: read ETIMEDOUT
[7/1/2022, 6:47:04 AM] [myQ] myQ API: Unable to update device status from the myQ API. Acquiring a new access token.
[7/1/2022, 6:47:08 AM] [myQ] myQ API: Successfully connected to the myQ API.
[Doorbell] The image snapshot handler for the given accessory is slow to respond! See https://homebridge.io/w/JtMGR for more info.
[7/1/2022, 7:06:06 AM] [myQ] request to https://devices.myq-cloud.com/api/v5.2/Accounts/REDACTED/Devices failed, reason: read ETIMEDOUT
[7/1/2022, 7:06:06 AM] [myQ] myQ API: Unable to update device status from the myQ API. Acquiring a new access token.
[7/1/2022, 7:06:10 AM] [myQ] myQ API: Successfully connected to the myQ API.
[7/1/2022, 7:50:20 AM] [myQ] Overhead Garage Door: Opening.
[7/1/2022, 7:50:23 AM] [myQ] Overhead Garage Door: Open.
[7/1/2022, 7:51:38 AM] [myQ] Overhead Garage Door: Closing.
[7/1/2022, 7:51:55 AM] [myQ] Overhead Garage Door: Closed.
[7/1/2022, 7:56:06 AM] [myQ] request to https://accounts.myq-cloud.com/api/v6.0/accounts failed, reason: connect ETIMEDOUT 40.71.237.168:443
[7/1/2022, 7:56:06 AM] [myQ] myQ API: Unable to retrieve account information.
[7/1/2022, 7:56:10 AM] [myQ] myQ API: Successfully connected to the myQ API.

Homebridge Configuration:

{
    "platforms": [
        {
            "platform": "config",
            "theme": "dark-mode-cyan",
            "name": "Config",
            "lang": "auto",
            "tempUnits": "f",
            "auth": "none",
            "port": 8581
        },
        {
            "ignoreDeviceTypes": [
                "garage_door_device"
            ],
            "apiLoginRefreshSecs": 1850,
            "platform": "Vivint",
            "disableCameras": false,
            "useExternalVideoStreams": false,
            "refreshToken": "REDACTED",
            "_bridge": {
                "port": 58475,
                "username": "REDACTED"
            }
        },
        {
            "activeRefreshDuration": 120,
            "platform": "myQ",
            "name": "myQ",
            "refreshInterval": 10,
            "password": "REDACTED",
            "mqttTopic": "myq ",
            "_bridge": {
                "port": 54876,
                "username": ""REDACTED""
            },
            "activeRefreshInterval": 3,
            "email": "sander_alexander@icloud.com"
        },
        {
            "showRunall": false,
            "password": "REDACTED",
            "showSchedules": false,
            "showStandby": false,
            "showIrrigation": true,
            "showTempSensor": false,
            "showLimitsSensor": false,
            "showFloodSensor": false,
            "displayValveType": 1,
            "runtimeSource": 2,
            "_bridge": {
                "port": 41641,
                "username": "REDACTED"
            },
            "name": "B-Hyve",
            "email": "Sander_alexander@yahoo.com",
            "useIrrigationDisplay": true,
            "platform": "bhyve",
            "defaultRuntime": 5,
            "showBridge": false
        },
        {
            "options": {
                "username": "sander_alexander@icloud.com",
                "password": "REDACTED",
                "accessId": "REDACTED",
                "accessKey": "REDACTED",
                "lang": "en",
                "projectType": "2",
                "appSchema": "tuyaSmart",
                "countryCode": 1,
                "debug": false
            },
            "name": "TuyaPlatform",
            "platform": "TuyaPlatform",
            "_bridge": {
                "username": "REDACTED",
                "port": 55726
            }
        }
    ],
    "accessories": [],
    "bridge": {
        "port": 51388,
        "name": "Homebridge 8E6C",
        "bind": [
            "eth0"
        ],
        "username": "REDACTED",
        "pin": "540-60-439",
        "advertiser": "avahi"
    },
    "disabledPlugins": [
        "homebridge-alexa",
        "homebridge-samsung-tizen"
    ]
}

Show the relevant portion of your homebridge config.json here, if needed. Remove any sensitive information.

{
            "activeRefreshDuration": 120,
            "platform": "myQ",
            "name": "myQ",
            "refreshInterval": 10,
            "password": "REDACTED",
            "mqttTopic": "myq ",
            "_bridge": {
                "port": 54876,
                "username": "REDACTED"
            },
            "activeRefreshInterval": 3,
            "email": "sander_alexander@icloud.com"
        },

Screenshots: Not Applicable

Environment:

hjdhjd commented 2 years ago

Thanks! So...you've got some network issues connecting to the API. I would recommend running the plugin in a child bridge and that will address any implications to other plugins.

That said...I haven't encountered this issue as a regular occurrence. I'll take a look for future releases, but it won't be a priority at the moment due to some other priorities. 😄

TL;DR: use a child bridge and this will be solved. TL;DR2: you have a network issue going on...either locally (from Homebridge -> myQ API) or Internet connectivity (your ISP -> myQ API). Will look into dealing with network timeout issues more gracefully...but this is an edge case that really is indicative of a more fundamental issue elsewhere...but I should still handle it more gracefully than I have!

Edit: seems that you are running in a child bridge from what I can see above...given that, the myQ plugin should not / will not impact other plugins in the ecosystem...if it is impacting them, something more fundamental in Homebridge is going on. Child bridges are essentially independent of each other.

Thanks!

asander85 commented 2 years ago

Thanks so much for the speedy reply. Unfornately, I am already running all my plugins as child bridges, so that cannot be the fix for my issue. I have done extensive network troubleshooting and if the issue is outside of Homebridge than it’s outside of my ability to fix (certified network tech) or there is clearly a portion of mDNS communication I do not understand (which is highly possible/probable). For context: ATT Fiber, 2GB upload speed, 2GB download speed, speeds verified via gateway hardwire at 2.2GB sequential, and WiFi nets me just under 1GB. Network equipment is: ATT Giber Gateway Arris BMG-, wired to a 5GB 8 port switch, then heading to a 1GB 32 port switch, and hardwired to RP3B+ running Raspbian OS and Homebridge via Docker. I do have a RP4 w/8GB of RAM on its way to me and I plan on migrating everything over or just starting over from scratch. Sent from my iPhoneOn Jul 1, 2022, at 1:11 PM, hjdhjd @.***> wrote: Thanks! So...you've got some network issues connecting to the API. I would recommend running the plugin in a child bridge and that will address any implications to other plugins. That said...I haven't encountered this issue as a regular occurrence. I'll take a look for future releases, but it won't be a priority at the moment due to some other priorities. 😄 TL;DR: use a child bridge and this will be solved. TL;DR2: you have a network issue going on...either locally (from Homebridge -> myQ API) or Internet connectivity (your ISP -> myQ API). Will look into dealing with network timeout issues more gracefully...but this is an edge case that really is indicative of a more fundamental issue elsewhere...but I should still handle it more gracefully than I have! Thanks!

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

hjdhjd commented 2 years ago

Curious to see when you switch over to the new RPi...please do keep me updated. Thanks!

asander85 commented 2 years ago

Alrighty, I have successfully moved my entire ecosystem over to a brand new Raspberry pi 4B w 8GB RAM, NO SC CARD INSTALLED, booting from an external KingSpec M.2 NVMe SSD NE 2280 (128GB). pi is in an Argon ONE V2 Case with fan set to always on, and the SSD is housed in a Sokiwi M.2 NVME NGFF SSD Enclosure Adapter Tool-Free, RTL9210B Chips, USB C 3.1 Gen 2 10Gbps NVME, 6Gbps SATA PCIe M-Key(B+M Key), Support UASP Trim for SSD Size 2230/2242/2260/2280.

Config:

{
    "platforms": [
        {
            "platform": "config",
            "theme": "dark-mode-cyan",
            "name": "Config",
            "lang": "auto",
            "tempUnits": "f",
            "auth": "none",
            "port": 8581
        },
        {
            "refreshToken": "REDACTED",
            "apiLoginRefreshSecs": 1850,
            "ignoreDeviceTypes": [
                "garage_door_device"
            ],
            "disableCameras": true,
            "useExternalVideoStreams": false,
            "_bridge": {
                "username": "0E:39:78:88:83:12",
                "port": 58475
            },
            "platform": "Vivint"
        },
        {
            "activeRefreshDuration": 120,
            "platform": "myQ",
            "name": "myQ",
            "refreshInterval": 10,
            "password": "REDACTED",
            "mqttTopic": "myq ",
            "_bridge": {
                "port": 54876,
                "username": "0E:86:39:1A:DB:E1"
            },
            "activeRefreshInterval": 3,
            "email": "sander_alexander@REDACTED.com"
        },
        {
            "showRunall": false,
            "password": "REDACTED#",
            "showSchedules": false,
            "showStandby": false,
            "showIrrigation": true,
            "showTempSensor": false,
            "showLimitsSensor": false,
            "showFloodSensor": false,
            "displayValveType": 1,
            "runtimeSource": 2,
            "_bridge": {
                "port": 41641,
                "username": "73:C3:BC:8C:CE:7A"
            },
            "name": "B-Hyve",
            "email": "Sander_alexander@REDACTED.com",
            "useIrrigationDisplay": true,
            "platform": "bhyve",
            "defaultRuntime": 5,
            "showBridge": false
        },
        {
            "options": {
                "username": "sander_alexander@REDACTED.com",
                "password": "REDACTED",
                "accessId": "REDACTED",
                "accessKey": "REDACTED",
                "lang": "en",
                "projectType": "2",
                "appSchema": "tuyaSmart",
                "countryCode": 1,
                "debug": false
            },
            "name": "TuyaPlatform",
            "platform": "TuyaPlatform",
            "_bridge": {
                "username": "0E:4C:28:65:77:37",
                "port": 55726
            }
        },
        {
            "name": "CameraUI",
            "port": 8081,
            "logLevel": "info",
            "mqtt": {
                "active": false,
                "tls": false,
                "port": 1883
            },
            "http": {
                "active": false,
                "port": 7272,
                "localhttp": false
            },
            "smtp": {
                "active": false,
                "port": 2727,
                "space_replace": "+"
            },
            "ftp": {
                "active": false,
                "useFile": false,
                "port": 5050
            },
            "ssl": {
                "active": false
            },
            "cameras": [
                {
                    "name": "Driveway Camera",
                    "motion": true,
                    "unbridge": true,
                    "hsv": true,
                    "prebuffering": true,
                    "prebufferLength": 4,
                    "videoConfig": {
                        "source": "-i rtsp://REDACTED@REDACTED:8554/Video-166",
                        "subSource": "-i rtsp://REDACTED@REDACTED:8554/Video-166_SD",
                        "stillImageSource": "-i rtsp://REDACTED@REDACTED:8554/Video-166_SD",
                        "vcodec": "copy",
                        "acodec": "libfdk_aac",
                        "audio": true
                    },
                    "videoanalysis": {
                        "active": true
                    },
                    "motionTimeout": 60,
                    "smtp": {
                        "email": "Driveway Camera"
                    },
                    "mqtt": {}
                },
                {
                    "name": "Doorbell Camera",
                    "motion": true,
                    "doorbell": true,
                    "switches": true,
                    "unbridge": true,
                    "hsv": true,
                    "prebuffering": true,
                    "prebufferLength": 4,
                    "videoConfig": {
                        "source": "-i rtsp://REDACTED@REDACTED:8554/Video-117",
                        "subSource": "-i rtsp://REDACTED@REDACTED:8554/Video-117_SD",
                        "stillImageSource": "-i rtsp://REDACTED@REDACTED:8554/Video-117_SD",
                        "vcodec": "copy",
                        "acodec": "libfdk_aac",
                        "audio": true
                    },
                    "videoanalysis": {
                        "active": true
                    },
                    "motionTimeout": 60,
                    "smtp": {
                        "email": "Doorbell Camera"
                    },
                    "mqtt": {}
                },
                {
                    "name": "Main Living Area Camera",
                    "motion": true,
                    "unbridge": true,
                    "hsv": true,
                    "prebuffering": true,
                    "prebufferLength": 4,
                    "videoConfig": {
                        "source": "-i rtsp://REDACTED@REDACTED:8554/Video-181",
                        "subSource": "-i rtsp://REDACTED@REDACTED:8554/Video-181_SD",
                        "stillImageSource": "-i rtsp://REDACTED@REDACTED:8554/Video-181_SD",
                        "vcodec": "copy",
                        "acodec": "libfdk_aac",
                        "audio": true
                    },
                    "videoanalysis": {
                        "active": true
                    },
                    "motionTimeout": 60,
                    "smtp": {
                        "email": "Main Living Area Camera"
                    },
                    "mqtt": {}
                },
                {
                    "name": "Mud Room Camera",
                    "motion": true,
                    "unbridge": true,
                    "hsv": true,
                    "prebuffering": true,
                    "prebufferLength": 4,
                    "videoConfig": {
                        "source": "-i rtsp://REDACTED@REDACTED:8554/Video-162",
                        "subSource": "-i rtsp://REDACTED@REDACTED:8554/Video-162_SD",
                        "stillImageSource": "-i rtsp://REDACTED@REDACTED:8554/Video-162_SD",
                        "vcodec": "copy",
                        "acodec": "libfdk_aac",
                        "audio": true
                    },
                    "videoanalysis": {
                        "active": true
                    },
                    "motionTimeout": 60,
                    "smtp": {
                        "email": "Mud Room Camera"
                    },
                    "mqtt": {}
                }
            ],
            "platform": "CameraUI",
            "atHomeSwitch": false,
            "options": {
                "videoProcessor": "/var/lib/homebridge/node_modules/homebridge-camera-ui/node_modules/ffmpeg-for-homebridge/ffmpeg"
            }
        },
        {
            "name": "Alexa",
            "username": "REDACTED",
            "password": "REDACTED",
            "pin": "540-60-439",
            "routines": true,
            "blind": false,
            "door": false,
            "debug": false,
            "deviceListHandling": "allow",
            "_bridge": {
                "username": "0E:B2:9C:93:C3:57",
                "port": 53864
            },
            "platform": "Alexa"
        }
    ],
    "accessories": [],
    "bridge": {
        "port": 51745,
        "name": "Homebridge 8E6C",
        "bind": [
            "eth0"
        ],
        "username": "0E:6B:EA:52:8E:6C",
        "pin": "540-60-439",
        "advertiser": "avahi"
    },
    "disabledPlugins": [
        "homebridge-samsung-tizen"
    ]

I am having far less issues than I was before, but the MyQ plugin is the only one I consistently have issues with. All of my plugins are ran as child bridges and none of my other plugins are having network connectivity issues. I restarted homebridge this morning and immediately got the below error in the logs.

[7/14/2022, 11:06:50 AM] Homebridge v1.5.0 (HAP v0.10.2) (Homebridge 8E6C) is running on port 51745.
[7/14/2022, 11:06:50 AM] [CameraUI] Driveway Camera: Configuring unbridged accessory...
[7/14/2022, 11:06:50 AM] [CameraUI] Driveway Camera: Setting up accessory...
[7/14/2022, 11:06:51 AM] [CameraUI] Doorbell Camera: Configuring unbridged accessory...
[7/14/2022, 11:06:51 AM] [CameraUI] Doorbell Camera: Setting up accessory...
[7/14/2022, 11:06:51 AM] [CameraUI] Main Living Area Camera: Configuring unbridged accessory...
[7/14/2022, 11:06:51 AM] [CameraUI] Main Living Area Camera: Setting up accessory...
[7/14/2022, 11:06:51 AM] [CameraUI] Mud Room Camera: Configuring unbridged accessory...
[7/14/2022, 11:06:51 AM] [CameraUI] Mud Room Camera: Setting up accessory...
[7/14/2022, 11:06:51 AM] [CameraUI] Accessories refreshed and config.json saved!
[7/14/2022, 11:06:51 AM] Driveway Camera 3315 is running on port 45953.
[7/14/2022, 11:06:51 AM] Please add [Driveway Camera 3315] manually in Home app. Setup Code: 540-60-439
[7/14/2022, 11:06:51 AM] Doorbell Camera 2D62 is running on port 35977.
[7/14/2022, 11:06:51 AM] Please add [Doorbell Camera 2D62] manually in Home app. Setup Code: 540-60-439
[7/14/2022, 11:06:51 AM] Main Living Area Camera F4FC is running on port 40329.
[7/14/2022, 11:06:51 AM] Please add [Main Living Area Camera F4FC] manually in Home app. Setup Code: 540-60-439
[7/14/2022, 11:06:51 AM] Mud Room Camera 469C is running on port 40589.
[7/14/2022, 11:06:51 AM] Please add [Mud Room Camera 469C] manually in Home app. Setup Code: 540-60-439
[7/14/2022, 11:06:52 AM] [B-Hyve] Launched child bridge with PID 49522
[7/14/2022, 11:06:52 AM] [TuyaPlatform] Launched child bridge with PID 49525
[7/14/2022, 11:06:52 AM] [myQ] Launched child bridge with PID 49516
[7/14/2022, 11:06:52 AM] [@balansse/homebridge-vivint] Launched child bridge with PID 49510
[7/14/2022, 11:06:52 AM] Registering platform 'homebridge-orbit-irrigation.bhyve'
[7/14/2022, 11:06:56 AM] [B-Hyve] Loaded homebridge-orbit-irrigation v1.2.8 child bridge successfully
[7/14/2022, 11:06:53 AM] Registering platform 'homebridge-tuya-platform.TuyaPlatform'
[7/14/2022, 11:06:56 AM] [TuyaPlatform] Loaded homebridge-tuya-platform v1.5.0 child bridge successfully
[7/14/2022, 11:06:53 AM] Registering platform 'homebridge-myq.myQ'
[7/14/2022, 11:06:56 AM] [myQ] Loaded homebridge-myq v2.7.4 child bridge successfully
[7/14/2022, 11:06:54 AM] Registering platform '@balansse/homebridge-vivint.Vivint'
[7/14/2022, 11:06:56 AM] [@balansse/homebridge-vivint] Loaded @balansse/homebridge-vivint v1.7.0 child bridge successfully
[7/14/2022, 11:06:56 AM] Loaded 3 cached accessories from cachedAccessories.73C3BC8CCE7A.
[7/14/2022, 11:06:56 AM] Loaded 6 cached accessories from cachedAccessories.0E4C28657737.
[7/14/2022, 11:06:56 AM] Loaded 1 cached accessories from cachedAccessories.0E86391ADBE1.
[7/14/2022, 11:06:57 AM] [B-Hyve] Starting Orbit Platform using homebridge API 2.7
[7/14/2022, 11:06:57 AM] [B-Hyve] Getting Account info...
[7/14/2022, 11:06:57 AM] Homebridge v1.5.0 (HAP v0.10.2) (B-Hyve) is running on port 41641.
[7/14/2022, 11:06:57 AM] Loaded 17 cached accessories from cachedAccessories.0E3978888312.
[7/14/2022, 11:06:57 AM] Homebridge v1.5.0 (HAP v0.10.2) (myQ) is running on port 54876.
[7/14/2022, 11:06:57 AM] Homebridge v1.5.0 (HAP v0.10.2) (TuyaPlatform) is running on port 55726.
[7/14/2022, 11:06:57 AM] Homebridge v1.5.0 (HAP v0.10.2) (@balansse/homebridge-vivint) is running on port 58475.
[7/14/2022, 11:06:57 AM] [B-Hyve] Found account for Alex Sander
[7/14/2022, 11:06:58 AM] [B-Hyve] Online device BH1G2-0001 WiFi Hub Living Room found at the configured location address: 1516 Stonegate Manor Dr
[7/14/2022, 11:06:58 AM] [B-Hyve] Online device BH1G2-0001 WiFi Hub Kitchen found at the configured location address: 1516 Stonegate Manor Dr
[7/14/2022, 11:06:58 AM] [B-Hyve] Online device HT31-0001 Front Yard found at the configured location address: 1516 Stonegate Manor Dr
[7/14/2022, 11:06:58 AM] [B-Hyve] Online device HT34-0001 Back Yard found at the configured location address: 1516 Stonegate Manor Dr
[7/14/2022, 11:06:58 AM] [B-Hyve] Online device HT31-0001 Front Flower Bed found at the configured location address: 1516 Stonegate Manor Drive
[7/14/2022, 11:06:58 AM] [B-Hyve] Skipping Bridge BH1G2-0001 WiFi Hub Living Room based on config
[7/14/2022, 11:06:58 AM] [B-Hyve] Skipping Bridge BH1G2-0001 WiFi Hub Kitchen based on config
[7/14/2022, 11:06:58 AM] [B-Hyve] Configure Irrigation system for Front Yard
[7/14/2022, 11:06:58 AM] [B-Hyve] Adding Battery status for Front Yard
[7/14/2022, 11:06:58 AM] [B-Hyve] Configured zone-1 for Front Yard with 5 min runtime
[7/14/2022, 11:06:58 AM] [B-Hyve] Configured zone-2 for Zone 2 with 5 min runtime
[7/14/2022, 11:06:58 AM] [B-Hyve] Configured zone-3 for Zone 3 with 5 min runtime
[7/14/2022, 11:06:58 AM] [B-Hyve] Configured zone-4 for Zone 4 with 5 min runtime
[7/14/2022, 11:06:58 AM] [B-Hyve] Configure Irrigation system for Back Yard
[7/14/2022, 11:06:58 AM] [B-Hyve] Adding Battery status for Back Yard
[7/14/2022, 11:06:58 AM] [B-Hyve] Configured zone-1 for Patio Corner with 5 min runtime
[7/14/2022, 11:06:58 AM] [B-Hyve] Configured zone-2 for Shed Side with 5 min runtime
[7/14/2022, 11:06:58 AM] [B-Hyve] Configured zone-3 for Center and rear with 5 min runtime
[7/14/2022, 11:06:58 AM] [B-Hyve] Configured zone-4 for Side Yard with 5 min runtime
[7/14/2022, 11:06:58 AM] [B-Hyve] Configure Irrigation system for Front Flower Bed
[7/14/2022, 11:06:58 AM] [B-Hyve] Adding Battery status for Front Flower Bed
[7/14/2022, 11:06:58 AM] [B-Hyve] Configured zone-1 for Front Flower Bed with 5 min runtime

> [7/14/2022, 11:06:58 AM] [myQ] myQ API: https://partner-identity.myq-cloud.com/connect/token Error: 502 Bad Gateway
> [7/14/2022, 11:06:58 AM] [myQ] myQ API: Unable to acquire an OAuth access token.

I also want to put it out there that I am totally and completely willing to be used as a Guinea Pig to test out potential fixes for this issue. I don't really care about privacy and all that crap. If you would like more info or would like to have a remote desktop session let me know!

joeyhage commented 2 years ago

@asander85 @hjdhjd

FWIW, I have been seeing a lot of the same myQ issue recently in my logs:

myQ API: https://partner-identity.myq-cloud.com/connect/token Error: 502 Bad Gateway

It occurs several times per day and started occuring on July 6th. I was out of town at the time so I am confident there were not configuration changes on my end. Is it possible myQ is changing how the auth process works and/or having reliability issues?

hjdhjd commented 2 years ago

Sure, anything is possible, but I would put it in the unlikely category. These errors have been happening for years. This is just the nature of the robustness of the API myQ has provided. Thanks!

hjdhjd commented 2 years ago

@asander85 Thanks for the additional detail - there’s not much left for me to troubleshoot or followup on here I’m afraid. The log entries you’re referencing aren’t unexpected…there will be occasional (and sometimes more than occasional) API failures…the error in question is a problem on the myQ end of the API, not this plugin directly.

Yeah, the API is temperamental at times… 😄

joeyhage commented 2 years ago

I am seeing this issue in a scheduled AWS lambda project I have that runs every hour using your @hjdhjd/myq package. This is the only time I've seen this many login issues in over 6 months so evidence indicates this is an anomaly at least in the last 8 months.

My project if interested: https://github.com/joeyhage/myq-scheduled-lambda

hjdhjd commented 2 years ago

Locking this issue. Not really much more to say here guys. @joeyhage these issues are years older. It didn’t start recently, although I appreciate why you may perceive it to be so. The reality is, these issues happen with regularity.

The myQ API isn’t exactly 5-9s or anything close to it.