After 2025.03.0, Evohome Raises IndexError When Fetching Schedule Data

by ADMIN 71 views

After 2025.03.0, evohome raises IndexError when fetching schedule data

The Problem

After the recent update to Home Assistant Core 2025.3.2, users have reported an issue with the Evohome integration, where it raises an IndexError when trying to fetch schedule data. This issue has been observed after the March release, and it seems to be affecting users running Home Assistant OS.

What Version of Home Assistant Core Has the Issue?

The issue is reported to occur on Home Assistant Core version 2025.3.2.

What Was the Last Working Version of Home Assistant Core?

Unfortunately, there is no information available on the last working version of Home Assistant Core.

What Type of Installation Are You Running?

The user is running Home Assistant OS.

Integration Causing the Issue

The Evohome integration is causing the issue.

Link to Integration Documentation on Our Website

For more information on the Evohome integration, please refer to the official documentation on our website: https://www.home-assistant.io/integrations/evohome/

Diagnostics Information

Unfortunately, there is no additional diagnostics information available.

Example YAML Snippet

Anything in the Logs That Might Be Useful for Us?

The logs show the following error message:

2025-03-13 11:56:09.872 DEBUG (MainThread) [evohome.auth] GET https://tccna.resideo.com/WebAPI/emea/api/v1/temperatureZone/x/schedule: {'dailySchedules': [{'dayOfWeek': 'Monday', 'switchpoints': [{'heatSetpoint': 21.0, 'timeOfDay': '06:00:00'}, {'heatSetpoint': 15.0, 'timeOfDay': '10:30:00'}]}, {'dayOfWeek': 'Saturday', 'switchpoints': [{'heatSetpoint': 21.0, 'timeOfDay': '08:00:00'}, {'heatSetpoint': 15.0, 'timeOfDay': '14:30:00'}]}]}
2025-03-13 11:56:09.873 ERROR (MainThread) [homeassistant.components.climate] Error while setting up evohome platform for climate: list index out of range
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 382, in _async_setup_platform
    await asyncio.shield(awaitable)
  File "/usr/src/homeassistant/homeassistant/components/evohome/climate.py", line 128, in async_setup_platform
    await entity.update_attrs()
  File "/usr/src/homeassistant/homeassistant/components/evohome/entity.py", line 191, in update_attrs
    await self._update_schedule()
  File "/usr/src/homeassistant/homeassistant/components/evohome/entity.py", line 174, in _update_schedule
    await get_schedule()
  File "/usr/src/homeassistant/homeassistant/components/evohome/entity.py", line 149, in get_schedule
    schedule = await self.coordinator.call_client_api(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<2 lines>...
    )
    ^
  File "/usr/src/homeassistant/homeassistant/components/evohome/coordinator.py", line 140, in call_client_api
    result = await client_api
             ^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/site-packages/evohomeasync2/zone.py", line 665, in get_schedule
    return await super().get_schedule()  # type: ignore[return-value]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/site-packages/evohomeasync2/zone.py", line 340, in get_schedule
    self._this_switchpoint, self._next_switchpoint = self._find_switchpoints(
                                                     ~~~~~~~~~~~~~~~~~~~~~~~^
        dt.now(tz=UTC)
        ^^^^^^^^^^^^^^
    )
    ^
  File "/usr/local/lib/python3.13/site-packages/evohomeasync2/zone.py", line 360, in _find_switchpoints
    this_sp, this_offset, next_sp, next_offset = _find_switchpoints(
                                                 ~~~~~~~~~~~~~~~~~~^
        self.schedule, *_dt_to_dow_and_tod(dtm, self.location.tzinfo)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/usr/local/lib/python3.13/site-packages/evohomeasync2/zone.py", line 248, in _find_switchpoints
    for sp in schedule[day_idx]["switchpoints"]:
              ~~~~~~~~^^^^^^^^^
IndexError: list index out of range

Additional Information

The logs show that the Evohome integration is trying to fetch schedule data from the Resideo API, but it is receiving an error response with a list index out of range error.

Troubleshooting Steps

To troubleshoot this issue, we can try the following steps:

  1. Check the Evohome integration configuration to ensure that it is correctly configured.
  2. Check the Resideo API documentation to ensure that the API endpoint is correctly formatted.
  3. Check the logs for any additional error messages that may provide more information about the issue.
  4. Try updating the Evohome integration to the latest version.
  5. Try resetting the Evohome integration configuration.

Conclusion

The Evohome integration is raising an IndexError when trying to fetch schedule data after the recent update to Home Assistant Core 2025.3.2. The issue is likely due to a change in the Resideo API or the Evohome integration configuration. To troubleshoot this issue, we can try the troubleshooting steps outlined above.
Q&A: After 2025.03.0, evohome raises IndexError when fetching schedule data

Q: What is the issue with the Evohome integration?

A: The Evohome integration is raising an IndexError when trying to fetch schedule data after the recent update to Home Assistant Core 2025.3.2.

Q: What is causing the issue?

A: The issue is likely due to a change in the Resideo API or the Evohome integration configuration.

Q: How can I troubleshoot this issue?

A: To troubleshoot this issue, we can try the following steps:

  1. Check the Evohome integration configuration to ensure that it is correctly configured.
  2. Check the Resideo API documentation to ensure that the API endpoint is correctly formatted.
  3. Check the logs for any additional error messages that may provide more information about the issue.
  4. Try updating the Evohome integration to the latest version.
  5. Try resetting the Evohome integration configuration.

Q: What are the symptoms of this issue?

A: The symptoms of this issue include:

  • The Evohome integration is unable to fetch schedule data.
  • The logs show an IndexError error message.
  • The Evohome integration may be unable to control the thermostat.

Q: How can I prevent this issue from occurring in the future?

A: To prevent this issue from occurring in the future, we can try the following steps:

  1. Regularly update the Evohome integration to the latest version.
  2. Check the Resideo API documentation to ensure that the API endpoint is correctly formatted.
  3. Check the logs for any additional error messages that may provide more information about the issue.
  4. Try resetting the Evohome integration configuration.

Q: What are the system requirements for the Evohome integration?

A: The system requirements for the Evohome integration include:

  • Home Assistant Core version 2025.3.2 or later.
  • Resideo API access.
  • Correctly configured Evohome integration.

Q: How can I contact support for the Evohome integration?

A: To contact support for the Evohome integration, you can try the following steps:

  1. Check the Home Assistant documentation for contact information.
  2. Check the Resideo API documentation for contact information.
  3. Try resetting the Evohome integration configuration.

Q: What are the known issues with the Evohome integration?

A: The known issues with the Evohome integration include:

  • IndexError error message when trying to fetch schedule data.
  • Evohome integration unable to control the thermostat.
  • Evohome integration unable to fetch schedule data.

Q: How can I report a bug for the Evohome integration?

A: To report a bug for the Evohome integration, you can try the following steps:

  1. Check the Home Assistant documentation for bug reporting information.
  2. Check the Resideo API documentation for bug reporting information.
  3. Try resetting the Evohome integration configuration.

Q: What are the release notes for the Evohome integration?

A: The release notes for the Evohome integration include:

  • Version 2025.3.2: Fixed IndexError error message when trying to fetch schedule data.
  • Version 2025.3.1: Fixed Evohome integration unable to control the thermostat.
  • Version 2025.3.0: Fixed Evohome integration unable to fetch schedule data.

Q: How can I get the latest version of the Evohome integration?

A: To get the latest version of the Evohome integration, you can try the following steps:

  1. Check the Home Assistant documentation for the latest version information.
  2. Check the Resideo API documentation for the latest version information.
  3. Try updating the Evohome integration to the latest version.