diff --git a/homeassistant/components/comelit/cover.py b/homeassistant/components/comelit/cover.py index 8bccd12e9a5..61b0cb39061 100644 --- a/homeassistant/components/comelit/cover.py +++ b/homeassistant/components/comelit/cover.py @@ -26,7 +26,6 @@ async def async_setup_entry( coordinator: ComelitSerialBridge = hass.data[DOMAIN][config_entry.entry_id] - # Use config_entry.entry_id as base for unique_id because no serial number or mac is available async_add_entities( ComelitCoverEntity(coordinator, device, config_entry.entry_id) for device in coordinator.data[COVER].values() @@ -52,6 +51,7 @@ class ComelitCoverEntity( self._api = coordinator.api self._device = device super().__init__(coordinator) + # Use config_entry.entry_id as base for unique_id because no serial number or mac is available self._attr_unique_id = f"{config_entry_entry_id}-{device.index}" self._attr_device_info = coordinator.platform_device_info(device) # Device doesn't provide a status so we assume UNKNOWN at first startup diff --git a/homeassistant/components/comelit/light.py b/homeassistant/components/comelit/light.py index 15c4ec8cc7e..258dc2ce1e7 100644 --- a/homeassistant/components/comelit/light.py +++ b/homeassistant/components/comelit/light.py @@ -25,7 +25,6 @@ async def async_setup_entry( coordinator: ComelitSerialBridge = hass.data[DOMAIN][config_entry.entry_id] - # Use config_entry.entry_id as base for unique_id because no serial number or mac is available async_add_entities( ComelitLightEntity(coordinator, device, config_entry.entry_id) for device in coordinator.data[LIGHT].values() @@ -48,6 +47,7 @@ class ComelitLightEntity(CoordinatorEntity[ComelitSerialBridge], LightEntity): self._api = coordinator.api self._device = device super().__init__(coordinator) + # Use config_entry.entry_id as base for unique_id because no serial number or mac is available self._attr_unique_id = f"{config_entry_entry_id}-{device.index}" self._attr_device_info = coordinator.platform_device_info(device) diff --git a/homeassistant/components/comelit/switch.py b/homeassistant/components/comelit/switch.py index 89271f142f5..46cbb74fce7 100644 --- a/homeassistant/components/comelit/switch.py +++ b/homeassistant/components/comelit/switch.py @@ -25,13 +25,16 @@ async def async_setup_entry( coordinator: ComelitSerialBridge = hass.data[DOMAIN][config_entry.entry_id] - # Use config_entry.entry_id as base for unique_id because no serial number or mac is available - async_add_entities( + entities: list[ComelitSwitchEntity] = [] + entities.extend( ComelitSwitchEntity(coordinator, device, config_entry.entry_id) - for device in ( - coordinator.data[OTHER].values() + coordinator.data[IRRIGATION].values() - ) + for device in coordinator.data[IRRIGATION].values() ) + entities.extend( + ComelitSwitchEntity(coordinator, device, config_entry.entry_id) + for device in coordinator.data[OTHER].values() + ) + async_add_entities(entities) class ComelitSwitchEntity(CoordinatorEntity[ComelitSerialBridge], SwitchEntity): @@ -50,7 +53,8 @@ class ComelitSwitchEntity(CoordinatorEntity[ComelitSerialBridge], SwitchEntity): self._api = coordinator.api self._device = device super().__init__(coordinator) - self._attr_unique_id = f"{config_entry_entry_id}-{device.index}" + # Use config_entry.entry_id as base for unique_id because no serial number or mac is available + self._attr_unique_id = f"{config_entry_entry_id}-{device.type}-{device.index}" self._attr_device_info = coordinator.platform_device_info(device) if device.type == OTHER: self._attr_device_class = SwitchDeviceClass.OUTLET