Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Интеграция перестала работать после обновления блоков #22

Open
Ot4eVash opened this issue Oct 15, 2024 · 12 comments

Comments

@Ot4eVash
Copy link

15.10 два блока AS25S2SF2FA обновились через EVO на 1.4.8. Сама EVO тоже обновилась.
Интеграция перестала работать.

EVO

@JampireX
Copy link

JampireX commented Oct 16, 2024

hsu_07hrm203_r3_in, проблема та же. ошибка из лога ниже

Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 594, in async_setup
result = await component.async_setup_entry(hass, self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/haier_evo/init.py", line 24, in async_setup_entry
await hass.async_add_executor_job(
File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/haier_evo/api.py", line 144, in pull_data
if len(devices) > 0:
^^^^^^^
UnboundLocalError: cannot access local variable 'devices' where it is not associated with a value

@JampireX
Copy link

if len(devices) > 0:

@JampireX
Copy link

Сейчас интеграция заработала. Судя по всему временные проблемы на сервере API могли быть.

@Ot4eVash
Copy link
Author

Подтверждаю. Всё заработало!

@Ot4eVash Ot4eVash reopened this Oct 27, 2024
@Ot4eVash
Copy link
Author

Возобновляю проблему! Интеграция отваливается на 12 часов каждый день.

@JampireX
Copy link

Возобновляю проблему! Интеграция отваливается на 12 часов каждый день.

Тоже обратил внимание на это. Немного покопал - интеграция в какой-то момент пытаясь авторизоваться получает от сервера 429 ошибку (too many requests). Как столкнусь еще раз - приложу подробную ошибку из лога.

Возможно раньше сервер позволял чаще проводить авторизацию, а теперь лимит был снижен.

При этом родное приложение не отваливается, предполагаю оно гораздо реже обновляет токен и не лезет на сервер так часто как пытается это делать интеграция.

@Ot4eVash
Copy link
Author

Возобновляю проблему! Интеграция отваливается на 12 часов каждый день.

Тоже обратил внимание на это. Немного покопал - интеграция в какой-то момент пытаясь авторизоваться получает от сервера 429 ошибку (too many requests). Как столкнусь еще раз - приложу подробную ошибку из лога.

Возможно раньше сервер позволял чаще проводить авторизацию, а теперь лимит был снижен.

При этом родное приложение не отваливается, предполагаю оно гораздо реже обновляет токен и не лезет на сервер так часто как пытается это делать интеграция.

Подтверждаю ошибку 429. Кстати, умный дом яндекса тоже не отваливается. Но он тоже очень редко обновляет токен.

@JampireX
Copy link

Возобновляю проблему! Интеграция отваливается на 12 часов каждый день.

Тоже обратил внимание на это. Немного покопал - интеграция в какой-то момент пытаясь авторизоваться получает от сервера 429 ошибку (too many requests). Как столкнусь еще раз - приложу подробную ошибку из лога.
Возможно раньше сервер позволял чаще проводить авторизацию, а теперь лимит был снижен.
При этом родное приложение не отваливается, предполагаю оно гораздо реже обновляет токен и не лезет на сервер так часто как пытается это делать интеграция.

Подтверждаю ошибку 429. Кстати, умный дом яндекса тоже не отваливается. Но он тоже очень редко обновляет токен.

Судя по тому что я вижу в коде интеграции - она вполне себе нормально смотрит на срок истечения токена. Подозреваю дело в том, что мы в альтернативу интеграции начали использовать родное приложение и ему ведь тоже токен обновлять приходится - таким образом с одной сети двумя источниками мы и превышаем количество допустимых запросов и одно из приложений отваливается.

@Ot4eVash
Copy link
Author

Возобновляю проблему! Интеграция отваливается на 12 часов каждый день.

Тоже обратил внимание на это. Немного покопал - интеграция в какой-то момент пытаясь авторизоваться получает от сервера 429 ошибку (too many requests). Как столкнусь еще раз - приложу подробную ошибку из лога.
Возможно раньше сервер позволял чаще проводить авторизацию, а теперь лимит был снижен.
При этом родное приложение не отваливается, предполагаю оно гораздо реже обновляет токен и не лезет на сервер так часто как пытается это делать интеграция.

Подтверждаю ошибку 429. Кстати, умный дом яндекса тоже не отваливается. Но он тоже очень редко обновляет токен.

Судя по тому что я вижу в коде интеграции - она вполне себе нормально смотрит на срок истечения токена. Подозреваю дело в том, что мы в альтернативу интеграции начали использовать родное приложение и ему ведь тоже токен обновлять приходится - таким образом с одной сети двумя источниками мы и превышаем количество допустимых запросов и одно из приложений отваливается.

Увы, но интеграция имеет очень ограниченный функционал и без родного приложения не обойтись.

@JampireX
Copy link

Возобновляю проблему! Интеграция отваливается на 12 часов каждый день.

Тоже обратил внимание на это. Немного покопал - интеграция в какой-то момент пытаясь авторизоваться получает от сервера 429 ошибку (too many requests). Как столкнусь еще раз - приложу подробную ошибку из лога.
Возможно раньше сервер позволял чаще проводить авторизацию, а теперь лимит был снижен.
При этом родное приложение не отваливается, предполагаю оно гораздо реже обновляет токен и не лезет на сервер так часто как пытается это делать интеграция.

Подтверждаю ошибку 429. Кстати, умный дом яндекса тоже не отваливается. Но он тоже очень редко обновляет токен.

Судя по тому что я вижу в коде интеграции - она вполне себе нормально смотрит на срок истечения токена. Подозреваю дело в том, что мы в альтернативу интеграции начали использовать родное приложение и ему ведь тоже токен обновлять приходится - таким образом с одной сети двумя источниками мы и превышаем количество допустимых запросов и одно из приложений отваливается.

Увы, но интеграция имеет очень ограниченный функционал и без родного приложения не обойтись.

С этим согласен. В интеграции отсутствуют режимы турбо и тишины в моем случае. Но похоже проблема в данном контексте не решаемая, если только не реализовать возможность интеграции ходить через прокси, тем самым иметь отдельную квоту запросов к серверу.

@Ot4eVash
Copy link
Author

Возобновляю проблему! Интеграция отваливается на 12 часов каждый день.

Тоже обратил внимание на это. Немного покопал - интеграция в какой-то момент пытаясь авторизоваться получает от сервера 429 ошибку (too many requests). Как столкнусь еще раз - приложу подробную ошибку из лога.
Возможно раньше сервер позволял чаще проводить авторизацию, а теперь лимит был снижен.
При этом родное приложение не отваливается, предполагаю оно гораздо реже обновляет токен и не лезет на сервер так часто как пытается это делать интеграция.

Подтверждаю ошибку 429. Кстати, умный дом яндекса тоже не отваливается. Но он тоже очень редко обновляет токен.

Судя по тому что я вижу в коде интеграции - она вполне себе нормально смотрит на срок истечения токена. Подозреваю дело в том, что мы в альтернативу интеграции начали использовать родное приложение и ему ведь тоже токен обновлять приходится - таким образом с одной сети двумя источниками мы и превышаем количество допустимых запросов и одно из приложений отваливается.

Увы, но интеграция имеет очень ограниченный функционал и без родного приложения не обойтись.

С этим согласен. В интеграции отсутствуют режимы турбо и тишины в моем случае. Но похоже проблема в данном контексте не решаемая, если только не реализовать возможность интеграции ходить через прокси, тем самым иметь отдельную квоту запросов к серверу.

Не знаю, на сколько правдиво и актуально, но наткнулся на такую статью:
https://www.linux.org.ru/news/opensource/17493319

Если так, то политика Haier - "Сами не сделаем и вам не дадим"

@TohaRG2
Copy link

TohaRG2 commented Dec 2, 2024

Регулярно отваливается при перезагрузке, если с момента последней перезагрузки интеграции прошло меньше недели. Соответственно по 429 ошибке (слишком частые обновления).

2024-12-02 22:56:52.453 DEBUG (MainThread) [custom_components.haier_evo] Integration version: 0.3.0
2024-12-02 22:56:52.454 DEBUG (SyncWorker_16) [custom_components.haier_evo.api] Refresh token expired or empty
2024-12-02 22:56:52.455 DEBUG (SyncWorker_16) [custom_components.haier_evo.api] Logging in to https://evo.haieronline.ru/v1/users/auth/sign-in with email avхххххх@yandex.ru
2024-12-02 22:56:52.560 DEBUG (SyncWorker_16) [custom_components.haier_evo.api] Login (avхххххх@yandex.ru) status code: 429
2024-12-02 22:56:52.560 ERROR (SyncWorker_16) [custom_components.haier_evo.api] Failed to login/refresh token for email avхххххх@yandex.ru, response was: <Response [429]>
2024-12-02 22:56:52.561 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry avхххххх@yandex.ru for haier_evo

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants