delphiki / hass-pronote

Pronote integration for Home Assistant
58 stars 9 forks source link

Integration crashes when every class next day is canceled #52

Closed Tandonnet closed 10 months ago

Tandonnet commented 10 months ago

The whole class is marked absent the next day, so the next alarm sensor cannot initialize and the whole integration fails. Reverting back to 0.12.1 fixes the issue.

Torp1lle commented 10 months ago

Maybe something similar in my situation : Pour plus de précisions. J'ai deux enfants, Louison et Pénélope. Donc pour Louison pas de problème mais depuis ce matin plus de Pénélope. Impossible de refaire la config. La seule différence notable entre hier et aujourd'hui c'est dans l'agenda de Pénélope. Elle a une sortie de classe toute la journée. Ce n'est pas répertorié comme une matière. J'ai bien l'impression que c'est ça l'erreur, donc mon problème est lié avec ce bug. ça bloque sur 'echec de la configuration' si le lendemain n'a pas de matière ou autre truc anormal. Je remettrais une 13.2 demain pour voir si ça remarche, mais pour l'instant je confirme que le bug ne se produit pas en 12.1.

tdelaux commented 10 months ago

Bonjour, je pense que c'est la trace liée au problème. Ma fille a tous les cours de la semaine annulés car elle est en stage.

Logger: custom_components.pronote.coordinator
Source: helpers/update_coordinator.py:290
Integration: Pronote ([documentation](https://github.com/delphiki/hass-pronote), [issues](https://github.com/delphiki/hass-pronote/issues))
First occurred: 6 novembre 2023 à 16:45:34 (628 occurrences)
Last logged: 06:47:52

Unexpected error fetching XXX Sophie (via compte parent) data: unsupported operand type(s) for -: 'NoneType' and 'datetime.timedelta'
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 290, in _async_refresh
    self.data = await self._async_update_data()
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/pronote/coordinator.py", line 183, in _async_update_data
    next_day_alarm = get_day_start_at(self.data['lessons_next_day']) - timedelta(minutes=alarm_offset)
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TypeError: unsupported operand type(s) for -: 'NoneType' and 'datetime.timedelta'
Tandonnet commented 10 months ago

@tdelaux Idem pour moi, même problème et même erreur

delphiki commented 10 months ago

Ok, je vois d'où vient l'erreur, j'essaye de faire un fix asap!

delphiki commented 10 months ago

Le bug devrait être corrigé avec la version 0.13.4 :+1:

Tandonnet commented 10 months ago

Effectivement, problème réglé !