Tado: automation to set home/away no longer working- log references "zoneStates"?

I have a tado setup with homeassistant that has been working for a year, but stopped around a month ago.
The automations monitors if both my partner and I have left the house, and then sets the tado system to “away”.
It now fails.
Below is the automation, and below that the error in the logs which talks about “zoneStates”…?

Can anyone help?

alias: Tado leave
description: ""
trigger:
  - platform: zone
    entity_id: device_tracker.pixel_6
    zone: zone.home
    event: leave
  - platform: zone
    entity_id: device_tracker.anna_llewellyns_iphone
    zone: zone.home
    event: leave
condition:
  - condition: not
    conditions:
      - condition: zone
        entity_id: person.anna
        zone: zone.home
      - condition: and
        conditions:
          - condition: zone
            entity_id: device_tracker.pixel_6
            zone: zone.home
action:
  - device_id: e14fe500681b5e37848e29809a4c562c
    domain: climate
    entity_id: 259a736deaa6bb331b8f559f10371e2e
    type: set_preset_mode
    preset_mode: away
  - device_id: 938d2d0401d6d3db05a93acce110966d
    domain: climate
    entity_id: 6f21c9ab4be581fa8ef086b34628945f
    type: set_preset_mode
    preset_mode: away
  - service: notify.mobile_app_pixel_6
    data:
      message: Tado leave ran
mode: single

Logger: homeassistant.components.automation.tado_leave
Source: components/automation/init.py:669
Integration: Automation (documentation, issues)
First occurred: 8 January 2024 at 08:36:36 (4 occurrences)
Last logged: 09:36:40

While executing automation automation.tado_leave
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/components/automation/init.py”, line 669, in async_trigger
await self.action_script.async_run(
File “/usr/src/homeassistant/homeassistant/helpers/script.py”, line 1587, in async_run
return await asyncio.shield(run.async_run())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/helpers/script.py”, line 426, in async_run
await self._async_step(log_exceptions=False)
File “/usr/src/homeassistant/homeassistant/helpers/script.py”, line 479, in _async_step
self._handle_exception(
File “/usr/src/homeassistant/homeassistant/helpers/script.py”, line 502, in _handle_exception
raise exception
File “/usr/src/homeassistant/homeassistant/helpers/script.py”, line 476, in _async_step
await getattr(self, handler)()
File “/usr/src/homeassistant/homeassistant/helpers/script.py”, line 729, in _async_device_step
await device_action.async_call_action_from_config(
File “/usr/src/homeassistant/homeassistant/components/device_automation/action.py”, line 71, in async_call_action_from_config
await platform.async_call_action_from_config(hass, config, variables, context)
File “/usr/src/homeassistant/homeassistant/components/climate/device_action.py”, line 97, in async_call_action_from_config
await hass.services.async_call(
File “/usr/src/homeassistant/homeassistant/core.py”, line 2149, in async_call
response_data = await coro
^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/core.py”, line 2186, in _execute_service
return await target(service_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/helpers/entity_component.py”, line 272, in handle_service
return await service.entity_service_call(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/helpers/service.py”, line 882, in entity_service_call
single_response = await _handle_entity_call(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/helpers/service.py”, line 952, in _handle_entity_call
result = await task
^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/components/climate/init.py”, line 602, in async_handle_set_preset_mode_service
await self.async_set_preset_mode(preset_mode)
File “/usr/src/homeassistant/homeassistant/components/climate/init.py”, line 610, in async_set_preset_mode
await self.hass.async_add_executor_job(self.set_preset_mode, preset_mode)
File “/usr/local/lib/python3.11/concurrent/futures/thread.py”, line 58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/components/tado/climate.py”, line 370, in set_preset_mode
self._tado.set_presence(preset_mode)
File “/usr/src/homeassistant/homeassistant/components/tado/init.py”, line 334, in set_presence
self.update_zones()
File “/usr/src/homeassistant/homeassistant/components/tado/init.py”, line 263, in update_zones
zone_states = self.tado.get_zone_states()[“zoneStates”]
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
KeyError: ‘zoneStates’

Blockquote

I had the same issue here. Solved by reloading the integration… at least so far…

I’ve also had to do that multiple times as it read “failed to start”.

I suspect that this integration is no longer working properly with recent HA updates

Could be… if someone concerned is reading this topic it could be worth to review the integration behaviour

Have you managed to find a way to set home/away yet?

I’ve raised an issue on github