Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Setup failed for custom integration 'wattbox': Unable to import component: cannot import name 'ELECTRIC_POTENTIAL_VOLT' from 'homeassistant.const' #27

Open
pwestbro opened this issue Jan 4, 2025 · 4 comments

Comments

@pwestbro
Copy link

pwestbro commented Jan 4, 2025

Version of the custom_component

v0.8.2

Configuration

wattbox:
- host: 172.16.1.xx
  name: Office Wattbox
  username: Webmaster
  password: XXXXX
- host: 172.16.1.xx
  name: Carriage Wattbox
  username: Webmaster
  password: XXXXX
- host: 172.16.1.xx
  name: Core Wattbox
  username: Webmaster
  password: XXXXX

Describe the bug

After upgrading to Home Assistant 2025.1, the wattbox integration started throwing the following error

Setup failed for custom integration 'wattbox': Unable to import component: cannot import name 'ELECTRIC_POTENTIAL_VOLT' from 'homeassistant.const' (/usr/src/homeassistant/homeassistant/const.py)

Debug log


Logger: homeassistant.setup
Source: setup.py:334
First occurred: 7:28:36 PM (1 occurrences)
Last logged: 7:28:36 PM

Setup failed for custom integration 'wattbox': Unable to import component: cannot import name 'ELECTRIC_POTENTIAL_VOLT' from 'homeassistant.const' (/usr/src/homeassistant/homeassistant/const.py)
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/loader.py", line 1015, in async_get_component
    comp = await self.hass.async_add_import_executor_job(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        self._get_component, True
        ^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/usr/local/lib/python3.13/concurrent/futures/thread.py", line 59, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/src/homeassistant/homeassistant/loader.py", line 1075, 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.13/importlib/__init__.py", line 88, 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 1026, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/config/custom_components/wattbox/__init__.py", line 30, in <module>
    from .const import (
    ...<13 lines>...
    )
  File "/config/custom_components/wattbox/const.py", line 7, in <module>
    from homeassistant.const import (
    ...<4 lines>...
    )
ImportError: cannot import name 'ELECTRIC_POTENTIAL_VOLT' from 'homeassistant.const' (/usr/src/homeassistant/homeassistant/const.py)

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 1035, in async_get_component
    self._component_future.result()
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/src/homeassistant/homeassistant/loader.py", line 1027, in async_get_component
    comp = self._get_component()
  File "/usr/src/homeassistant/homeassistant/loader.py", line 1075, 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.13/importlib/__init__.py", line 88, 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 1026, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/config/custom_components/wattbox/__init__.py", line 30, in <module>
    from .const import (
    ...<13 lines>...
    )
  File "/config/custom_components/wattbox/const.py", line 7, in <module>
    from homeassistant.const import (
    ...<4 lines>...
    )
ImportError: cannot import name 'ELECTRIC_POTENTIAL_VOLT' from 'homeassistant.const' (/usr/src/homeassistant/homeassistant/const.py)


@toddsonofodin
Copy link

Hey, this is fixed in an unapproved pull request. In the short term, you can just make the changes to your local copy of const.py in custom_components/wattbox and it will fix this problem.

@zacs
Copy link

zacs commented Jan 22, 2025

It is also fixed in the develop branch, if you want to pull from there directly (which includes a few other fixes you may want).

@Automated-House
Copy link

It is also fixed in the develop branch, if you want to pull from there directly (which includes a few other fixes you may want).

Is it possible to have HACS pull from the develop branch instead of master?

@zacs
Copy link

zacs commented Feb 7, 2025

@Automated-House yep, you can see here: https://hacs.xyz/docs/use/entities/update/

I believe you would just make that action call with develop as the version parameter. A bit manual, but should work fine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants