async def async_sync_entities(self): """Sync all entities to Alexa.""" to_update = [] to_remove = [] for entity in alexa_entities.async_get_entities(self.hass, self): if self.should_expose(entity.entity_id): to_update.append(entity.entity_id) else: to_remove.append(entity.entity_id) return await self._sync_helper(to_update, to_remove)
async def alexa_list(hass, connection, msg): """List all alexa entities.""" cloud = hass.data[DOMAIN] entities = alexa_entities.async_get_entities(hass, cloud.client.alexa_config) result = [] for entity in entities: result.append( { "entity_id": entity.entity_id, "display_categories": entity.default_display_categories(), "interfaces": [ifc.name() for ifc in entity.interfaces()], } ) connection.send_result(msg["id"], result)
async def async_sync_entities(self): """Sync all entities to Alexa.""" # Remove any pending sync if self._alexa_sync_unsub: self._alexa_sync_unsub() self._alexa_sync_unsub = None to_update = [] to_remove = [] is_enabled = self.enabled for entity in alexa_entities.async_get_entities(self.hass, self): if is_enabled and self.should_expose(entity.entity_id): to_update.append(entity.entity_id) else: to_remove.append(entity.entity_id) return await self._sync_helper(to_update, to_remove)