code: def find_zone_name(data, zone_id):
      
      if not isinstance(data, BeautifulSoup):
          raise TypeError("Function requires BeautilSoup HTML element.")
  
      table = data.find('table', {'class': 'zone_table'})
      table_body = table.find('tbody')
      rows = table_body.find_all('span', {'class': 'more_info'})
      for row in rows:
          if row.get_text().startswith(str(zone_id)):
              return row.get_text()[4:].strip()
      return None
docs: Find on the HTML document the zone name.
  
      # expected result
      <span class="more_info" \
          title="Zone can be renamed on Setup tab">1 - zone1</span>,
  
      :param data: BeautifulSoup object
      :param zone: zone id
      :return: zone name
      :rtype: string
      :raises TypeError: if data is not a BeautifulSoup object
      :raises IndexError: return None because controller name was not found