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

Do not upgrade to HA 2025.2. We'll get a fix out when we can. #748

Open
stevetrease opened this issue Jan 30, 2025 · 7 comments · May be fixed by #749
Open

Do not upgrade to HA 2025.2. We'll get a fix out when we can. #748

stevetrease opened this issue Jan 30, 2025 · 7 comments · May be fixed by #749

Comments

@stevetrease
Copy link

stevetrease commented Jan 30, 2025

Starting Home Assistant 2025.2 RC and foxess_modbus v1.13.0 results in an "invalid config" notification in Home Assistant.

Let me know if I can provide more information or help with testing a resolution....

Version of the custom_component

  • foxess_modbus v1.13.0
  • Home Assistant Core 2025.2.0b1

Configuration

Describe the bug

Starting Home Assistant 2024.2 RC and foxess_modbus v1.13.0 results in an "invalid config" notification in Home Assistant.

Invalid config
The following integrations and platforms could not be set up:
foxess_modbus
Please check your config and [logs](https://hatest.tail5e5d.ts.net/config/logs).

Debug log

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

Setup failed for custom integration 'foxess_modbus': Unable to import component: No module named 'pymodbus.pdu.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 201, 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 "", line 1387, in _gcd_import
File "", line 1360, in _find_and_load
File "", line 1331, in _find_and_load_unlocked
File "", line 935, in _load_unlocked
File "", line 1026, in exec_module
File "", line 488, in _call_with_frames_removed
File "/config/custom_components/foxess_modbus/init.py", line 20, in
from .client.modbus_client import ModbusClient
File "/config/custom_components/foxess_modbus/client/modbus_client.py", line 18, in
from pymodbus.pdu.register_read_message import ReadHoldingRegistersResponse
ModuleNotFoundError: No module named 'pymodbus.pdu.register_read_message'

@canton7
Copy link
Collaborator

canton7 commented Jan 30, 2025

Do you mean HA 2025.2 or 2024.2? Your title and question disagree.

@canton7
Copy link
Collaborator

canton7 commented Jan 30, 2025

Do you have any other integrations which use modbus, such as foxess-em?

@FozzieUK
Copy link
Contributor

FozzieUK commented Jan 30, 2025

Yep Home Assistant has done it again.

After changing the pymodbus version to 3.7.4 in core 2025.1.x because it is so flaky they have changed it again to 3.8.3 which breaks all of the integrations that use modbus all over again 😠

home-assistant/core#134809

For now there is no option but other than to downgrade.

@canton7
Copy link
Collaborator

canton7 commented Jan 30, 2025

Oh for goodness sake.

@canton7 canton7 changed the title foxess_modbus not working with Home Assistant 2025.2 rc - No module named 'pymodbus.pdu.register_read_message' Do not upgrade to HA 2025.2. We'll get a fix out when we can. Jan 30, 2025
@canton7 canton7 pinned this issue Jan 30, 2025
@canton7
Copy link
Collaborator

canton7 commented Jan 30, 2025

I wonder whether we can just vendor pymodbus ourselves, and avoid taking a dependency on whatever version HA has decided to install. Or switch to one of the other modbus libraries out there (umodbus / modbus-tk). Although, neither seems to support UDP, which we'll needs for compat.

@stevetrease
Copy link
Author

stevetrease commented Jan 30, 2025

Do you mean HA 2025.2 or 2024.2? Your title and question disagree.

Sorry, typo on my part, 2025.2 release candidate. Released yesterday.

@stevetrease
Copy link
Author

stevetrease commented Jan 30, 2025

Do you have any other integrations which use modbus, such as foxess-em?

No. This is my test Home Assistant instance. Just Home Assistant and the foxess_Modbus integration - connecting to a Waveshare Modbus adapter over IP.

canton7 added a commit to canton7/foxess_modbus that referenced this issue Jan 31, 2025
This should protect us from HA breaking things in the future!

Fixes: nathanmarlor#748
canton7 added a commit to canton7/foxess_modbus that referenced this issue Jan 31, 2025
This should protect us from HA breaking things in the future!

Fixes: nathanmarlor#748
canton7 added a commit to canton7/foxess_modbus that referenced this issue Jan 31, 2025
This should protect us from HA breaking things in the future!

Fixes: nathanmarlor#748
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

Successfully merging a pull request may close this issue.

3 participants