delphiki / hass-pronote

Pronote integration for Home Assistant
64 stars 11 forks source link

Unable to recreate connection after 1.15.0 update #89

Closed Herbs851 closed 2 weeks ago

Herbs851 commented 2 weeks ago

Hi,

After 1.15 update, i had to recreate connection.

But when I enter the “qrcode” and the pin code I get this error :

(I thought, perhaps wrongly, that we didn't need a “device_name” and an “account_pin”.)

image

And I have this in the logs :

2024-11-06 18:40:22.075 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
File "/usr/local/lib/python3.12/site-packages/aiohttp/web_protocol.py", line 477, in _handle_request
resp = await request_handler(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/aiohttp/web_app.py", line 559, in _handle
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/aiohttp/web_middlewares.py", line 117, 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 210, 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 85, in ban_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 242, 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 81, 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 74, in wrapper
return 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 370, in async_configure
result = await self._async_configure(flow_id, user_input)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 417, in _async_configure
result = await self._async_handle_step(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 520, in _async_handle_step
result: _FlowResultT = await getattr(flow, method)(user_input)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/pronote/config_flow.py", line 138, in async_step_qr_code_login
client = await self.hass.async_add_executor_job(get_client_from_qr_code, user_input)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
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/pronote/pronote_helper.py", line 61, in get_client_from_qr_code
client = (pronotepy.ParentClient if data['account_type'] == 'parent' else pronotepy.Client).qrcode_login(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: ClientBase.qrcode_login() got an unexpected keyword argument 'account_pin'

Rollback to 1.14.4 fix the issue.

gg3nx commented 2 weeks ago

Problème similaire sur token_login : image

GaPhi commented 2 weeks ago

C'est pourtant bien présent depuis v2.14.0 suite au commit https://github.com/bain3/pronotepy/commit/26113a9fedcaf868d6198d807a8ed018d699ea57

Donc problème de mise à jour de vos librairies pronotepy semble-t-il...

Herbs851 commented 2 weeks ago

Salut @GaPhi

Donc tu suggères quoi ?

Suppression de l'intégration, suppression côté HACS, restart de HA, nouvelle install et ça devrait le faire ?

Si oui je crois bien l'avoir tenté hier soir, mais je peux réessayer ce soir ;)

gg3nx commented 2 weeks ago

J'ai refait l'installation de pronotepy, redémarré et maintenant c'est bon. :thinking:

Herbs851 commented 2 weeks ago

Bon j'ai tenté l'option @gg3nx sans succès.

Par contre je vois ça sur mon fs :

image

Si je déplace le dossier pronote et le fichier pronotepy-2.14.1.dist-info se trouvant directement dans /config/deps pour les mettre dans /config/deps/lib/python3.12/site-packages/ ça fonctionne.

@gg3nx tu saurais me donner le contenu de ton /config/deps stp ?

@GaPhi est ce que cela te semble "normal" ou j'ai un bug dans mon install ?

GaPhi commented 2 weeks ago

Désolé je ne suis pas expert, c'est la première fois que je je faisais du python en 40 ans de développement informatique...

Le jeu. 7 nov. 2024, 23:15, Herbs851 @.***> a écrit :

Bon j'ai tenté l'option @gg3nx https://github.com/gg3nx sans succès.

Par contre je vois ça sur mon fs :

image.png (view on web) https://github.com/user-attachments/assets/c585202f-9693-48e1-8553-a721d4bb67e2

Si je déplace le dossier pronote et le fichier pronotepy-2.14.1.dist-info se trouvant directement dans /config/deps pour les mettre dans /config/deps/lib/python3.12/site-packages/ ça fonctionne.

@gg3nx https://github.com/gg3nx tu saurais me donner le contenu de ton /config/deps stp ?

@GaPhi https://github.com/GaPhi est ce que cela te semble "normal" ou j'ai un bug dans mon install ?

— Reply to this email directly, view it on GitHub https://github.com/delphiki/hass-pronote/issues/89#issuecomment-2463337902, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADUNWNMXT236GZS2IOS7GBDZ7PRBNAVCNFSM6AAAAABRJMM7RCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINRTGMZTOOJQGI . You are receiving this because you were mentioned.Message ID: @.***>

Herbs851 commented 2 weeks ago

Ok pas de problème, en tout cas merci d'avoir pris le temps de répondre.

Peut-être que @delphiki saura nous dire.

delphiki commented 2 weeks ago

Hello,

C'est étonnant comme souci en effet. Normalement les dépendances de l'intégration sont installées au redémarrage de HA, donc ça aurait dû te mettre à jour vers la dernière version de pronotepy (2.14.1) après ton redémarrage...

Quelle version de HA as-tu ? et quel mode d'installation (OS, docker, ...) ?

Herbs851 commented 2 weeks ago

Salut,

Quelle version de HA as-tu ? et quel mode d'installation (OS, docker, ...) ?

Sur la machine de prod (où j'ai eu le problème en premier) en 2024.10.4, la machine de test est elle en 2024.11.0, HACS en 2.0.1 (sur les deux).

Les 2 deux instances sont installées en container (podman).

gg3nx commented 2 weeks ago

Si je déplace le dossier pronote et le fichier pronotepy-2.14.1.dist-info se trouvant directement dans /config/deps pour les mettre dans /config/deps/lib/python3.12/site-packages/ ça fonctionne.

@gg3nx tu saurais me donner le contenu de ton /config/deps stp ?

C'était pareil chez moi, la nouvelle version était installée dans /config/deps.

Après un pip install --target /config/deps/lib/python3.12/site-packages --upgrade --no-deps pronotepy==2.14.1 et un redémarrage c'était bon.

Herbs851 commented 2 weeks ago

merci pour les infos ;)

C'était pareil chez moi, la nouvelle version était installée dans /config/deps.

Intéressant, tu tournes sur quoi comme type d'install (haos, docker, venv) ?

gg3nx commented 2 weeks ago

Sur la machine de prod (où j'ai eu le problème en premier) en 2024.10.4, la machine de test est elle en 2024.11.0, HACS en 2.0.1 (sur les deux).

Version 2024.10.4 et HACS 2.0.1

Les 2 deux instances sont installées en container (podman).

Installation en container (homeassistant/home-assistant:2024.10.4) sur Kubernetes

Herbs851 commented 2 weeks ago

je viens de trouver ça sur le forum international :

https://community.home-assistant.io/t/requirements-of-custom-integrations-not-available/788289

J'ai fait des tests aujourd'hui, 1 container docker vierge, 1 container podman vierge aussi.

Zéro problème avec le docker, par contre j'ai eu le même problème avec le podman.

Herbs851 commented 2 weeks ago

Bon avec cet issue

https://github.com/home-assistant/core/issues/127966

Je crois que c'est clair, ça n'a rien à voir l'intégration pronote.

Je clos cette issue.