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

2025.1 issue "Unable to import component: No module named 'pymodbus.register_read_message'" #263

Open
remcom opened this issue Dec 23, 2024 · 14 comments

Comments

@remcom
Copy link

remcom commented Dec 23, 2024

The new home assistant beta results in the following error

Logger: homeassistant.setup
Source: setup.py:334
First occurred: 20:13:36 (1 occurrences)
Last logged: 20:13:36

Setup failed for custom integration 'victron': Unable to import component: No module named 'pymodbus.register_read_message'
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 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/victron/__init__.py", line 9, in <module>
    from .coordinator import victronEnergyDeviceUpdateCoordinator as Coordinator
  File "/config/custom_components/victron/coordinator.py", line 14, in <module>
    from pymodbus.register_read_message import ReadHoldingRegistersResponse
ModuleNotFoundError: No module named 'pymodbus.register_read_message'
@remcom remcom changed the title 2025.1 issue 2025.1 issue "Unable to import component: No module named 'pymodbus.register_read_message'" Dec 23, 2024
@dalewright
Copy link

Likewise.

Logger: homeassistant.setup
Source: setup.py:334
First occurred: 3:07:14 PM (1 occurrences)
Last logged: 3:07:14 PM

Setup failed for custom integration 'victron': Unable to import component: No module named 'pymodbus.register_read_message'
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 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/victron/__init__.py", line 9, in <module>
    from .coordinator import victronEnergyDeviceUpdateCoordinator as Coordinator
  File "/config/custom_components/victron/coordinator.py", line 14, in <module>
    from pymodbus.register_read_message import ReadHoldingRegistersResponse
ModuleNotFoundError: No module named 'pymodbus.register_read_message'

@devilmastah
Copy link

devilmastah commented Jan 1, 2025

I have the same issue here.

I just pulled PR 264 into my instance and it works for now

@andreas-bulling
Copy link

andreas-bulling commented Jan 3, 2025

same here. Which PR specifically do I need to pull?

@kasper334
Copy link

kasper334 commented Jan 3, 2025

Just updated to 2025.1.0, got the same error.
Thanks a lot, @devilmastah, got it up and running.

@kasper334
Copy link

kasper334 commented Jan 3, 2025

@andreas-bulling not sure if my solution is correct (I'm highly doubtful), but anyways it's working for me.
I fixed mine by reinstalling "over" an updated repo.

Here are my steps:

  1. Copy a link to a forked repo, which fixes this error (for example, I took https://github.com/julesxxl/hass-victron).
  2. Open Home Assistant, go to HACS
  3. Press three dots at the top right corner, click on "Custom repositories".
  4. Paste copied link into "Repository" field, then choose "Integration" in the "Type" field.
  5. Click "Add".
  6. Go back to HACS initial page, search for "Victron" integration in the search box, click on the result without description (it just says "Victron GX modbus TCP" in a single line).
  7. Click "Download" on the bottom right corner, this will overwrite contents in custom_components/victron path.
  8. Restart Home Assistant.

If someone will decide to repeat my steps - please don't forget to remove second repo from HACS (which was added in steps 1-5) in future, when owner of the current repo will merge this fix and update will be available through HACS.

@andreas-bulling
Copy link

Thanks! I ended up doing a manual install and directly using the version from @remcom repository.

@ChuckRamsey
Copy link

kasper334 Your solution worked fine for me. Thanx!

@tmonxx
Copy link

tmonxx commented Jan 3, 2025

@kasper334 Thx. Now it works 💯

@asmcc
Copy link

asmcc commented Jan 4, 2025

In #267 you can find an alternatively workaround WITHOUT forked repository.

@pos-ei-don
Copy link

Maybe we should add some or the other prs (corewhtion of ah instead of a,...) also into the fork, until the original maintainer can uptahte his rwpositoeye again (or Hand it over to a new maintainer?)

@aliasimac
Copy link

aliasimac commented Jan 4, 2025

it works for me, thanks

@QaDoPL
Copy link

QaDoPL commented Jan 6, 2025

@andreas-bulling not sure if my solution is correct (I'm highly doubtful), but anyways it's working for me. I fixed mine by reinstalling "over" an updated repo.

Here are my steps:

1. Copy a link to a forked repo, which fixes this error (for example, I took `https://github.com/julesxxl/hass-victron`).

2. Open Home Assistant, go to HACS

3. Press three dots at the top right corner, click on "Custom repositories".

4. Paste copied link into "Repository" field, then choose "Integration" in the "Type" field.

5. Click "Add".

6. Go back to HACS initial page, search for "Victron" integration in the search box, click on the result without description (it just says "Victron GX modbus TCP" in a single line).

7. Click "Download" on the bottom right corner, this will overwrite contents in `custom_components/victron` path.

8. Restart Home Assistant.

If someone will decide to repeat my steps - please don't forget to remove second repo from HACS (which was added in steps 1-5) in future, when owner of the current repo will merge this fix and update will be available through HACS.

This solve issue, but not all entities are visible ex can't control Grid power with ESS.

@QaDoPL
Copy link

QaDoPL commented Jan 6, 2025

number.victron_settings_ess_acpowersetpoint and others control entities solved by again download data from @sfstar repo and now everything works like a harm.
In short: download @julesxxl hass-victron repo, if everything start then download again sfstar and voilà
Regards

@etofi
Copy link

etofi commented Jan 6, 2025

In short: download @julesxxl hass-victron repo, if everything start then download again sfstar and voilà Regards

If I do this, the Victron addon does not start. As the error still exists in the sfstar code

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