Issues with IAMMeter Modbus Home Assistant 2025.1
After updating to Home Assistant 2025.1 my IAMMeter Modbus integrations no longer work with the following log trace. Is there a fix or work around?
Logger: homeassistant.setup
Source: setup.py:334
First occurred: 3:41:44 PM (1 occurrences)
Last logged: 3:41:44 PM
Setup failed for custom integration 'iammeter_modbus': Unable to import component: cannot import name 'STATE_CLASS_MEASUREMENT' from 'homeassistant.components.sensor' (/usr/src/homeassistant/homeassistant/components/sensor/__init__.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/iammeter_modbus/__init__.py", line 19, in <module>
from .const import (
...<6 lines>...
)
File "/config/custom_components/iammeter_modbus/const.py", line 3, in <module>
from homeassistant.components.sensor import (
...<3 lines>...
)
ImportError: cannot import name 'STATE_CLASS_MEASUREMENT' from 'homeassistant.components.sensor' (/usr/src/homeassistant/homeassistant/components/sensor/__init__.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/iammeter_modbus/__init__.py", line 19, in <module>
from .const import (
...<6 lines>...
)
File "/config/custom_components/iammeter_modbus/const.py", line 3, in <module>
from homeassistant.components.sensor import (
...<3 lines>...
)
ImportError: cannot import name 'STATE_CLASS_MEASUREMENT' from 'homeassistant.components.sensor' (/usr/src/homeassistant/homeassistant/components/sensor/__init__.py)
I just upgraded my homeassistant to 2025.1, and my IAMMeter Modbus device is working fine, and there is no error when adding it. Then I installed a new homeassistant and installed hacs, and then added IAMMeter Modbus integration, and added IAMMeter Modbus device and it is also normal.
Can you send me your version of IAMMeter Modbus integration?
Thanks for your quick response.
Since raising this issue there has been an update to HAC's this alone did not fix the issue, but I just reinstalled v1.0.14 over top of the same version and it is now working fine.
i have same issue exactly. can you tell me the fix please. i should upgrade the HACS or the home assistant full?
i have ;
home assistant v2025.2.0
HACS v2.0.5
iammeter modbus in HACS v1.0.14
but still same error
Please try to reinstall the "iammeter modbus in HACS v1.0.14“ and check whether it would be fixed.
For versions after Home Assistant v2025.2.0, please use iammeter modbus in HACS v1.0.15
(this is caused by the change of the calling method of low_level_pb_call in modbus.py in core2025.2.0).
Dear,
its working now . i updated my modbus .
below it the log just for your reference
2025-02-07 20:15:41.676 WARNING (MainThread) [homeassistant.components.ssdp] ATTR_UPNP_FRIENDLY_NAME was used from iammeter_modbus, this is a deprecated constant which will be removed in HA Core 2026.2. Use homeassistant.helpers.service_info.ssdp.ATTR_UPNP_FRIENDLY_NAME instead, please create a bug report at https://github.com/lewei50/ha_iammeter_modbus/issues
2025-02-07 20:15:43.041 WARNING (Recorder) [homeassistant.components.sensor.recorder] Entity sensor.myiammeter_energy_usage from integration template has state class total_increasing, but its state is negative. Triggered by state -104.69705 with last_updated set to 2025-02-07T15:09:59.999999+00:00. Please create a bug report at https://github.com/home-assistant/core/issues?q=is%3Aopen+is%3Aissue+label%3A%22integration%3A+template%22
2025-02-07 20:15:50.226 WARNING (MainThread) [homeassistant.components.ssdp] ATTR_UPNP_FRIENDLY_NAME was used from iammeter_http, this is a deprecated constant which will be removed in HA Core 2026.2. Use homeassistant.helpers.service_info.ssdp.ATTR_UPNP_FRIENDLY_NAME instead, please create a bug report at https://github.com/lewei50/ha_iammeter/issues
I have been finding the iammeter modbus integrations unreliable in homeassistant recently, after updating to the latest homeassistant update for the iammeter integration, my previously working integration has stopped working. I have tried restarting and reloading it, and same issue.
I also have another strange issue where on my single phase meter the modbus data stops at random times during the night. However the HTTP data from the same meter is working fine. I had a statistics counter averaging out the power consumption over 5 minutes to consistently show load power in the graphs, obviously using the much higher data refresh rate made this even more accurate.
HTTP integration same sensor
Thank you very much for your feedback. This data unavailable issue has been fixed in the version v1.0.17 released yesterday. If you still have this problem after upgrading to 1.0.17, please feel free to give feedback here. Thank you.
I am giving you feedback, as I updated 1.0.17 this morning and then it all stopped after the restart required by the integration update.
I have reported two different issues.
1. Update to the latest IAMMeter build today stopped my Modbus data completely, just shows the last reading just prior to the required restart.
2. data missing randomly, are you referring to this one being fixed in 1.0.17?
1.Home Assistant v2025.2.0 changed the function library of modbus.py, so versions after v1.0.15 need ha core greater than v2025.2.0
2.v1.0.17 is to fix the problem of random data loss
3.If you have updated v1.0.17 and the ha core version is greater than v2025.2.0, and the problem of random data loss still occurs, please let me know
I am running latest of all
- Core2025.2.3
- Supervisor2025.02.0
- Operating System14.2
- Frontend20250210.0
And IamMeter Modbus 1.0.17
I will keep an eye out, as it appears to have started working again.
after following all this.. still i lost the data randomly..so i did following,
removed iammeter from HCAS completely, including iammeter_http and modbus both
then i added following to my configuration.yaml
# Modbus Configuration to read power from three phases (A, B, C)
modbus:
- name: hub11
type: tcp
host: 192.168.10.10
port: 502
sensors:
- name: "Modbus_PowerA"
slave: 1
address: 2
input_type: holding
unit_of_measurement: "W"
device_class: power
state_class: measurement
scale: 1
offset: 0
precision: 0
data_type: int32
scan_interval: 5
- name: "Modbus_PowerB"
slave: 1
address: 12
input_type: holding
unit_of_measurement: "W"
device_class: power
state_class: measurement
scale: 1
offset: 0
precision: 0
data_type: int32
scan_interval: 5
- name: "Modbus_PowerC"
slave: 1
address: 22
input_type: holding
unit_of_measurement: "W"
device_class: power
state_class: measurement
scale: 1
offset: 0
precision: 0
data_type: int32
scan_interval: 5
it gave me the data without any issue.. and now i dont need install modbus in hcas or any other integration. for those who need more address for variables (like voltage, pf etc. ) u can use modbus poll app for windows.
Of cause you can use the yaml in HomeAssistant
Single phase https://github.com/lewei50/Solar-PV-Monitoring/blob/master/Yaml%20in%20Home%20Assistant/ModbusTCP/modbus1.yaml
Yeah I had modbus setup as well which was working without the hacs integration as you mention