Home Assistant Unofficial Reference 2024.12.1
helpers.py
Go to the documentation of this file.
1 """Helper functions for Philips Hue."""
2 
3 from homeassistant.helpers import device_registry as dr, entity_registry as er
4 
5 from ..const import DOMAIN
6 
7 
8 async def remove_devices(bridge, api_ids, current):
9  """Get items that are removed from api."""
10  removed_items = []
11 
12  for item_id in current:
13  if item_id in api_ids:
14  continue
15 
16  # Device is removed from Hue, so we remove it from Home Assistant
17  entity = current[item_id]
18  removed_items.append(item_id)
19  await entity.async_remove(force_remove=True)
20  ent_registry = er.async_get(bridge.hass)
21  if entity.entity_id in ent_registry.entities:
22  ent_registry.async_remove(entity.entity_id)
23  dev_registry = dr.async_get(bridge.hass)
24  device = dev_registry.async_get_device(identifiers={(DOMAIN, entity.device_id)})
25  if device is not None:
26  dev_registry.async_update_device(
27  device.id, remove_config_entry_id=bridge.config_entry.entry_id
28  )
29 
30  for item_id in removed_items:
31  del current[item_id]
def remove_devices(bridge, api_ids, current)
Definition: helpers.py:8