home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
72.71k stars 30.45k forks source link

HomeConnect might fails with obscure 'Oven' object has no attribute 'device_id' exception #128936

Open pshirshov opened 15 hours ago

pshirshov commented 15 hours ago

The problem

I'm trying to execute the following home connect action:

actions:
  - action: home_connect.select_program
    metadata: {}
    data:
      program: LaundryCare.Washer.Program.EasyCare
      device_id: 76d2a44ebb6...0660

And I'm getting the following stacktrace:

2024-10-21 19:52:09.673 ERROR (MainThread) [homeassistant.components.automation.run_washing_machine_if_ready] Run washing machine if ready: Error executing script. Unexpected error for call_service at pos 1: 'Oven' object has no attribute 'device_id'
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 525, in _async_step
    await getattr(self, handler)()
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 763, in _async_call_service_step
    response_data = await self._async_run_long_action(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 726, in _async_run_long_action
    return await long_task
           ^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2761, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2804, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/home_connect/__init__.py", line 169, in async_service_select_program
    await _async_service_program(call, "select_program")
  File "/usr/src/homeassistant/homeassistant/components/home_connect/__init__.py", line 115, in _async_service_program
    appliance = _get_appliance_by_device_id(hass, device_id)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/home_connect/__init__.py", line 89, in _get_appliance_by_device_id
    if device.device_id == device_id:
       ^^^^^^^^^^^^^^^^
AttributeError: 'Oven' object has no attribute 'device_id'

What version of Home Assistant Core has the issue?

core-2024.10.3

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant OS

Integration causing the issue

HomeConnect

Link to integration documentation on our website

No response

Diagnostics information

No response

Example YAML snippet

No response

Anything in the logs that might be useful for us?

No response

Additional information

No response

home-assistant[bot] commented 14 hours ago

Hey there @davidmstraub, mind taking a look at this issue as it has been labeled with an integration (home_connect) you are listed as a code owner for? Thanks!

Code owner commands Code owners of `home_connect` can trigger bot actions by commenting: - `@home-assistant close` Closes the issue. - `@home-assistant rename Awesome new title` Renames the issue. - `@home-assistant reopen` Reopen the issue. - `@home-assistant unassign home_connect` Removes the current integration label and assignees on the issue, add the integration domain after the command. - `@home-assistant add-label needs-more-information` Add a label (needs-more-information, problem in dependency, problem in custom component) to the issue. - `@home-assistant remove-label needs-more-information` Remove a label (needs-more-information, problem in dependency, problem in custom component) on the issue.

(message by CodeOwnersMention)


home_connect documentation home_connect source (message by IssueLinks)

EenerNL commented 13 hours ago

Hi, the home Connect service is very unreliable the last few days. I guess that’s the real problem for this issue.

I’m using the alternative integration and that’s also not working very well. Connection is unstable and updates are not realtime or incorrect.

more info for the alternative integration: https://github.com/ekutner/home-connect-hass/issues/426