Hi, I have just installed this integration but I’m having an issue with it. I have an Evohome system which I’m pretty familiar with. I’ve had it controlled with an RFBee under Domiticz and my own code so know all my IDs but I’m using a new RAMSES_ESP dongle as the RFBee baud rates isn’t supported I believe. I set it up ok with just the serial port and it found all the devices pretty quickly. Now everything is loaded I had restarted HA but the integration says ‘Failed to set up’ and all enities are unavailable. I’ve checked the logs and there are a few errors such as below. I had set up the controller in the schema and set up the known devices but have removed those for now. I’ve also tried removing everything in the integration and starting again but the same thing happens. This is on a Raspberry PI 5 with the HA image all updated to the latest.
Selected messages:
2025-01-15 11:36:54.404 WARNING (MainThread) [ramses_tx.transport] /dev/serial/by-id/usb-Espressif_USB_JTAG_serial_debug_unit_CC:BA:97:0A:A8:38-if00: the gateway type is not determinable, will assume evofw3
2025-01-15 11:36:54.456 WARNING (MainThread) [ramses_tx.protocol] The active gateway '18:174136: { class: HGI }' (by filter) SHOULD be in the (enforced) known_list
2025-01-15 11:36:54.490 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved (None)
Traceback (most recent call last):
File "/usr/local/lib/python3.13/site-packages/ramses_rf/gateway.py", line 626, in async_send_cmd
return await super().async_send_cmd(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<7 lines>...
) # may: raise ProtocolError/ProtocolSendFailed
^
File "/usr/local/lib/python3.13/site-packages/ramses_tx/gateway.py", line 326, in async_send_cmd
return await self._protocol.send_cmd(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<5 lines>...
) # may: raise ProtocolError/ProtocolSendFailed
^
File "/usr/local/lib/python3.13/site-packages/ramses_tx/protocol.py", line 711, in send_cmd
pkt = await super().send_cmd( # may: raise ProtocolError/ProtocolSendFailed
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<5 lines>...
)
^
File "/usr/local/lib/python3.13/site-packages/ramses_tx/protocol.py", line 481, in send_cmd
return await super().send_cmd(cmd, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/ramses_tx/protocol.py", line 223, in send_cmd
raise exc.ProtocolError("The Protocol is currently read-only/paused")
ramses_tx.exceptions.ProtocolError: The Protocol is currently read-only/paused
2025-01-15 11:36:54.496 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry RAMSES RF for binary_sensor
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 640, in __async_setup_with_context
result = await component.async_setup_entry(hass, self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/binary_sensor/__init__.py", line 139, in async_setup_entry
return await hass.data[DATA_COMPONENT].async_setup_entry(entry)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 186, in async_setup_entry
raise ValueError(
...<2 lines>...
)
ValueError: Config entry RAMSES RF (01JHMPJ4ZGS4AW261JTV5WE21A) for ramses_cc.binary_sensor has already been setup!
2025-01-15 11:36:54.499 ERROR (MainThread) [homeassistant.components.binary_sensor] Platform ramses_cc does not generate unique IDs. ID 07:019140-battery_low is already used by binary_sensor.07_019140_battery_low - ignoring binary_sensor.07:019140_battery_low
2025-01-15 11:36:54.499 ERROR (MainThread) [homeassistant.components.binary_sensor] Platform ramses_cc does not generate unique IDs. ID 13:048634-active is already used by binary_sensor.13_048634_active - ignoring binary_sensor.13:048634_active
...lots of these...
2025-01-15 11:36:54.502 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry RAMSES RF for sensor
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 640, in __async_setup_with_context
result = await component.async_setup_entry(hass, self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 96, in async_setup_entry
return await hass.data[DATA_COMPONENT].async_setup_entry(entry)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 186, in async_setup_entry
raise ValueError(
...<2 lines>...
)
ValueError: Config entry RAMSES RF (01JHMPJ4ZGS4AW261JTV5WE21A) for ramses_cc.sensor has already been setup!
2025-01-15 11:36:54.506 ERROR (MainThread) [homeassistant.components.sensor] Platform ramses_cc does not generate unique IDs. ID 07:019140-temperature is already used by sensor.07_019140_temperature - ignoring sensor.07:019140_temperature
2025-01-15 11:36:54.506 ERROR (MainThread) [homeassistant.components.sensor] Platform ramses_cc does not generate unique IDs. ID 13:048634-relay_demand is already used by sensor.13_048634_relay_demand - ignoring sensor.13:048634
...
2025-01-15 11:36:54.516 ERROR (ImportExecutor_0) [homeassistant.loader] Unexpected exception importing platform custom_components.ramses_cc.water_heater
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/loader.py", line 1272, in _load_platform
cache[full_name] = self._import_platform(platform_name)
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/loader.py", line 1304, in _import_platform
return importlib.import_module(f"{self.pkg_path}.{platform_name}")
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
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/ramses_cc/water_heater.py", line 229, in <module>
class RamsesWaterHeaterEntityDescription(
...<6 lines>...
ramses_rf_class: type[DhwZone]
TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases
2025-01-15 11:36:54.543 ERROR (MainThread) [homeassistant.loader] Unexpected exception importing platform custom_components.ramses_cc.water_heater
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/loader.py", line 1272, in _load_platform
cache[full_name] = self._import_platform(platform_name)
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/loader.py", line 1304, in _import_platform
return importlib.import_module(f"{self.pkg_path}.{platform_name}")
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
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/ramses_cc/water_heater.py", line 229, in <module>
class RamsesWaterHeaterEntityDescription(
...<6 lines>...
ramses_rf_class: type[DhwZone]
TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases
2025-01-15 11:36:54.546 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry RAMSES RF for ramses_cc
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/loader.py", line 1272, in _load_platform
cache[full_name] = self._import_platform(platform_name)
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/loader.py", line 1304, in _import_platform
return importlib.import_module(f"{self.pkg_path}.{platform_name}")
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
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/ramses_cc/water_heater.py", line 229, in <module>
class RamsesWaterHeaterEntityDescription(
...<6 lines>...
ramses_rf_class: type[DhwZone]
TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 640, in __async_setup_with_context
result = await component.async_setup_entry(hass, self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/ramses_cc/__init__.py", line 107, in async_setup_entry
await broker.async_start()
File "/config/custom_components/ramses_cc/broker.py", line 152, in async_start
await self.async_update()
File "/config/custom_components/ramses_cc/broker.py", line 326, in async_update
await async_add_entities(Platform.WATER_HEATER, new_dhws)
File "/config/custom_components/ramses_cc/broker.py", line 283, in async_add_entities
await self._async_setup_platform(platform)
File "/config/custom_components/ramses_cc/broker.py", line 222, in _async_setup_platform
await self._platform_setup_tasks[platform]
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 2278, in async_forward_entry_setups
await integration.async_get_platforms(platforms)
File "/usr/src/homeassistant/homeassistant/loader.py", line 1185, in async_get_platforms
import_future.result()
~~~~~~~~~~~~~~~~~~~~^^
File "/usr/src/homeassistant/homeassistant/loader.py", line 1173, in async_get_platforms
platforms.update(self._load_platforms(platform_names))
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/loader.py", line 1098, in _load_platforms
platform_name: self._load_platform(platform_name)
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/loader.py", line 1292, in _load_platform
raise ImportError(
f"Exception importing {self.pkg_path}.{platform_name}"
) from err
ImportError: Exception importing custom_components.ramses_cc.water_heater