AlexxIT / YandexStation

Управление Яндекс.Станцией и другими устройствами умного дома с Алисой из Home Assistant
https://t.me/AlexxIT_SmartHome
MIT License
1.27k stars 119 forks source link

Компонент не может авторизоваться #492

Closed algar42 closed 2 months ago

algar42 commented 2 months ago

После обновления на версию 3.15 слетела авторизация. К тому же при попытке зайти в приложение УДЯ на телефоне получил перенаправление на ввод капчи. Разлогинился на всех устройствах, после чего доступ к приложению УДЯ получил. Но компонент в ХА больше авторизоваться не может. Есть подозрение, что продолжается перенаправление на капчу :(

Попыка авторизоваться используя любой метод дает толко такой результат: image

В логе получаю вот такой отлуп:

Регистратор: aiohttp.server
Источник: /usr/local/lib/python3.12/site-packages/aiohttp/web_protocol.py:421
Первое сообщение: 12:29:39 (1 сообщений)
Последнее сообщение: 12:29:39

Error handling request
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/aiohttp/web_protocol.py", line 452, in _handle_request
    resp = await request_handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/aiohttp/web_app.py", line 543, in _handle
    resp = await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/aiohttp/web_middlewares.py", line 114, in impl
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 92, in security_filter_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 83, in forwarded_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 26, in request_context_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 88, in ban_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 236, in auth_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/headers.py", line 32, in headers_middleware
    response = await handler(request)
               ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/http.py", line 73, in handle
    result = await handler(request, **request.match_info)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/decorators.py", line 71, in with_admin
    return await func(self, request, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 222, in post
    return await super().post(request, flow_id)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 73, in wrapper
    result = await method(view, request, data, *args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 122, in post
    result = await self._flow_mgr.async_configure(flow_id, data)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 356, in async_configure
    result = await self._async_configure(flow_id, user_input)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 402, in _async_configure
    result = await self._async_handle_step(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 506, in _async_handle_step
    result: _FlowResultT = await getattr(flow, method)(user_input)
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/yandex_station/config_flow.py", line 72, in async_step_user
    description_placeholders={"qr_url": await self.yandex.get_qr()},
                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/yandex_station/core/yandex_session.py", line 205, in get_qr
    assert m, resp
AssertionError: <!DOCTYPE html>
<html>

<head>
    <title>400</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<style>
    body {
        font-family: Arial, sans-serif;
        margin: 0;
        padding: 0;
        color: #000;
        background-color: #fff;
    }

    body .content {
        padding: 15px 70px 80px;
        font-size: 15px;
        line-height: 20px;
        margin: 20px 0 30px;
    }

    .header {
        height: 48px;
    }

    .header__logo {
        display: inline-block;
        overflow: hidden;
        min-width: 130px;
        height: 36px;
        white-space: nowrap;
        text-indent: 100%;
        background-repeat: no-repeat;
        background-position: center center;
        background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODYiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCAzNzggOTEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgZmlsbD0ibm9uZSI+PHBhdGggZD0iTTIxOC44MDggOTFDMjI2LjA1IDkxIDIzMS45OTkgODcuNjQ0IDIzNi4xMzcgODEuMzE5MkwyMzYuOTEzIDg5LjcwOTJIMjUxLjEzOFYwSDIzNS43NDlWMzIuMzk4NkMyMzEuODcgMjYuNTkwMSAyMjYuMTggMjMuNDkyMiAyMTkuNDU1IDIzLjQ5MjJDMjA0LjU4MyAyMy40OTIyIDE5NC4yMzggMzYuMDEyOCAxOTQuMjM4IDU3LjY5NzlDMTk0LjIzOCA3OS4xMjQ4IDIwNC4zMjUgOTEgMjE4LjgwOCA5MVpNMzEzLjM0MSA4NS4zMjA2VjcyLjhDMzA4LjU1NiA3Ni4wMjY5IDMwMC41MzggNzguODY2NyAyOTMuMDM3IDc4Ljg2NjdDMjgxLjc4NyA3OC44NjY3IDI3Ny41MTkgNzMuNTc0NSAyNzYuODczIDYyLjczMTlIMzEzLjk4N1Y1NC42QzMxMy45ODcgMzIuMDExMyAzMDQuMDMgMjMuNDkyMiAyODguNjQxIDIzLjQ5MjJDMjY5Ljg4OSAyMy40OTIyIDI2MC45NjYgMzcuODE5OSAyNjAuOTY2IDU3LjQzOTdDMjYwLjk2NiA4MC4wMjg0IDI3Mi4wODggOTEgMjkxLjc0NCA5MUMzMDEuNTcyIDkxIDMwOC44MTQgODguNDE4NCAzMTMuMzQxIDg1LjMyMDZaTTExOS43NSA0NS40MzU1QzExOS43NSAyOS42ODc5IDExMS43MzIgMjMuNzUwNCA5NS40MzgxIDIzLjc1MDRDODUuMzUxMiAyMy43NTA0IDc3LjIwNDEgMjguMDA5OSA3Mi41NDg3IDMxLjM2NlY0NC42NjFDNzcuNDYyOCA0MC42NTk2IDg0Ljk2MzMgMzYuMDEyOCA5My42Mjc3IDM2LjAxMjhDMTAwLjk5OSAzNi4wMTI4IDEwNC4zNjEgMzguNTk0MyAxMDQuMzYxIDQ1LjU2NDVWNDkuNjk1SDEwMS45MDRDNzguMzY4IDQ5LjY5NSA2Ny44OTMyIDU3LjMxMDYgNjcuODkzMiA3MC44NjM4QzY3Ljg5MzIgODMuMzg0NCA3NS45MTEgOTAuNjEyOCA4Ny44MDgzIDkwLjYxMjhDOTYuODYwNiA5MC42MTI4IDEwMC43NCA4Ny42NDQgMTAzLjcxNSA4NC41NDYxSDEwNC4zNjFDMTA0LjQ5IDg2LjIyNDEgMTA1LjAwOCA4OC40MTg0IDEwNS41MjUgODkuNzA5MkgxMjAuNTI2QzEyMC4wMDkgODQuNDE3IDExOS43NSA3OS4xMjQ4IDExOS43NSA3My44MzI2VjQ1LjQzNTVaTTE0Ny42ODMgNDMuMTEyMUMxNTAuNTI4IDM5LjYyNyAxNTUuMDU0IDM2LjY1ODIgMTYwLjYxNSAzNi42NTgyQzE2Ni4wNDYgMzYuNjU4MiAxNjguNTAzIDM4Ljk4MTYgMTY4LjUwMyA0My44ODY1Vjg5LjcwOTJIMTgzLjg5MlY0Mi4zMzc2QzE4My44OTIgMjkuNDI5OCAxNzguNzE5IDIzLjc1MDQgMTY2LjE3NiAyMy43NTA0QzE1Ni45OTQgMjMuNzUwNCAxNTEuNTYyIDI3LjEwNjQgMTQ4LjQ1OSAzMC4yMDQzSDE0Ny42ODNMMTQ3LjI5NSAyNC43ODNIMTMyLjI5NFY4OS43MDkySDE0Ny42ODNWNDMuMTEyMVpNMzYwLjY3MSA4OS43MDkySDM3OEwzNTYuNzkyIDU2LjI3OEwzNzUuMTU1IDI0Ljc4M0gzNTkuNzY2TDM0OC42NDUgNDQuNDAyOEwzMzYuMjMgMjQuNzgzSDMxOC45MDFMMzM4LjU1OCA1NS44OTA4TDMxOC4xMjUgODkuNzA5MkgzMzMuNzczTDM0Ni44MzQgNjcuNzY2TDM2MC42NzEgODkuNzA5MlpNMjIzLjMzNSAzNS42MjU1QzIzMS42MTEgMzUuNjI1NSAyMzUuNzQ5IDQyLjIwODUgMjM1Ljc0OSA1Ny4xODE2QzIzNS43NDkgNzIuMjgzNyAyMzEuMzUyIDc4Ljg2NjcgMjIyLjY4OCA3OC44NjY3QzIxNC4yODIgNzguODY2NyAyMTAuMTQ0IDcyLjQxMjggMjEwLjE0NCA1Ny42OTc5QzIxMC4xNDQgNDIuMzM3NiAyMTQuNTQxIDM1LjYyNTUgMjIzLjMzNSAzNS42MjU1Wk0yODguMzgyIDM1LjYyNTVDMjk2LjAxMiAzNS42MjU1IDI5OC4zMzkgNDEuOTUwNCAyOTguMzM5IDUwLjA4MjNWNTEuMzczMUgyNzYuODczQzI3Ny4yNjEgNDEuMDQ2OCAyODEuMDExIDM1LjYyNTUgMjg4LjM4MiAzNS42MjU1Wk0xMDQuMzYxIDc0LjIxOTlDMTAyLjQyMSA3Ny4wNTk2IDk4LjgwMDQgNzkuMzgzIDkzLjM2OSA3OS4zODNDODYuOTAzIDc5LjM4MyA4My42NzAxIDc1LjYzOTcgODMuNjcwMSA2OS45NjAzQzgzLjY3MDEgNjIuNDczOCA4OC45NzIyIDU5Ljg5MjIgMTAyLjE2MyA1OS44OTIySDEwNC4zNjFWNzQuMjE5OVoiIGZpbGw9ImJsYWNrIj48L3BhdGg+PHBhdGggZD0iTTQ1LjEzMjMgODkuNzA5MlY3NC40NzhDNDUuMTMyMyA2Mi45OTAxIDQzLjcwOTggNTkuNjM0IDM5LjMxMyA1MC4wODIzTDE2LjI5NDIgMEgwTDI5LjQ4NDcgNjQuMDIyN1Y4OS43MDkySDQ1LjEzMjNaTTU1LjM0ODUgNDMuMzcwMkw3NC40ODc3IDBINTguNTgxNUwzOS40NDIzIDQzLjM3MDJINTUuMzQ4NVoiIGZpbGw9IiNGQzNGMUQiPjwvcGF0aD48L3N2Zz4=');
        background-size: contain;
        margin-left: 5px;
        margin-right: 5px;
    }

    .header__code {
        font-size: 32px;
        display: inline-block;
        overflow: hidden;
        width: 76px;
        text-align: center;
        color: #fff;
        background-color: #999;
    }

    .content__h1 {
        font-size: 21px;
        font-weight: 400;
    }

    .content__h2 {
        font-size: 15px;
        font-weight: 800;
    }

    .footer {
        line-height: 30px;
        height: 30px;
        padding: 0 25px;
        border-top: 1px solid #eee;
    }

    .footer__copyright {
        font-size: 13px;
    }

    .link {
        color: #44b;
    }

    .link:hover {
        color: #e00;
    }
</style>

</head>

<body>

    <div class='header'>
        <a target="_blank" class="header__logo" href="https://www.yandex.com">Yandex</a>
        <div class='header__code'>400</div>
    </div>
    <div class='content'>
        <pre></pre>

    <h1 class="content__h1">Bad Request</h1>
    <p>If you come across any problems, please do not hesitate to contact <a target="_blank" class="link" href="https://yandex.com/support/smart-captcha?form-unique_key=/#help" onclick="ym(72876589, 'reachGoal', 'support_complain', { 'req_id': '' }); return true;">our Support service.</a></p>
    <p></p>

    </div>
    <div class='footer'><span class='footer__copyright'>©&nbsp;Yandex</span></div>
    <!-- Yandex.Metrika counter -->
    <script
        type="text/javascript">(function (m, e, t, r, i, k, a) { m[i] = m[i] || function () { (m[i].a = m[i].a || []).push(arguments) }; m[i].l = 1 * new Date(); k = e.createElement(t), a = e.getElementsByTagName(t)[0], k.async = 1, k.src = r, a.parentNode.insertBefore(k, a) })(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym"); ym(15897442, "init", { clickmap: true, trackLinks: true, accurateTrackBounce: true, webvisor: true, ut: "noindex", params: { "req_id": "", "unique_key": "", "http_code": "400" } });</script>
    <noscript>
        <div><img src="https://mc.yandex.ru/watch/15897442?ut=noindex" style="position:absolute; left:-9999px;" alt="" /></div>
    </noscript><!-- /Yandex.Metrika counter -->
</body>

</html>

Пробовал удалять компонент. Также пробовал вернуться на предыдущие версии 3.14.1 и 3.14.0. Результатов не дает :(

Верися ХА: 2024.4.3

AlexxIT commented 2 months ago

386