Hello,
Tu dois être dans le même cas que beaucoup de personnes : ton enfant n’a qu’une note pour le trimestre 2, ce qui fait que seule cette note apparaît.
J’étudie les pistes pour pouvoir remonter les notes de tous les trimestres.
Hello,
Tu dois être dans le même cas que beaucoup de personnes : ton enfant n’a qu’une note pour le trimestre 2, ce qui fait que seule cette note apparaît.
J’étudie les pistes pour pouvoir remonter les notes de tous les trimestres.
Cette partie là est un peu plus compliquée que prévue, j’avais déjà un peu regarder, ça ne sera pas si simple que ça (même si ce n’est pas un non catégorique)
Salut,J’ai une erreur dans les logs
File "/config/custom_components/pronote/sensor.py", line 187, in extra_state_attributes
lunch_break_time = datetime.strptime(
~~~~~~~~~~~~~~~~~^
self.coordinator.config_entry.options.get(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
"%H:%M",
^^^^^^^^
).time()
^
File "/usr/local/lib/python3.13/_strptime.py", line 573, in _strptime_datetime
tt, fraction, gmtoff_fraction = _strptime(data_string, format)
~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/_strptime.py", line 352, in _strptime
raise ValueError("time data %r does not match format %r" %
(data_string, format))
ValueError: time data '11h30' does not match format '%H:%M'
Le format de l’heure que tu as dû configurer pour l’heure du repas n’est pas bonne, tu as mis 11h30
, alors qu’il faut mettre 11:30
Après vérification, c’est en effet la réponse. Début de trimestre, c’est ok. C’est donc pas un problème de remontée d’info. Merci
Bonjour
Quand j’ajoute une card, je n’ai pas les labels des options, ce n’est pas très pratique pour configurer tout ça
Il y a une astuce pour les avoir ?
Dans le code source le label est vide
Merci pour votre aide
J’ai déjà eu ce souci effectivement, mais un refresh a suffit pour les faire ré-apparaitre
Ah ben oui, ça fonctionne.
J’avais pourtant essayé sur un autre navigateur en mode privé mais sans succès
Désolé pour le dérangement !
Pas de souci, il doit quand même y avoir un petit bug quelque part, mais je ne sais pas si ça vient des cartes ou de HA
Hello !
Je viens de publier une version bêta, la version 1.16.0-dev, concernant des potentiels correctifs pour les fuites mémoire.
J’ai besoin de testeurs pour avoir des retours sur cette version.
Chez moi la baisse de consommation est notable, mais vu que ça tombe également pendant les vacances, possible que ça joue également…
J’installe cette beta de suite !!!
Salut, comment tu vois les fuites de mémoires?
Histoire que je compare.
Tu peux installer l’intégration System Monitor
Bonjour
j’ai un soucis de connexion à Pronote depuis l’intégration depuis quelques jours.
j’ai tenté avec le QRcode et avec l’url
ent = hdf
url= https://pronote_0601799e.apps-etab.ac-amiens.fr/ et https://pronote_0601799e.apps-etab.ac-amiens.fr/parent.html? testé
voici les logs de ha avec test depuis le QRcode
il semble y avoir un problème de certificat.
est ce que quelqu’un aurait le même souci ?
ps: je me connecte correctement à pronote hors HA
merci d’avance
Enregistreur: aiohttp.server
Source: /usr/local/lib/python3.13/site-packages/aiohttp/web_protocol.py:451
S'est produit pour la première fois: 09:03:30 (2 occurrences)
Dernier enregistrement: 09:38:47
Error handling request
Traceback (most recent call last):
File "/usr/local/lib/python3.13/site-packages/urllib3/connectionpool.py", line 716, in urlopen
httplib_response = self._make_request(
conn,
...<5 lines>...
chunked=chunked,
)
File "/usr/local/lib/python3.13/site-packages/urllib3/connectionpool.py", line 404, in _make_request
self._validate_conn(conn)
~~~~~~~~~~~~~~~~~~~^^^^^^
File "/usr/local/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1061, in _validate_conn
conn.connect()
~~~~~~~~~~~~^^
File "/usr/local/lib/python3.13/site-packages/urllib3/connection.py", line 419, in connect
self.sock = ssl_wrap_socket(
~~~~~~~~~~~~~~~^
sock=conn,
^^^^^^^^^^
...<8 lines>...
tls_in_tls=tls_in_tls,
^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/local/lib/python3.13/site-packages/urllib3/util/ssl_.py", line 458, in ssl_wrap_socket
ssl_sock = _ssl_wrap_socket_impl(
sock, context, tls_in_tls, server_hostname=server_hostname
)
File "/usr/local/lib/python3.13/site-packages/urllib3/util/ssl_.py", line 502, in _ssl_wrap_socket_impl
return ssl_context.wrap_socket(sock, server_hostname=server_hostname)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/ssl.py", line 455, in wrap_socket
return self.sslsocket_class._create(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
sock=sock,
^^^^^^^^^^
...<5 lines>...
session=session
^^^^^^^^^^^^^^^
)
^
File "/usr/local/lib/python3.13/ssl.py", line 1076, in _create
self.do_handshake()
~~~~~~~~~~~~~~~~~^^
File "/usr/local/lib/python3.13/ssl.py", line 1372, in do_handshake
self._sslobj.do_handshake()
~~~~~~~~~~~~~~~~~~~~~~~~~^^
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1020)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.13/site-packages/requests/adapters.py", line 667, in send
resp = conn.urlopen(
method=request.method,
...<9 lines>...
chunked=chunked,
)
File "/usr/local/lib/python3.13/site-packages/urllib3/connectionpool.py", line 802, in urlopen
retries = retries.increment(
method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2]
)
File "/usr/local/lib/python3.13/site-packages/urllib3/util/retry.py", line 594, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='pronote_0601799e.apps-etab.ac-amiens.fr', port=443): Max retries exceeded with url: /mobile.parent.html?fd=1&bydlg=A6ABB224-12DD-4E31-AD3E-8A39A1C2C335&login=true (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1020)')))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.13/site-packages/aiohttp/web_protocol.py", line 480, in _handle_request
resp = await request_handler(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/aiohttp/web_app.py", line 569, in _handle
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/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 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 86, 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 367, in async_configure
result = await self._async_configure(flow_id, user_input)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 414, in _async_configure
result = await self._async_handle_step(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
flow, cur_step["step_id"], user_input
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 517, in _async_handle_step
result: _FlowResultT = await getattr(flow, method)(user_input)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/pronote/config_flow.py", line 159, 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.13/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/pronote/pronote_helper.py", line 82, in get_client_from_qr_code
client = (pronotepy.ParentClient if data['account_type'] == 'parent' else pronotepy.Client).qrcode_login(
qr_code=qr_code_json,
...<4 lines>...
device_name=data.get('device_name', None)
)
File "/usr/local/lib/python3.13/site-packages/pronotepy/clients.py", line 216, in qrcode_login
client = cls(
urlunparse(fixed_url),
...<6 lines>...
device_name=device_name,
)
File "/usr/local/lib/python3.13/site-packages/pronotepy/clients.py", line 987, in __init__
super().__init__(
~~~~~~~~~~~~~~~~^
pronote_url,
^^^^^^^^^^^^
...<7 lines>...
device_name,
^^^^^^^^^^^^
)
^
File "/usr/local/lib/python3.13/site-packages/pronotepy/clients.py", line 121, in __init__
self.attributes, self.func_options = self.communication.initialise(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
self.client_identifier
^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/local/lib/python3.13/site-packages/pronotepy/pronoteAPI.py", line 69, in initialise
get_response = self.session.request(
"GET",
f"{self.root_site}/{self.html_page}",
cookies=self.cookies,
)
File "/usr/local/lib/python3.13/site-packages/requests/sessions.py", line 589, in request
resp = self.send(prep, **send_kwargs)
File "/usr/local/lib/python3.13/site-packages/requests/sessions.py", line 703, in send
r = adapter.send(request, **kwargs)
File "/usr/local/lib/python3.13/site-packages/requests/adapters.py", line 698, in send
raise SSLError(e, request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host='pronote_0601799e.apps-etab.ac-amiens.fr', port=443): Max retries exceeded with url: /mobile.parent.html?fd=1&bydlg=A6ABB224-12DD-4E31-AD3E-8A39A1C2C335&login=true (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1020)')))
Bonjour,
Depuis quelques jours, j’ai les comptes qui sautent, et le seul moyen est de remettre le QR Code.
Voici l’erreur dans l’intégration : Failed setup, will retry: (‹ Decryption failed while trying to un pad. (probably bad decryption key/iv) ›, ‹ exception happened during login → probably bad username/password/ ›)
Et voici le log :
This error originated from a custom integration.
Logger: custom_components.pronote.coordinator
Source: helpers/update_coordinator.py:379
integration: Pronote (documentation, issues)
First occurred: 9:14:02 AM (6 occurrences)
Last logged: 9:14:21 AM
Unexpected error fetching ******* Mary (via compte parent) data
Unexpected error fetching ******* Tom (via compte parent) data
Traceback (most recent call last):
File "/usr/local/lib/python3.13/site-packages/pronotepy/pronoteAPI.py", line 325, in aes_decrypt
return Padding.unpad(cipher.decrypt(data), 16)
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/Crypto/Util/Padding.py", line 92, in unpad
raise ValueError("Padding is incorrect.")
ValueError: Padding is incorrect.
During handling of the above exception, another exception occurred:
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 "/config/custom_components/pronote/coordinator.py", line 113, in _async_update_data
client = await self.hass.async_add_executor_job(get_pronote_client, config_data)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
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/pronote/pronote_helper.py", line 40, in get_pronote_client
return get_client_from_qr_code(data)
File "/config/custom_components/pronote/pronote_helper.py", line 129, in get_client_from_qr_code
).token_login(
~~~~~~~~~~~^
pronote_url=qr_code_url,
^^^^^^^^^^^^^^^^^^^^^^^^
...<5 lines>...
client_identifier=qr_code_client_identifier,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/local/lib/python3.13/site-packages/pronotepy/clients.py", line 268, in token_login
return cls(
pronote_url,
...<6 lines>...
device_name=device_name,
)
File "/usr/local/lib/python3.13/site-packages/pronotepy/clients.py", line 987, in __init__
super().__init__(
~~~~~~~~~~~~~~~~^
pronote_url,
^^^^^^^^^^^^
...<7 lines>...
device_name,
^^^^^^^^^^^^
)
^
File "/usr/local/lib/python3.13/site-packages/pronotepy/clients.py", line 151, in __init__
self.logged_in = self._login()
~~~~~~~~~~~^^
File "/usr/local/lib/python3.13/site-packages/pronotepy/clients.py", line 333, in _login
dec = e.aes_decrypt(bytes.fromhex(challenge))
File "/usr/local/lib/python3.13/site-packages/pronotepy/pronoteAPI.py", line 327, in aes_decrypt
raise CryptoError(
"Decryption failed while trying to un pad. (probably bad decryption key/iv)"
)
pronotepy.exceptions.CryptoError: ('Decryption failed while trying to un pad. (probably bad decryption key/iv)', 'exception happened during login -> probably bad username/password')
Je précise que le login et le mot de passe est bon car si je refais le process d’initialisation, tout est ok
Merci
Hello, ca me fait pareil depuis la rentrée de septembre. C’est vrai que c’est chiant car obligé de passer par le pc pour remettre le QRCode… Au début des vacances, j’ai reconfigurer le compte en passant par mot de passe (le seul avantage est qu’il n’y a pas besoin du pc pour le qrCode). Pour le moment ça n’a pas sauté mais je pense pas qu’il y ait un lien
Je n’arrive plus à configurer le compte en utilisant le mot de passe et je ne sais pas pourquoi. J’ai mis le bon ENT (monbureaunumerique) la bonne URL (je présume), je suis également sur de mes identifiants.
Si quelqu’un a une idée, je la prends volontiers !
Est-ce le site est bien disponible ? Il était en rade chez moi cette semaine
Ouais il est up, j’y ai accès depuis le PC
Voici ce que donne le log :
2025-01-01 16:24:06.998 DEBUG (SyncWorker_7) [pronotepy.ent.generic_func] [ENT https://cas.monbureaunumerique.fr/login?selection=EDU&service=https://example.com/] Logging in with xxxxxxxxxxxx
2025-01-01 16:24:07.113 CRITICAL (SyncWorker_7) [custom_components.pronote.pronote_helper] Connection failure
le service=https://example.com/ me paraît étrange…