Skip to content

Unable to login to Xiaomi cloud as of yesterday #2444

Description

@MaRmARk0

Hello. Yesterday (2025-04-03) Xiaomi Miot Auto integration in HA suddenly stopped working. It gives me this error in logs (it keeps repeating):

2025-04-04 10:04:39.122 ERROR (SyncWorker_9) [custom_components.xiaomi_miot.core.xiaomi_cloud] Xiaomi serviceLoginAuth2: ['https://account.xiaomi.com/pass/serviceLoginAuth2', 2, {'user': 'redacted@email.com', 'hash': '*', 'callback': 'https://sts.api.io.mi.com/sts', 'sid': 'xiaomiio', 'qs': '%3Fsid%3Dxiaomiio%26_json%3Dtrue', '_sign': '0psXfr43eNI0IX6q9Suk3qWbRqU='}, {'User-Agent': 'Android-7.1.1-1.0.0-ONEPLUS A3010-136-3CNUQ4Z7VH493J95 APP/xiaomi.smarthome APPV/62830'}, {'sdkVersion': '3.8.6', 'deviceId': '3CNUQ4Z7VH493J95'}, '&&&START&&&{"qs":"%3Fsid%3Dxiaomiio%26_json%3Dtrue","code":70016,"description":"登录验证失败","securityStatus":0,"_sign":"0psXfr43eNI0IX6q9Suk3qWbRqU=","sid":"xiaomiio","result":"error","captchaUrl":null,"callback":"https://sts.api.io.mi.com/sts","location":"","pwd":0,"child":0,"desc":"登录验证失败"}']

2025-04-04 10:04:39.123 ERROR (MainThread) [custom_components.xiaomi_miot.config_flow] Setup xiaomi cloud for user: redacted@email.com failed: Login to xiaomi error: &&&START&&&{"qs":"%3Fsid%3Dxiaomiio%26_json%3Dtrue","code":70016,"description":"登录验证失败","securityStatus":0,"_sign":"0psXfr43eNI0IX6q9Suk3qWbRqU=","sid":"xiaomiio","result":"error","captchaUrl":null,"callback":"https://sts.api.io.mi.com/sts","location":"","pwd":0,"child":0,"desc":"登录验证失败"}

Integration is working inside HA like 2-3 years without issues. I did ot change nor fiddle with Xiaomi app in last months.
I tried to login from my PC to xiaomi.com (same IP, same network, same username & password) and everything works just fine. Tried to check Xiaomi username & password in HA but they're correct. Tried to reload Miot integration and restart HA, but also no luck.

Suddenly all my Xiaomi devices are unusable throughout whole apartment.

EDIT 1: New more verbose log entry

2025-04-04 10:47:56.909 ERROR (SyncWorker_20) [custom_components.xiaomi_miot.core.xiaomi_cloud] Xiaomi serviceLoginAuth2: ['https://account.xiaomi.com/pass/serviceLoginAuth2', 4, {'user': 'redacted@email.com', 'hash': '*', 'callback': 'https://sts.api.io.mi.com/sts', 'sid': 'xiaomiio', 'qs': '%3Fsid%3Dxiaomiio%26_json%3Dtrue', '_sign': '0psXfr43eNI0IX6q9Suk3qWbRqU='}, {'User-Agent': 'Android-7.1.1-1.0.0-ONEPLUS A3010-136-3CNUQ4Z7VH493J95 APP/xiaomi.smarthome APPV/62830'}, {'sdkVersion': '3.8.6', 'deviceId': '3CNUQ4Z7VH493J95'}, '&&&START&&&{"qs":"%3Fsid%3Dxiaomiio%26_json%3Dtrue","code":70016,"description":"登录验证失败","securityStatus":0,"_sign":"0psXfr43eNI0IX6q9Suk3qWbRqU=","sid":"xiaomiio","result":"error","captchaUrl":null,"callback":"https://sts.api.io.mi.com/sts","location":"","pwd":0,"child":0,"desc":"登录验证失败"}']
2025-04-04 10:47:56.910 ERROR (MainThread) [custom_components.xiaomi_miot.sensor] Unexpected error fetching xiaomi_miot-mihome-message-1676842482 data
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 379, in _async_refresh
    self.data = await self._async_update_data()
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 280, in _async_update_data
    return await self.update_method()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/xiaomi_miot/sensor.py", line 441, in fetch_latest_message
    res = await self.cloud.async_request_api('v2/message/v2/typelist', data={}) or {}
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/xiaomi_miot/core/xiaomi_cloud.py", line 210, in async_request_api
    await self.async_login()
  File "/config/custom_components/xiaomi_miot/core/xiaomi_cloud.py", line 478, in async_login
    ret = await self.hass.async_add_executor_job(self._login_request, captcha)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/xiaomi_miot/core/xiaomi_cloud.py", line 500, in _login_request
    location = self._login_step2(**auth)
  File "/config/custom_components/xiaomi_miot/core/xiaomi_cloud.py", line 569, in _login_step2
    raise MiCloudAccessDenied(f'Login to xiaomi error: {response.text}')
micloud.micloudexception.MiCloudAccessDenied: Login to xiaomi error: &&&START&&&{"qs":"%3Fsid%3Dxiaomiio%26_json%3Dtrue","code":70016,"description":"登录验证失败","securityStatus":0,"_sign":"0psXfr43eNI0IX6q9Suk3qWbRqU=","sid":"xiaomiio","result":"error","captchaUrl":null,"callback":"https://sts.api.io.mi.com/sts","location":"","pwd":0,"child":0,"desc":"登录验证失败"}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions