mirror of
https://github.com/home-assistant/core.git
synced 2025-07-19 03:07:37 +00:00
Fix switches list for Comelit SmartHome (#102336)
* fix switches list * make entities a single list * fix duplicate ids * move comment to a better position
This commit is contained in:
parent
faa149b71a
commit
3896ed47be
@ -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
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user