async def _async_update_data(self):
    'Fetch data from OmniLogic.'
    try:
        data = (await self.api.get_telemetry_data())
    except OmniLogicException as error:
        raise UpdateFailed(f'Error updating from OmniLogic: {error}') from error
    parsed_data = {}

    def get_item_data(item, item_kind, current_id, data):
        'Get data per kind of Omnilogic API item.'
        if isinstance(item, list):
            for single_item in item:
                data = get_item_data(single_item, item_kind, current_id, data)
        if ('systemId' in item):
            system_id = item['systemId']
            current_id = (current_id + (item_kind, system_id))
            data[current_id] = item
        for kind in ALL_ITEM_KINDS:
            if (kind in item):
                data = get_item_data(item[kind], kind, current_id, data)
        return data
    parsed_data = get_item_data(data, 'Backyard', (), parsed_data)
    return parsed_data
Fetch data from OmniLogic.
async def _async_update_data(self):
    
    try:
        data = (await self.api.get_telemetry_data())
    except OmniLogicException as error:
        raise UpdateFailed(f'Error updating from OmniLogic: {error}') from error
    parsed_data = {}

    def get_item_data(item, item_kind, current_id, data):
        'Get data per kind of Omnilogic API item.'
        if isinstance(item, list):
            for single_item in item:
                data = get_item_data(single_item, item_kind, current_id, data)
        if ('systemId' in item):
            system_id = item['systemId']
            current_id = (current_id + (item_kind, system_id))
            data[current_id] = item
        for kind in ALL_ITEM_KINDS:
            if (kind in item):
                data = get_item_data(item[kind], kind, current_id, data)
        return data
    parsed_data = get_item_data(data, 'Backyard', (), parsed_data)
    return parsed_data