RMCob / homebridge-wyze-robovac

This plug-in provides rudimentary control for a Wyze Robot Vacuum.
Apache License 2.0
8 stars 4 forks source link

Getting 400 response when the plugin attempts to login #22

Closed alanhartless closed 3 months ago

alanhartless commented 4 months ago

Describe Your Problem: I just upgraded and am now getting a 400 error in the logs when the plugin loads. The vacuums aren't getting added.

Logs:

[2/15/2024, 7:43:16 AM] [WyzeRoboVac] error: Command failed: python3 /volume1/homebridge/node_modules/homebridge-wyze-robovac/py_helpers/getVacuumDeviceList.py [redacted email] [redacted password] [redacted api key ID] [redacted api key]
Traceback (most recent call last):
  File "/volume1/homebridge/node_modules/homebridge-wyze-robovac/py_helpers/getVacuumDeviceList.py", line 13, in <module>
    client = Client(email=os.sys.argv[1], password=os.sys.argv[2], key_id=os.sys.argv[3], api_key=os.sys.argv[4])
  File "/var/packages/homebridge/home/.local/lib/python3.8/site-packages/wyze_sdk/api/client.py", line 72, in __init__
    self.login()
  File "/var/packages/homebridge/home/.local/lib/python3.8/site-packages/wyze_sdk/api/client.py", line 184, in login
    response = self._auth_client().user_login(
  File "/var/packages/homebridge/home/.local/lib/python3.8/site-packages/wyze_sdk/service/auth_service.py", line 88, in user_login
    response = self.api_call(
  File "/var/packages/homebridge/home/.local/lib/python3.8/site-packages/wyze_sdk/service/auth_service.py", line 58, in api_call
    return super().api_call(
  File "/var/packages/homebridge/home/.local/lib/python3.8/site-packages/wyze_sdk/service/base.py", line 347, in api_call
    return super().api_call(
  File "/var/packages/homebridge/home/.local/lib/python3.8/site-packages/wyze_sdk/service/base.py", line 204, in api_call
    return self.do_post(url=api_url, headers=headers, payload=json, params=params)
  File "/var/packages/homebridge/home/.local/lib/python3.8/site-packages/wyze_sdk/service/base.py", line 132, in do_post
    return self._do_request(client, req)
  File "/var/packages/homebridge/home/.local/lib/python3.8/site-packages/wyze_sdk/service/base.py", line 106, in _do_request
    raise err
  File "/var/packages/homebridge/home/.local/lib/python3.8/site-packages/wyze_sdk/service/base.py", line 93, in _do_request
    response.raise_for_status()
  File "/usr/lib/python3.8/site-packages/requests/models.py", line 1021, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://auth-prod.api.wyze.com/api/user/login

Plugin Config:

{
    "name": "WyzeRoboVac",
    "username": "[redacted]",
    "password": "[redacted]",
    "key_id": "[redacted]",
    "api_key": "[redacted]",
    "mfaCode": "[redacted]",
    "statusCheckRefreshInterval": 30,
    "idleBatteryCheckRefreshInterval": 1800,
    "busyBatteryCheckRefreshInterval": 120,
    "path2py_stubs": "/volume1/homebridge/node_modules/homebridge-wyze-robovac/py_helpers",
    "debugLevel": 1,
    "platform": "WyzeRoboVac"
}

Screenshots:

Environment: