HA 2024.12 - Python mise à jour non effectif (3.12 au lieu de 3.13)

Bonjour à vous noble peuple ^^

Le titre à tout dit! je suis en version python 3.12 au lieu de 3.13 et je vois des erreurs dans les logs avec pyth3.13 donc je présume que c’est un souci.

Aussi mon feedparser ne récupère plus aucune info du web…

Help quelqu’un? :wink:

Mon problème

Renseigner votre problème

Ma configuration


Texte à remplacer par votre configuration

Comment récupérer ma configuration :
Dans votre HA, Menu latéral Paramètres > Système > Corrections puis les trois petits points en haut a droite > Informations Système puis une fois en bas Copier


Salut

Dommage de ne pas préciser ton installation,le contexte et le message d’erreur…
HA est disponible sous forme de containers en général, donc tu n’as pas la main sur la version de python qui est embarqué.
Donc tu n’es pas dans ce cas là si on comprend bien ton message… Mais alors dans lequel ??
Quant au feedpaser, c’est pareil, sans un minimum d’info difficile de réagir ou de taider

Excuse moi, ca m’est sortie de la tête, je viens juste de reprendre en main mon HA.

J’ai un Pi5

J’étais sur un PI3 mais la raspberry n’arrivait plus du tout à suivre, je restais freeze dans le chargement du supervisor et je devais m’amuser à écrire (quand possible) dans le CLI « banner » un nombre incalculable de fois pour esperer pouvoir acceder à HA en local.
J’ai donc installer sur une SD de 256go HA avec le raspberry pi imager.
J’ai ensuite restauré un snapshot total, j’ai pu faire mes mises à jours pépère.

Pour feedparser, la dernière MAJ précise justement qu’elle est la pour acceuillir Python 3.13 par exemple - Et simple, il ne récupère AUCUNE data (j’utilise politepol)

Voici une erreur du code (qui n’est pas de feedparser ici)

Détails du journal (ERREUR)
Enregistreur: homeassistant.components.websocket_api.http.connection
Source: components/websocket_api/commands.py:245
intégration: Home Assistant WebSocket API (documentation, problèmes)
S'est produit pour la première fois: 1 janvier 2025 à 23:59:36 (2 occurrences)
Dernier enregistrement: 1 janvier 2025 à 23:59:41

[547619529504] Exception inattendue
Traceback (dernier appel le plus récent) :
  Fichier "/usr/src/homeassistant/homeassistant/helpers/template.py", ligne 631, dans async_render
    render_result = _render_with_context(self.template, compilé, **kwargs)
  Fichier "/usr/src/homeassistant/homeassistant/helpers/template.py", ligne 2733, dans _render_with_context
    retourner le modèle.render(**kwargs)
           ~~~~~~~~~~~~~~~~^^^^^^^^^^
  Fichier "/usr/local/lib/python3.13/site-packages/jinja2/environment.py", ligne 1304, dans le rendu
    self.environment.handle_exception()
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^
  Fichier "/usr/local/lib/python3.13/site-packages/jinja2/environment.py", ligne 939, dans handle_exception
    augmenter rewrite_traceback_stack(source=source)
  Fichier « <template> », ligne 1, dans le code du modèle de niveau supérieur
  Fichier "/usr/local/lib/python3.13/site-packages/jinja2/sandbox.py", ligne 327, dans getattr
    valeur = getattr(obj, attribut)
  Fichier "/usr/src/homeassistant/homeassistant/helpers/template.py", ligne 2765, dans _fail_with_undefined_error
    renvoie super()._fail_with_undefined_error(*args, **kwargs)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^ ^
jinja2.exceptions.UndefinedError : None n'a aucun élément 0

L’exception ci-dessus était la cause directe de l’exception suivante :

Traceback (dernier appel le plus récent) :
  Fichier "/usr/src/homeassistant/homeassistant/helpers/service.py", ligne 414, dans async_prepare_call_from_config
    rendu = modèle.render_complex(config[conf], variables)
  Fichier "/usr/src/homeassistant/homeassistant/helpers/template.py", ligne 248, dans render_complex
    render_complex(clé, variables, limité, résultat_analyse) : render_complex(
                                                           ~~~~~~~~~~~~~~~^
        élément, variables, limité, parse_result
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  Fichier "/usr/src/homeassistant/homeassistant/helpers/template.py", ligne 254, dans render_complex
    valeur de retour.async_render(variables, limited=limited, parse_result=parse_result)
           ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^
  Fichier "/usr/src/homeassistant/homeassistant/helpers/template.py", ligne 633, dans async_render
    générer TemplateError(err) à partir d'err
homeassistant.exceptions.TemplateError : UndefinedError : None n'a aucun élément 0

L’exception ci-dessus était la cause directe de l’exception suivante :

Traceback (dernier appel le plus récent) :
  Fichier "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", ligne 245, dans handle_call_service
    réponse = attendre hass.services.async_call(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<7 lignes>...
    )
    ^
  Fichier "/usr/src/homeassistant/homeassistant/core.py", ligne 2802, dans async_call
    response_data = attendre coro
                    ^^^^^^^^^^
  Fichier "/usr/src/homeassistant/homeassistant/core.py", ligne 2845, dans _execute_service
    retour en attente de la cible (appel_service)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  Fichier "/usr/src/homeassistant/homeassistant/components/script/__init__.py", ligne 718, dans _service_handler
    réponse = attendre self._async_start_run(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        variables=service.data, contexte=service.context, wait=True
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^
    )
    ^
  Fichier "/usr/src/homeassistant/homeassistant/components/script/__init__.py", ligne 674, dans _async_start_run
    script_result = attendre coro
                    ^^^^^^^^^^
  Fichier "/usr/src/homeassistant/homeassistant/components/script/__init__.py", ligne 707, dans _async_run
    retour en attente de self.script.async_run(script_vars, contexte)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  Fichier "/usr/src/homeassistant/homeassistant/helpers/script.py", ligne 1801, dans async_run
    retour attendre asyncio.shield(create_eager_task(run.async_run()))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 464, in async_run
    await self._async_step(log_exceptions=False)
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 528, in _async_step
    self._handle_exception(
    ~~~~~~~~~~~~~~~~~~~~~~^
        ex, continue_on_error, self._log_exceptions or log_exceptions
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 558, in _handle_exception
    raise exception
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 526, in _async_step
    await getattr(self, handler)()
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 735, in _async_call_service_step
    params = service.async_prepare_call_from_config(
        self._hass, self._action, self._variables
    )
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 421, in async_prepare_call_from_config
    raise HomeAssistantError(f"Error rendering data template: {ex}") from ex
homeassistant.exceptions.HomeAssistantError: Error rendering data template: UndefinedError: None has no element 0

Merci de ton aide

Bon, c’est un peu plus clair mais pas totalement.
Snapshot = backup complet de HA avec la fonction dédié de HA ou truc à toi ?
Bref, comme évoqué la version de python est embarqué dans tranparent pour toi en principe, et les addons/intégrations sont normalement à jour pour intégrer les changements

Là, le seul truc qu’effectivement on puisse dire, c’est que le contenu d’un tableau est vide.
Maintenant, il faut vérifier si les changements ne sont pas aussi liés à autre chose qu’une mise à jour HA (une variation de la structure des données, un auth sur le service RSS etc)
N’utilisant pas politepol (et n’ayant même pas trouvé cette ref pour HA), je suis un peu sec sur le sujet

Coucou, luke

alors problème résolu, erreur par erreur et en cherchant bien tout semble dans l’ordre désormais.

Tu sembles avoir raison sur le fait que PYTHON 3.12 est tout à fait légit dans mon cas. Surement des packages qui sont déjà prévu pour 3.13? bref tout roule.

Pour le FeedParser, le souci était un souci d’indentation… étange car je n’ai rien touché au config.YAML et tout fonctionnait avant, mais en gros, la première ligne de config était plus proche que les suivantes ce qui faisait tout planter :wink:

Voila! Merci l’ami!

1 « J'aime »