jonasbkarlsson / ev_smart_charging

Electric vehicle smart charging for Home Assistant.
MIT License
186 stars 28 forks source link

Can not load in home asssistant 2024.11.0b0 #336

Open wormiedk opened 3 weeks ago

wormiedk commented 3 weeks ago

Version of the custom_component

Version 2.0.1

Describe the bug

After upgrade to home assistant 2024.11.0b0 the integration fails to load

Debug log

Logger: homeassistant.setup
Source: setup.py:334
First occurred: 06:56:31 (1 occurrences)
Last logged: 06:56:31

Setup failed for custom integration 'ev_smart_charging': Unable to import component: cannot import name 'Config' from 'homeassistant.core' (/usr/src/homeassistant/homeassistant/core.py)
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/loader.py", line 1011, in async_get_component
    comp = await self.hass.async_add_import_executor_job(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/loader.py", line 1071, in _get_component
    ComponentProtocol, importlib.import_module(self.pkg_path)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/util/loop.py", line 200, in protected_loop_func
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  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/ev_smart_charging/__init__.py", line 8, in <module>
    from homeassistant.core import Config, HomeAssistant
ImportError: cannot import name 'Config' from 'homeassistant.core' (/usr/src/homeassistant/homeassistant/core.py). Did you mean: 'config'?

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/setup.py", line 334, in _async_setup_component
    component = await integration.async_get_component()
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/loader.py", line 1031, in async_get_component
    self._component_future.result()
  File "/usr/src/homeassistant/homeassistant/loader.py", line 1023, in async_get_component
    comp = self._get_component()
           ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/loader.py", line 1071, in _get_component
    ComponentProtocol, importlib.import_module(self.pkg_path)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/util/loop.py", line 200, in protected_loop_func
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  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/ev_smart_charging/__init__.py", line 8, in <module>
    from homeassistant.core import Config, HomeAssistant
ImportError: cannot import name 'Config' from 'homeassistant.core' (/usr/src/homeassistant/homeassistant/core.py). Did you mean: 'config'?
wormiedk commented 3 weeks ago

Apparently they are postponing a breaking change so this will be fixed from the home assistant side for now

hmmbob commented 3 weeks ago

It now raises a warning on beta1:

2024-11-01 13:14:28.534 WARNING (ImportExecutor_0) [homeassistant.core] Config was used from ev_smart_charging, this is a deprecated alias which will be removed in HA Core 2025.11. Use homeassistant.core_config.Config instead, please report it to the author of the 'ev_smart_charging' custom integration

hmmbob commented 3 weeks ago

The fun part is, is that the warning is about an import that wasn't used anymore anyways and was already removed with https://github.com/jonasbkarlsson/ev_smart_charging/commit/1a1c573617efb10d8ac21112d34a402bf328a020, so it is already fixed in master, it's just not part of a released version yet.

Or: this warning will be resolved in the next released version. If you want to fix it before, remove the Config, part from this line in your local installation: https://github.com/jonasbkarlsson/ev_smart_charging/blob/1a1c573617efb10d8ac21112d34a402bf328a020/custom_components/ev_smart_charging/__init__.py#L8

jonasbkarlsson commented 2 weeks ago

Apparently they are postponing a breaking change so this will be fixed from the home assistant side for now

So HA 2024.11 will generate a warning with the latest released version of this integration? Is that correct?

hmmbob commented 2 weeks ago

Yeah, it'll raise a warning but doesn't break (tested on beta5)

image

hmmbob commented 1 week ago

And confirming that the warning is gone in v2.1.0-dev1