RobHofmann / HomeAssistant-GreeClimateComponent

Custom Gree climate component written in Python3 for Home Assistant. Controls AC's supporting the Gree protocol.
GNU General Public License v3.0
309 stars 104 forks source link

ImportError: cannot import name 'EventStateChangedData' from 'homeassistant.core' #168

Closed bartowl closed 4 months ago

bartowl commented 4 months ago

Describe the bug After last update via HACS this integration stopped to work completely. I do not have anything unusual for config, Restarting HA does not fix issue.

To Reproduce Steps to reproduce the behavior:

  1. Install Home Assistant in docker (version 2024.3.1)
  2. Install HACS (1.34.0)
  3. install this component via HACS in version 2.10.0
  4. Put below yaml into configuration.yaml
  5. restart HA
  6. See Log output

Configuration My config is rather straight forward

climate:
  - platform: gree
    name: kitchen AC
    host: 192.168.0.10
    mac: 'F4:91:1E:xx:xx:xx'
  - platform: gree
    name: another AC
    host: 192.168.0.11
    mac: 'F4:91:1E:xx:xx:x'

Expected behavior It is expected that no errors show and component works as before

Screenshots No screenshots, just logs below

Platform:

Additional context Add any other context about the problem here.

Logs Please share your Home Assistant logs here. Make sure to remove any personal/secret information.

Logger: homeassistant.config
Source: config.py:1560
First occurred: 9:54:23 AM (2 occurrences)
Last logged: 9:54:23 AM

Platform error: climate - cannot import name 'EventStateChangedData' from 'homeassistant.core' (/usr/src/homeassistant/homeassistant/core.py)
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config.py", line 1560, in async_process_component_config
    platform = p_integration.get_platform(domain)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/loader.py", line 1010, in get_platform
    return self._load_platform(platform_name)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/loader.py", line 1025, in _load_platform
    cache[full_name] = self._import_platform(platform_name)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/loader.py", line 1058, in _import_platform
    return importlib.import_module(f"{self.pkg_path}.{platform_name}")
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/importlib/__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 995, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/config/custom_components/gree/climate.py", line 40, in <module>
    from homeassistant.core import Event, EventStateChangedData, callback
ImportError: cannot import name 'EventStateChangedData' from 'homeassistant.core' (/usr/src/homeassistant/homeassistant/core.py)
RobHofmann commented 4 months ago

You are running an older version of Home Assistant. Please update Home Assistant or downgrade this custom component :)

bartowl commented 4 months ago

That was fast, thank you!